Dokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben)

Hasonló dokumentumok
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Szerző. Természetesen aktualizálandó adatok.

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

DOKUMENTÁCIÓ KÉSZÍTETTE: Naszári László I. évf. levelező Informatika tanári szak 2003.

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Algoritmizálás és adatmodellezés tanítása 2. előadás

Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!

Közismereti informatika 2.zh T-M szakirány

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Rendezések. A föltöltés nemcsak az r-re vonatkozik, hanem az s-re is. Ez használható föl a további rendezések

A feladat címe, rövid emlékeztetje

Az első fájlos program

<... < s n. Írjuk le a megoldási módszert, és adjunk meg egy megjegyzésekkel ellátott Pascal-programot. A bemeneti adatokat helyesnek tekintjük.

6. A Pascal nyelv utasításai

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

Bevezetés az informatikába

Programozás alapjai Free Pascal

Algoritmizálás és adatmodellezés tanítása 1. előadás

2.6. Utasítások használata

0.1. Mi az a standard be- és kimenet? A két mintafeladat leírása

Algoritmizálás, adatmodellezés tanítása 1. előadás

Programozási alapismeretek 3. előadás

ELEMI PROGRAMOZÁSI TÉTELEK

Programtervezés. Dr. Iványi Péter

Algoritmizálás és adatmodellezés 2. előadás

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Megoldott feladatok. Informatika

Programozás alapjai. 8. előadás

1. A feladatról. 2. Az áramkör leírása. Mechatronika, Optika és Gépészeti Informatika Tanszék D528. Léptetőmotor vezérlése

Programozás alapjai. 5. előadás

Neumann János Tehetséggondozó Program Gráfalgoritmusok II.

A rekurzív algoritmusok tanításáról

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Tartalomjegyzék Algoritmusok - pszeudókód

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

INFORMATIKAI ALAPISMERETEK

Algoritmizálás és adatmodellezés tanítása 3. előadás

INFORMATIKAI ALAPISMERETEK

Algoritmizálás, adatmodellezés tanítása 2. előadás

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

Operációs Rendszerek II. labor. 2. alkalom

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

PASzSz. Dr. Kotsis Domokos

14. Mediánok és rendezett minták

Demográfiai modellek (folytatás)

Algoritmusok - pszeudókód... 1

Programozási alapismeretek 11. előadás

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Bevezetés a programozásba. 5. Előadás: Tömbök

Az első tömbös program

Az első program. 1. Első lépés A feladat Specifikáció Algoritmus Kód Második lépés...

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Algoritmizálás, adatmodellezés 1. előadás

hatására hátra lép x egységgel a toll

XIII. Bolyai Konferencia Bodnár József Eötvös József Collegium, ELTE TTK, III. matematikus. A véletlen nyomában

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

AZ ADATSZERKEZETES BEADANDÓ FELADAT ÉRTÉKELÉSI SZEMPONTJAI

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

REKURZIÓK SZÁMÍTÓGÉPES PROGRAMOK SEGÍTSÉGÉVEL

Specifikáció alapú teszttervezési módszerek

Specifikáció alapú teszttervezési módszerek

1. Előadás Matlab lényeges vonásai,

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

NAGYPONTOSSÁGÚ EGÉSZ-ARITMETIKA TARTALOM

Algoritmizálás + kódolás C++ nyelven és Pascalban

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE

Programozás alapjai. 10. előadás

A feladat. A főprogram

PROGRAMOZÁSMÓDSZERTAN

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

Smalltalk 2. Készítette: Szabó Éva

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Programozási alapismeretek 2009/2010

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

PFW Programing Fundamentals Wizard

1. feladat: A decimális kódokat az ASCII kódtábla alapján kódold vissza karakterekké és megkapod a megoldást! Kitől van az idézet?

Eljárások, függvények

Informatika 7. munkafüzet megoldásai

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r

Egyszerű programozási tételek

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

FELADATGYÜJTEMÉNY. 9.évfolyam...

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

Delphi programozás III.

SZÁMÍTÓGÉPI GRAFIKA MARKEREK

Bevezetés a programozásba I 8. gyakorlat. C++: szövegfolyamok, intelligens tömbök

Komputeralgebra rendszerek

Feltételezés: A file strukturálisan helyes, tanszékenként nem üres, de az adott listázási feladatban kikötött számút nem haladja meg.

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Felvételi tematika INFORMATIKA

Programozás alapjai. 7. előadás

Átírás:

Dokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben) Felhasználói dokumentáció Feladat: Adjuk meg két N elemű vektor skalárszorzatát! Skalárszorzat : X, Y : N i 1 x i * y i Környezet: IBM PC, legalább MS DOS 5.0 operációs rendszer. Használat: A program indítása: A program SKALAR.EXE néven található az A:\SKALAR\ könyvtárban, a neve leírásával indítható. Ha az input a be.txt fájlban, van akkor indítása: SKALAR.EXE be.txt A program bemenete: Ha az input fájlban van, akkor az adatokat külön-külön sorban keresi a program. Mivel a fájlos és a klaviatúra-input könnyen megfeleltethető egymásnak, ezért ez esetben nem részletezzük a fájlos esetet. A program első paramétere az vektorok elemszáma, majd egyesével az első vektor elemei következnek, utána a második vektoré. Egy lehetséges párbeszéd (vastagon és dőlten szedtük a felhasználó válaszait): Hány eleműek a vektorok (maximum 100)?3 Kérem egyesével az 1. vektor elemeit! 1. elem: 5 2. elem: 2.5 3. elem: 3 Kérem egyesével a 2. vektor elemeit! 1. elem: 1 2. elem: 4 3. elem: 3 A program eredménye: A program visszaírja az általunk beírt két vektor elemeit, majd megadja a skalárszorzatukat.

Egy lehetséges kimenet: 1. vektor: 5.0, 2.5, 3.0 2. vektor: 1.0, 4.0, 3.0 Skalárszorzat: 24.0 Hibalehetőségek: Nyomj meg egy billentyűt! A vektorok elemszáma nem lehet több 100-nál. Ha a felhasználó ennél többet, vagy 0-nál kevesebbet ad meg, akkor a program az elemszámot újra kérdezi. Egy lehetséges párbeszéd: Hány eleműek a vektorok (maximum 100)?123 Hány eleműek a vektorok (maximum 100)?-5 Hány eleműek a vektorok (maximum 100)?4 Kérem egyesével az 1. vektor elemeit! 1. elem: Mivel a fájlos input esetén nincs lehetőség újrakérdezésre, a program feltételezi, hogy ekkor az adatok helyesek formailag és tartalmilag is. 2

Fejlesztői dokumentáció Feladat: Adjuk meg két N elemű vektor skalárszorzatát! Specifikáció: Bemenet: N N [a két vektor elemszáma, maximális értéke 100] X,Y R * [tetszőleges valós számokat tartalmazó vektorok] Kimenet: XY R [a két vektor skalárszorzata] Előfeltétel: N=Hossz(X)=Hossz(Y) [fölvethető kérdés: értelmes-e N=0 esetén] Utófeltétel: XY=<X,Y> (Fogalom)definíció: N X, Y : i 1 x i * y i Környezet: IBM PC, legalább MS DOS 5.0 operációs rendszer, Free Pascal (Geany) fejlesztői környezet, Crt unit. 1 Forráskód: A program SKALAR.PAS néven található a A:\FORRAS nevű könyvtárban. (A biztonsági másolat helye: A:\MASOLAT) Megoldás: Fontos típusok, változók: Konstans MaxN:Egész(100) a megoldásban használt vektorok maximásli mérete Típus Vektor=Tömb(1..MaxN: Valós) a megoldásban használt vektorok típusa Változó N:Egész X,Y:Vektor XY:Valós Algoritmus: (A bemeneten és a kimeneten kívül nincs fontos változó a megoldásban.) Program SkalárisSzorzat: Adatbeolvasás(N,X,Y) SkalárSzorzat(N,X,Y,XY) EredményKiírás(N,X,Y,XY) Program vége. 1 esetleg Turbo Pascal 5.5. vagy későbbi verzió 3

Eljárás AdaBeolvasás(Változó N:Egész, X,Y:Vektor): Be: N [N>0 és N MaxN] Be: X Be: Y Eljárás SkalárSzorzat(Konstans N:Egész, X,Y:Vektor, Változó XY:Valós): Változó i: Egész XY:=0 Ciklus i=1-től N-ig XY:=XY+X(i)*Y(i) Ciklus vége Pascal kód: Eljárás EredményKiírás(Konstans N:Egész, X,Y:Vektor, XY:Valós): Ki: X,Y Ki: XY Program SkalarSzorzas; {A program készítője: X Y csoportja: Y} Uses Crt; Const MaxN=100; {A tömb maximális mérete} Type Vektor=Array [1..MaxN] of Real; Var N: Integer; {a vektorok tényleges mérete} X,Y: Vektor; {a vektorok} XY: Real; {a skáláris szorzat} Procedure AdatBeolvasas(Var N: Integer; Var X,Y: Vektor); ClrScr; Writeln('':46 {középreigazítás}); Writeln; Repeat {$i-} Write('Hány eleműek a vektorok (maximum ',MaxN, ')?'); Readln(N); {$i+} Until (IOResult=0) and (N in [1..MaxN]); Writeln; Writeln('Kérem egyesével az 1. vektor elemeit!'); Writeln; For i:=1 to N do Write(i:5,'. elem:'); Readln(X[i]); End; Writeln; Writeln('Kérem egyesével a 2. vektor elemeit!'); Writeln; For i:=1 to N do Write(i:5,'. elem:'); Readln(Y[i]); End; End; {AdatBeolvasás} Procedure SkalarSzorzat(N: Integer; X,Y: Vektor; Var XY: Real); XY:=0; For i:=1 to N do XY:=XY+X[i]*Y[i] End; {SkalárSzorzat} 4

Procedure EredmenyKiiras(N: Integer; X,Y: Vektor; XY: Real); ClrScr; Writeln('':46 {középreigazítás}); Write('1. vektor:'); For i:=1 to N do Write(X[i]:4:1); Writeln; writeln; Write('2. vektor:'); For i:=1 to N do Write(Y[i]:4:1); Writeln; writeln; Writeln; Writeln('Skalárszorzat:', XY:4:1); GotoXY(24,20); Write('Nyomj meg egy billentyűt!'); End; {EredményMegjelenítés} AdatBeolvasas(N,X,Y); SkalarSzorzat(N,X,Y,XY); EredmenyKiiras(N,X,Y,XY); End. Tesztelés: Érvényes tesztesetek: N=0 XY=0 N=1, X=(1), Y=(1) N=1, X=(4), Y=(2.5) N=4, X=(1,2,3,4), Y=(1,2,3,4) N=100, X=(1,2,...,100), Y=(1,1,...,1) Érvénytelen tesztesetek: N= 1 XY=1 XY=10 XY=30 XY=1275 nincs N=101 nincs Hatékonysági tesztesetek: {Egyelőre nincsenek.} Fejlesztési lehetőségek: A vektorok elemei nagyobb pontosságú valós számokra kicserélhetők. Készítő(k): A programozás módszertan tárgy oktató(i). EHA-kód(ok) 5