Összetett adattípusok

Slides:



Advertisements
Hasonló előadás
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Advertisements

Elemi algoritmusok Páll Boglárka.
 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é:
Készítette: Szinai Adrienn
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Matematika II. 3. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Cells(sor száma, oszlop száma)
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Programozás alapjai.
Sztringek.
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:
Borland C/C++ mintapéldák mutatókra
Készítette: Pető László
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
Microsoft Excel Függvények VII..
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:
Programozás C# -ban Ciklusok.
C nyelv utasításai.
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,
Összetett adattípusok
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
Programozási nyelvek Páll Boglárka.
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Összetett adattípusok a Pascal nyelvben
A négyzetes mátrixok (nxn-es kétdimenziós tömbök)
A Pascal programozási nyelv alapjai
Ismétlés A pascal program szerkezete: program programnev; Programfej
Egydimenziós tömbök (Vektorok)
Ciklusok: 1. Számlálós ciklus
A REKORD TIPUS Páll Boglárka. Ismétlés: Feladat Készítsünk kimutatást a XI.B osztály tanulóiról. Minden tanuló esetén a következő adatokat tartjuk nyilván:
Ciklusok: 2. Előltesztelő ciklus
Félévi típus feladatok
A Pascal programozási nyelv alapjai
Félévin szereplő tipusfeladatok
Elemi algoritmusok Páll Boglárka.
Listák, Vermek és Várakozási Sorok. Listák Pl: Kirándulók listája Bevásárló lista Alma Kenyér Krumpli Szappan Mosópor Bevásárló lista.
Tömbök és programozási tételek
Programozási nyelvek, Pascal
Rendezések és szövegkezelő függvények
Fájlkezelés Pascalban
Adattípusok és deklarációk
Ciklusok (iterációk).
Kétdimenziós tömbök Mátrixok
Operátorok Értékadások
GRÁFELMÉLET.
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Objektum orientált programozás
Objektum orientált programozás
Programozás I. Típus algoritmusok
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)
Bellmann-Ford Algoritmus
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,
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.
Objektum orientált programozás
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.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Kommunikáció és szinkronizáció. 1.) Kommunikáció: Lehetőség arra, hogy egyik folyamat befolyásolja a másik folyamat lefutását. Kommunikáció eszközei: közös.
Programtervezés, programozás I. 2.5 tömbök,stringek
Informatikai gyakorlatok 11. évfolyam
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Nevezetes algoritmusok
Informatikai gyakorlatok 11. évfolyam
Előadás másolata:

Összetett adattípusok Tömb

Tömb típus A tömb meghatározott számú, azonos típusú elemekből álló összetett típus. Deklarálása: var azonosító : array [kezdőindex .. végindex] of típus; tömb mérete tömb elemeinek típusa Pl.: var x: array[1..10] of integer; {10 elemből álló integer típusú tömb} x[1], x[2],… x[10] - tömb elemeire való hivatkozás x[1] := 3,67; - tömb egy elemének való értékadása Azt a tömböt, ahol csak egy dimenzióban deklaráljuk a tömb elemeit, akkor vektornak nevezzük.

array [Indextípus] of Elemtípus; Szabályok: A tömbnek rögzített számú eleme van Az elemek típusai megegyeznek Indextípus csak sorszámozott típus lehet Indextípus minden értékére létezik egy jól meghatározott tömbelem Az elemek számát a tömbben Indextípus számossága határozza meg Index egy Indextípusú kifejezés Az elemek bármelyike közvetlenül elérhető az indexre való hivatkozással

Műveletek vektorokkal: 1. Vektor deklarálása: Var v:array[1..25] of integer; i,n: integer; vagy type vekt=array[1..25] of integer; var i, n:integer; v:vekt; 2.Vektor elemeinek elemzése, feldolgozása: ciklus segítségével végigmegyünk a vektoron -for ciklussal: for i:=1 to n do <v[i] feldolgozása> -while ciklussal: i:=1; while i<=n do begin i:=i+1; end;

-repeat ciklussal: i:=1; repeat <v[i] feldolgozása> i:=i+1; until i>n; 3. Vektor elemeinek beolvasása: -for ciklussal: write(‘n=’); readln(n); for i:=1 to n do begin write(‘ v[‘ ,i, ’]= ’); readln(v[i]); end;

-while cilkussal: write(‘n=’); readln(n); i:=1; while i<=n do begin write (‘ v[‘ ,i, ’]= ’); readln (v[i]); i:=i+1; end; -repeat cilkussal: repeat readln (v[i]); i:=i+1; until i>n;

4. Vektor elemeinek kiíratása: -for ciklussal: for i:=1 to n do write(v[i]:4); -while ciklussal: i:=1; while i<=n do begin i:=i+1; end; -repeat ciklussal: repeat until i>n;

Típusfeladatok vektorokkal: 1. Olvassunk be egy vektort, majd írassuk ki fordított sorrendben a beolvasott elemeket, tehát először kiírassuk az x[n]- dik, majd az x[n-1]-dik elemet és végül legutoljára az x[1]. Ez nem azt jelenti hogy a vektort megfordítottuk, csak azt hogy fordítva írattuk ki az elemeket. (forditottvektor.pas) 2. Határozzuk meg a vektor legkisebb elemét! (min.pas) 3. Határozzátok meg a vektor legnagyobb elemét! (max.pas) 4. Határozzátok meg párhuzamosan egy vektor legnagyobb és legkisebb értékét ! 5. Határozzátok meg egy vektor eleminek összegét! 6. Számoljátok meg egy vektor pozitív és negatív elemeit! (pozitiv&negativ) 7. Írassátok ki egy vektor páros elemeit. (paros.pas)

Gyakran előforduló problémák tömbök esetében: 1.Adott két azonos típusú tömb x és y. Cseréljétek fel a két tömb elemeit egymással. y[1]:=x[n] y[2]:=x[n-1] következtetés: a tömb indexeinek összege …. mindig n+1, ezért felírható: y[n]:=x[1] y[i]:=x[n+1-i] for i:=1 to n do y[i]:=x[n+1-i] feladat: Cseréljétek fel két tömb elemeit.

2. Vektor elemeinek felcserélése önmagában: Adott egy x vektor. Felszeretnénk cserélni a vektor elemeit ugyanabban a vektorban. megoldás: -ezt csakis úgy lehet megvalósítani, hogy egy segédváltozó segítségével a tömb közepéig minden elemet felcserélünk egymással, az elsőt az utolsóval és így tovább. -ha a teljes sorozatot vennénk, akkor a közepétől megint minden elem visszacserélődik: pl. legyen egy 6 elemű tömb v: v1 v2 v3 v4 v5 v6 1.lépés: 5 8 9 7 3 1 2.lépés: 1 8 9 7 3 5 3.lépés: 1 3 9 7 8 5 4.lépés: 1 3 7 9 8 5 5.lépés: 1 3 9 7 8 5 5 8 9 7 3 1

Tehát: for i:=1 to n div 2 do begin seged:=x[i]; x[i]:=x[n+1-i]; x[n+1-i]:=seged; end; feladat: Cseréljétek fel egy vektor elemeit.

3. Egy adott tulajdonságú elem keresése a vektorban: Legyen x egy vektor és egy adott tulajdonságú elem, amit keresünk a vektorban. megoldás: be kell vezessünk egy logikai változót, melynek kezdeti értéke hamis(false, 0). Ez a logikai változó keres rá az adott tulajdonságú elemre, illetve visszajelez hogy van-e ilyen elem vagy nincs. talalt:=false; i:=1; while (i<=n) and (not talalt) do if x[i]=y then talalt:=true else i:=i+1; Feladat: 1.Nézzük meg, hogy van-e a vektorban negatív szám 2. Keressétek ki egy vektorból a prímszámokat.

Feladatok: 1. Adottak egy osztály tanulói. Kérjétek be mindenik tanuló osztályzatát és adjátok majd meg az osztály átlagát. (ATLAG_1) 2. Írjatok egy programot mely kiírja hogy egy ismert osztályzat milyen minősítésnek felel meg. (OSZT_1) 3. Ismerjük a tanulók számát és a tantárgyak számát, akkor adjuk meg külön külön mindenik tanuló átlagát (ATLAG_2) 4. Ismervén egy személy fizetését, adjátok meg a bankjegyek számát (CIMLETEZ) 5. Írjatok egy Programot mely megszámolja hogy egy mátrixban hány a pozitív, hány a negatív és hány nulla van (Pozineg) 6. Írjatok egy programot, mely véletlenszerűen megadja egy lottóhúzás nyerőszámait. (Lotto5) 7. Számoljátok meg hány páros, páratlan és hány 3-mal osztható szám van egy vektorban! (ciklus7) 8. Adjuk meg egy osztály tanulóinak névsorát és az általuk megtakarított pénzt fejenként. Összegezzétek a tanulók által megtakarított pénzt, készítsetek kimutatást. (ciklus51)