Tömbök és programozási tételek

Slides:



Advertisements
Hasonló előadás
Algoritmusok.
Advertisements

Megszámlálás Elemi algoritmusok.
Kiválasztás (N,A,sorszam) i := 1 Ciklus amíg (A(i) nem T) i := i+1 Ciklus vége sorszam := i Eljárás vége Kiválasztás.
 Megfigyelhető, hogy amikor több elem közötti összehasonlítás történik, akkor szükség van egyszerre több értékre is, főleg akkor, ha ezek az értékek jóval.
Gyakorló feladatsor eljárásokra Készítette: Rummel Szabolcs Elérhetősé:
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Algoritmusok és adatszerkezetek
BMEEOVKMKM4 Házi feladat megoldás áttekintés
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Programozási alapismeretek 10. előadás
Programozás alapjai.
C A C nyelv utasításai.
Egydimenziós tömbök. Deklarálás: var valtozónév:array[kezdőérték..végsőérték]of típus; type típusnév = array [kezdőérték..végsőérték] of típus; var valtozónév:
Egy feladat megoldásának gondolatmenete. Feladat: Generáljuk véletlen számokat 1 és 6 között, amíg legalább 10 darab egyes és 10 darab hatos nem lesz.
Gombkötő Attila Lineáris egyenlet.
Készítette: Pető László
Nat Pedellus Informatika 8. osztály óra.
ELTE Szlávi-Zsakó: Programozási alapismeretek 10.1/ Összegzés mátrixra Feladat: Egy mátrix elemeinek összege.
Programozás I. Ciklusok
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Alapszint 2.  Készíts makrót, ami a kijelölt cellákat egybenyitja, a tartalmat vízszintesen és függőlegesen középre igazítja és 12 pontos betűméretűre.
Programozási nyelvek Páll Boglárka.
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
A négyzetes mátrixok (nxn-es kétdimenziós tömbök)
Programozási nyelvek Páll Boglárka.
A Pascal programozási nyelv alapjai
Ismétlés A pascal program szerkezete: program programnev; Programfej
Ciklusok: 3. Hátultesztelő ciklus
Egydimenziós tömbök (Vektorok)
Ciklusok: 1. Számlálós ciklus
Ciklusok: 2. Előltesztelő ciklus
A Pascal programozási nyelv alapjai
Programozási nyelvek, Pascal
Rendezések és szövegkezelő függvények
Fájlkezelés Pascalban
Ciklusok (iterációk).
Szintaktikai, szemantikai szabályok
Összetett adattípusok
Kétdimenziós tömbök Mátrixok
Készítette: Csíki Gyula
Adatszerkezetek és algoritmusok
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Nevezetes algoritmusok
Java programozási nyelv Vezérlési szerkezetek
Programozási tételek.
Programozási tételek.
Programozás I. Típus algoritmusok
Algoritmizálás, adatmodellezés tanítása 2. előadás.
Pole (array of...).  Zložený datový typ na ukladanie viacerých premených  Zápis: var meno_pola : array [ konce intervala ] of základný typ ; Základné.
Feladatok (értékadás)
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
Mintapélda Készítsünk programot, amely beolvas egy egész számot, és eldönti arról, hogy prímszám-e. Készítsünk programot, amely beolvas egy egész számot,
Nat Pedellus Free Pascal Elágazások..
Free pascal feladatok
Vnorené cykly.  Pri riešení problémov sa stáva, že použijeme viac cyklov za sebou, alebo jeden cyklus vnorený do druhohého.
Programozási alapismeretek 10. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 10.2/  Kiválogatás + összegzés.
A 2. géptermi beszámoló VBA anyagának összefoglalása
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Adatszerkezetek és algoritmusok 2006/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Excel programozás (makró)
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Nevezetes algoritmusok
Excel programozás (makró)
Tömbök és programozási tételek
Eljaras linearis_kereses(adatok[],n)
Bevezetés a programozásba Algoritmikus gondolkodás
Informatikai gyakorlatok 11. évfolyam
Programozási tételek.
Előadás másolata:

Tömbök és programozási tételek Pascal nyelven

Tömb feltöltése felhasználói bevitellel algoritmus feltölt_1 változó x : tömb[1..n] egész i : egész … ciklus i:= 1..n lépésköz=1 ismétel be: x[i] cvége algoritmus vége program feltolt_1; var x:array[1..n] of integer; i:integer; begin … for i:=1 to n do write(' Kérem a tömbelemet: '); readln(x[i]); end; end.

Tömb feltöltése értékadással algoritmus feltölt_2 változó x : tömb[1..n] egész i : egész … ciklus i:= 1..n lépésköz=1 ismétel x[i]:=érték cvége algoritmus vége program feltolt_2; var x:array[1..n] of integer; i:integer; begin … for i:=1 to n do x[i]:=érték; end.

Tömbfeltöltés értékadással Értékadás esetében általában véletlen számokat használunk. Véletlen számok készítéséhez a program elején a randomize; utasítást kell kiadni Az értékadás a következőképpen történik: x[i]:=random(max-min)+min; A max és a min értékek az adott intervallum legkisebb és legnagyobb elemei

Tömb kiíratása algoritmus kiír változó x : tömb[1..n] egész i : egész … ciklus i:= 1..n lépésköz=1 ismétel ki: x[i] cvége algoritmus vége program kiir; var x:array[1..n] of integer; i:integer; begin … for i:=1 to n do write(x[i],' '); end. szóközzel elválasztva

Összegzés tétele algoritmus összegzés var i, össz: egész x: tömb [1..n] egész … össz:=0 ciklus i:=1..n lépésköz=1 ismétel össz:=össz + x[i] cvége ki: össz algoritmus vége program osszegzes; var x:array[1..n] of integer; i,ossz:integer; begin … ossz:=0; for i:=1 to n do ossz:=ossz+x[i]; writeln('Az összeg: ‘,ossz); end.

Összegzés tétele Amennyiben az összegzés tételét átlag számításához használjuk, akkor további két dolgot kell beírni: a változók közé (var) fel kell venni az átlag nevű változót, ami valós típusú (var atlag:real;) a kiíratás előtt ki kell számolni az átlagot: atlag:=ossz/n;

Megszámlálás tétele algoritmus megszámlálás változó i, db : egész x : tömb [1..n] egész … db := 0 ciklus i:=1..n lépésköz=1 ismétel ha (x[i] T tulajdonságú) akkor db:= db+1 hvége cvége ki:db …. algoritmus vége program megszamlal; var x:array[1..n] of integer; i,db:integer; begin … db:=0; for i:=1 to n do if (x[i] T tul.) then db:=db+1; writeln('A T tulajdonságú elemek száma: ‘,db); end.

Kiválogatás tétele program kivalogat; algoritmus kiválogat var x,x2:array[1..n] of integer; i,db:integer; begin … db:=0; for i:=1 to n do if (x[i] T tul.) then db:=db+1; x2[db]:=x[i]; end; end. algoritmus kiválogat változó i, db :egész X, X2 : tömb [1..n] egész … db:=0 ciklus i=1-től n-ig lépésköz 1 ismétel Ha (X[i] T tulajdonságú) akkor db:=db+1 X2[db]:=X[i] hvége cvége algoritmus vége

Kiválasztás tétele Az elöltesztelő ciklus feltételébe a feladatban megadott T tulajdonság ellenkezőjét kell beírni Pl.: ha a tömbben az 1-eseket keressük, akkor a feltétel ennek ellenkezője (nem egyenlő) lesz: x[i]<>1 A kisebb ellenkezője: nagyobb és egyenlő A nagyobb ellenkezője: kisebb és egyenlő

Kiválasztás tétele algoritmus kiválasztás változó i: egész változó x:tömb[1..n] egész … i:=1 amíg (x[i] nem T tulajdonságú) ismétel i:=i+1 avége ki: i algoritmus vége program kivalaszt; var x:array[1..n] of integer; i:integer; begin … i:=1; while (x[i] NEM T tul.) do i:=i+1; writeln(' Az első T tulajdonságú elem helye: ',i); end. A tétel használatának előfeltétele, hogy biztosan tudjuk, hogy van olyan elem a tömbben, amilyet keresünk (T tulajdonságú)

Eldöntés tétele algoritmus eldöntés változó i: egész VAN: logikai x: tömb [1..n] : egész … i:=1 amíg (i<=n) ÉS (x[i] nem T tulajdonságú) ismétel i:=i+1 avége VAN:=(i <= n) ha VAN akkor ki: "Létezik a keresett elem " különben ki: "Nincs a keresett elem a tömbben" hvége algoritmus vége program eldont; var x:array[1..n] of integer; i:integer; van:boolean; begin … i:=1; while (i<=n) and (x[i] NEM T tul.) do i:=i+1; van:=(i<=n); if van then writeln('Létezik a keresett elem') else writeln('Nincs a keresett elem a tömbben') end.

Lineáris keresés tétele algoritmus linker változó i: egész VAN: logikai x: tömb [1..n] : egész … i:=1 amíg (i<=n) ÉS (x[i] nem T tulajdonságú) ismétel i:=i+1 avége VAN:=(i <= n) ha VAN akkor ki: i különben ki: "Nincs a keresett elem a tömbben" hvége algoritmus vége program linker; var x:array[1..n] of integer; i:integer; van:boolean; begin … i:=1; while (i<=n) and (x[i] NEM T tul.) do i:=i+1; van:=(i<=n); if van then writeln('Létezik az elem, helye: ',i) else writeln('Nincs a keresett elem a tömbben') end.

Lineáris keresés tétele Amennyiben nem az adott, T tulajdonságú elem helyét, hanem az értékét akarjuk kiíratni, akkor az i nevű változó helyett az x[i] tömbelem értékét kell kiíratni.

Minimumkiválasztás tétele algoritmus minimum változó i, min:egész x: tömb [1..n] : egész … min := 1 ciklus i:=2..n lépésköz 1 ismétel ha x[min] > x[i] akkor min := i hvége cvége ki: min, x[min] algoritmus vége program minimum; var x:array[1..n] of integer; i,min:integer; begin … min:=1; for i:=2 to n do if x[min] > x[i] then min:=i; writeln('A legkisebb elem helye: ',min, ' értéke: ‘,x[min]); end.

Maximumkiválasztás tétele algoritmus maximum változó i, max:egész x: tömb [1..n] : egész … max := 1 ciklus i:=2..n lépésköz 1 ismétel ha x[max] < x[i] akkor max := i hvége cvége ki: max, x[max] algoritmus vége program maximum; var x:array[1..n] of integer; i,max:integer; begin … max:=1; for i:=2 to n do if x[max] < x[i] then max:=i; writeln('A legnagyobb elem helye: ',max, ' értéke: ‘,x[max]); end.