Informatyka 1. Rekordy, przeszukiwanie i sortowanie tablic

Wielkość: px
Rozpocząć pokaz od strony:

Download "Informatyka 1. Rekordy, przeszukiwanie i sortowanie tablic"

Transkrypt

1 Informatyka 1 Wykład VIII Rekordy, przeszukiwanie i sortowanie tablic Robert Muszyński ZPCiR ICT PWr Zagadnienia: rekordy, rekordy jako argumenty procedur i funkcji, operacje na plikach z rekordami, przeszukiwanie tablic: liniowe, binarne, sortowanie tablic: przez wstawianie, drzewiaste, bąbelkowe, szybkie, przez scalanie. Copyright c Robert Muszyński Niniejszy dokument zawiera materiały do wykładu na temat podstaw programowania w językach wysokiego poziomu. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych, prywatnych potrzeb i może być kopiowany wyłącznie w całości, razem ze stroną tytułową. Skład FoilTEX

2 Rekordy, przeszukiwanie i sortowanie tablic 1 Rekordy rek.pole1 rek.pole2 rek.polen Typ1 Typ2 TypN

3 Rekordy, przeszukiwanie i sortowanie tablic 1 Rekordy rek.pole1 rek.pole2 rek.polen Typ1 Typ2 TypN rek.pole prosta zmienna

4 Rekordy, przeszukiwanie i sortowanie tablic 1 Rekordy rek.pole1 rek.pole2 rek.polen Typ1 Typ2 TypN rek.pole prosta zmienna TYPE LiczbyZespolone = RECORD Re, Im : REAL; VAR X1,X2,Suma,Iloczyn: LiczbyZespolone; (***************************************************) Suma.Re := X1.Re + X2.Re; Suma.Im := X1.Im + X2.Im; Iloczyn.Re := X1.Re * X2.Re - X1.Im * X2.Im; Iloczyn.Im := X1.Re * X2.Im + X1.Im * X2.Re;

5 Rekordy, przeszukiwanie i sortowanie tablic 1 Rekordy rek.pole1 rek.pole2 rek.polen Typ1 Typ2 TypN rek.pole prosta zmienna TYPE LiczbyZespolone = RECORD Re, Im : REAL; VAR X1,X2,Suma,Iloczyn: LiczbyZespolone; (***************************************************) Suma.Re := X1.Re + X2.Re; Suma.Im := X1.Im + X2.Im; Iloczyn.Re := X1.Re * X2.Re - X1.Im * X2.Im; Iloczyn.Im := X1.Re * X2.Im + X1.Im * X2.Re;

6 Rekordy, przeszukiwanie i sortowanie tablic 1 Rekordy rek.pole1 rek.pole2 rek.polen Typ1 Typ2 TypN rek.pole prosta zmienna TYPE LiczbyZespolone = RECORD Re, Im : REAL; VAR X1,X2,Suma,Iloczyn: LiczbyZespolone; (***************************************************) Suma.Re := X1.Re + X2.Re; Suma.Im := X1.Im + X2.Im; Iloczyn.Re := X1.Re * X2.Re - X1.Im * X2.Im; Iloczyn.Im := X1.Re * X2.Im + X1.Im * X2.Re;

7 Rekordy, przeszukiwanie i sortowanie tablic 2 Posługiwanie się rekordami każde pole musi być podane jawnie

8 Rekordy, przeszukiwanie i sortowanie tablic 2 Posługiwanie się rekordami każde pole musi być podane jawnie kolejność pól w deklaracji jest nieistotna

9 Rekordy, przeszukiwanie i sortowanie tablic 2 Posługiwanie się rekordami każde pole musi być podane jawnie kolejność pól w deklaracji jest nieistotna możliwe jest podstawianie całych rekordów

10 Rekordy, przeszukiwanie i sortowanie tablic 2 Posługiwanie się rekordami każde pole musi być podane jawnie kolejność pól w deklaracji jest nieistotna możliwe jest podstawianie całych rekordów zmienne rekordowe mogą być argumentami procedur i funkcji (ale nie wartościami funkcji!!!)

11 Rekordy, przeszukiwanie i sortowanie tablic 2 Posługiwanie się rekordami każde pole musi być podane jawnie kolejność pól w deklaracji jest nieistotna możliwe jest podstawianie całych rekordów zmienne rekordowe mogą być argumentami procedur i funkcji (ale nie wartościami funkcji!!!) zgodność typów

12 Rekordy, przeszukiwanie i sortowanie tablic 2 Posługiwanie się rekordami każde pole musi być podane jawnie kolejność pól w deklaracji jest nieistotna możliwe jest podstawianie całych rekordów zmienne rekordowe mogą być argumentami procedur i funkcji (ale nie wartościami funkcji!!!) zgodność typów rekordy z wariantami

13 Rekordy, przeszukiwanie i sortowanie tablic 3 Przykłady użycia rekordów TYPE KlasaOkretu= (Barka, Kuter, Tankowiec, Lodolamacz); KlasaNapedu= (Wiosla, Zagle, Para, Diesel, Atomowy); Data = RECORD Rok, Miesiac : INTEGER; Dzien : INTEGER;

14 Rekordy, przeszukiwanie i sortowanie tablic 3 Przykłady użycia rekordów TYPE KlasaOkretu= (Barka, Kuter, Tankowiec, Lodolamacz); KlasaNapedu= (Wiosla, Zagle, Para, Diesel, Atomowy); Data = RECORD Rok, Miesiac : INTEGER; Dzien : INTEGER; Okret = RECORD Nazwa : String; Zwodowany, Remont, Wyplynal, Oczekiwany : Data; wmorzu,zaloga : INTEGER; Klasa : KlasaOkretu; Tonaz,Dlugosc : INTEGER; Naped : KlasaNapedu;

15 Rekordy, przeszukiwanie i sortowanie tablic 3 Przykłady użycia rekordów TYPE KlasaOkretu= (Barka, Kuter, Tankowiec, Lodolamacz); KlasaNapedu= (Wiosla, Zagle, Para, Diesel, Atomowy); Data = RECORD Rok, Miesiac : INTEGER; Dzien : INTEGER; Okret = RECORD Nazwa : String; Zwodowany, Remont, Wyplynal, Oczekiwany : Data; wmorzu,zaloga : INTEGER; Klasa : KlasaOkretu; Tonaz,Dlugosc : INTEGER; Naped : KlasaNapedu; VAR S1, S2, S3 : Okret;

16 Rekordy, przeszukiwanie i sortowanie tablic 3 Przykłady użycia rekordów TYPE KlasaOkretu= (Barka, Kuter, Tankowiec, Lodolamacz); KlasaNapedu= (Wiosla, Zagle, Para, Diesel, Atomowy); Data = RECORD Rok, Miesiac : INTEGER; Dzien : INTEGER; Okret = RECORD Nazwa : String; Zwodowany, Remont, Wyplynal, Oczekiwany : Data; wmorzu,zaloga : INTEGER; Klasa : KlasaOkretu; Tonaz,Dlugosc : INTEGER; Naped : KlasaNapedu; VAR S1, S2, S3 : Okret; (***************************************************) S1.Nazwa := Moja Zocha ;

17 Rekordy, przeszukiwanie i sortowanie tablic 3 Przykłady użycia rekordów TYPE KlasaOkretu= (Barka, Kuter, Tankowiec, Lodolamacz); KlasaNapedu= (Wiosla, Zagle, Para, Diesel, Atomowy); Data = RECORD Rok, Miesiac : INTEGER; Dzien : INTEGER; Okret = RECORD Nazwa : String; Zwodowany, Remont, Wyplynal, Oczekiwany : Data; wmorzu,zaloga : INTEGER; Klasa : KlasaOkretu; Tonaz,Dlugosc : INTEGER; Naped : KlasaNapedu; VAR S1, S2, S3 : Okret; (***************************************************) S1.Nazwa := Moja Zocha ; S1.Klasa := Kuter; S1.Naped := Diesel;

18 Rekordy, przeszukiwanie i sortowanie tablic 3 Przykłady użycia rekordów TYPE KlasaOkretu= (Barka, Kuter, Tankowiec, Lodolamacz); KlasaNapedu= (Wiosla, Zagle, Para, Diesel, Atomowy); Data = RECORD Rok, Miesiac : INTEGER; Dzien : INTEGER; Okret = RECORD Nazwa : String; Zwodowany, Remont, Wyplynal, Oczekiwany : Data; wmorzu,zaloga : INTEGER; Klasa : KlasaOkretu; Tonaz,Dlugosc : INTEGER; Naped : KlasaNapedu; VAR S1, S2, S3 : Okret; (***************************************************) S1.Nazwa := Moja Zocha ; S1.Klasa := Kuter; S1.Naped := Diesel; S1.Tonaz := 50; S1.Dlugosc := 20; S1.Zaloga := 2;

19 Rekordy, przeszukiwanie i sortowanie tablic 3 Przykłady użycia rekordów TYPE KlasaOkretu= (Barka, Kuter, Tankowiec, Lodolamacz); KlasaNapedu= (Wiosla, Zagle, Para, Diesel, Atomowy); Data = RECORD Rok, Miesiac : INTEGER; Dzien : INTEGER; Okret = RECORD Nazwa : String; Zwodowany, Remont, Wyplynal, Oczekiwany : Data; wmorzu,zaloga : INTEGER; Klasa : KlasaOkretu; Tonaz,Dlugosc : INTEGER; Naped : KlasaNapedu; VAR S1, S2, S3 : Okret; (***************************************************) S1.Nazwa := Moja Zocha ; S1.Klasa := Kuter; S1.Naped := Diesel; S1.Tonaz := 50; S1.Dlugosc := 20; S1.Zaloga := 2; S1.Zwodowany.Rok := 1962; S1.Zwodowany.Miesiac := 4; S1.Zwodowany.Dzien := 1;

20 Rekordy, przeszukiwanie i sortowanie tablic 3 Przykłady użycia rekordów TYPE KlasaOkretu= (Barka, Kuter, Tankowiec, Lodolamacz); KlasaNapedu= (Wiosla, Zagle, Para, Diesel, Atomowy); Data = RECORD Rok, Miesiac : INTEGER; Dzien : INTEGER; Okret = RECORD Nazwa : String; Zwodowany, Remont, Wyplynal, Oczekiwany : Data; wmorzu,zaloga : INTEGER; Klasa : KlasaOkretu; Tonaz,Dlugosc : INTEGER; Naped : KlasaNapedu; VAR S1, S2, S3 : Okret; (***************************************************) S1.Nazwa := Moja Zocha ; S1.Klasa := Kuter; S1.Naped := Diesel; S1.Tonaz := 50; S1.Dlugosc := 20; S1.Zaloga := 2; S1.Zwodowany.Rok := 1962; S1.Zwodowany.Miesiac := 4; S1.Zwodowany.Dzien := 1; S1.Wyplynal := S1.Zwodowany;

21 Rekordy, przeszukiwanie i sortowanie tablic 3 Przykłady użycia rekordów TYPE KlasaOkretu= (Barka, Kuter, Tankowiec, Lodolamacz); KlasaNapedu= (Wiosla, Zagle, Para, Diesel, Atomowy); Data = RECORD Rok, Miesiac : INTEGER; Dzien : INTEGER; Okret = RECORD Nazwa : String; Zwodowany, Remont, Wyplynal, Oczekiwany : Data; wmorzu,zaloga : INTEGER; Klasa : KlasaOkretu; Tonaz,Dlugosc : INTEGER; Naped : KlasaNapedu; VAR S1, S2, S3 : Okret; (***************************************************) S1.Nazwa := Moja Zocha ; S1.Klasa := Kuter; S1.Naped := Diesel; S1.Tonaz := 50; S1.Dlugosc := 20; S1.Zaloga := 2; S1.Zwodowany.Rok := 1962; S1.Zwodowany.Miesiac := 4; S1.Zwodowany.Dzien := 1; S1.Wyplynal := S1.Zwodowany; S2 := S1;

22 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER;

23 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER;

24 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER; Osoba = RECORD Imie, Nazwisko, MiejsceUrodzenia : Napis; DataUrodzenia : Data; LiczbaDzieci : INTEGER; ImionaDzieci : ARRAY [1..20] OF Napis; Wyksztalcenie : (brak, podstawowe, srednie, wyzsze);

25 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER; Osoba = RECORD Imie, Nazwisko, MiejsceUrodzenia : Napis; DataUrodzenia : Data; LiczbaDzieci : INTEGER; ImionaDzieci : ARRAY [1..20] OF Napis; Wyksztalcenie : (brak, podstawowe, srednie, wyzsze); VAR StaryZawislak : Osoba; Kartoteka : ARRAY [ ] OF Osoba;

26 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER; Osoba = RECORD Imie, Nazwisko, MiejsceUrodzenia : Napis; DataUrodzenia : Data; LiczbaDzieci : INTEGER; ImionaDzieci : ARRAY [1..20] OF Napis; Wyksztalcenie : (brak, podstawowe, srednie, wyzsze); VAR StaryZawislak : Osoba; Kartoteka : ARRAY [ ] OF Osoba; (***************************************************) StaryZawislak.Wyksztalcenie := srednie;

27 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER; Osoba = RECORD Imie, Nazwisko, MiejsceUrodzenia : Napis; DataUrodzenia : Data; LiczbaDzieci : INTEGER; ImionaDzieci : ARRAY [1..20] OF Napis; Wyksztalcenie : (brak, podstawowe, srednie, wyzsze); VAR StaryZawislak : Osoba; Kartoteka : ARRAY [ ] OF Osoba; (***************************************************) StaryZawislak.Wyksztalcenie := srednie; StaryZawislak.Imie.Tekst := Pawel ; StaryZawislak.Imie.Dlugosc := 5;

28 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER; Osoba = RECORD Imie, Nazwisko, MiejsceUrodzenia : Napis; DataUrodzenia : Data; LiczbaDzieci : INTEGER; ImionaDzieci : ARRAY [1..20] OF Napis; Wyksztalcenie : (brak, podstawowe, srednie, wyzsze); VAR StaryZawislak : Osoba; Kartoteka : ARRAY [ ] OF Osoba; (***************************************************) StaryZawislak.Wyksztalcenie := srednie; StaryZawislak.Imie.Tekst := Pawel ; StaryZawislak.Imie.Dlugosc := 5; StaryZawislak.Nazwisko.Tekst := Zawislak ; StaryZawislak.Nazwisko.Dlugosc := Dlugosc(StaryZawislak.Nazwisko.Tekst);

29 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER; Osoba = RECORD Imie, Nazwisko, MiejsceUrodzenia : Napis; DataUrodzenia : Data; LiczbaDzieci : INTEGER; ImionaDzieci : ARRAY [1..20] OF Napis; Wyksztalcenie : (brak, podstawowe, srednie, wyzsze); VAR StaryZawislak : Osoba; Kartoteka : ARRAY [ ] OF Osoba; (***************************************************) StaryZawislak.Wyksztalcenie := srednie; StaryZawislak.Imie.Tekst := Pawel ; StaryZawislak.Imie.Dlugosc := 5; StaryZawislak.Nazwisko.Tekst := Zawislak ; StaryZawislak.Nazwisko.Dlugosc := Dlugosc(StaryZawislak.Nazwisko.Tekst); StaryZawislak.ImionaDzieci[1].Tekst := Balbina ; {...}

30 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER; Osoba = RECORD Imie, Nazwisko, MiejsceUrodzenia : Napis; DataUrodzenia : Data; LiczbaDzieci : INTEGER; ImionaDzieci : ARRAY [1..20] OF Napis; Wyksztalcenie : (brak, podstawowe, srednie, wyzsze); VAR StaryZawislak : Osoba; Kartoteka : ARRAY [ ] OF Osoba; (***************************************************) StaryZawislak.Wyksztalcenie := srednie; StaryZawislak.Imie.Tekst := Pawel ; StaryZawislak.Imie.Dlugosc := 5; StaryZawislak.Nazwisko.Tekst := Zawislak ; StaryZawislak.Nazwisko.Dlugosc := Dlugosc(StaryZawislak.Nazwisko.Tekst); StaryZawislak.ImionaDzieci[1].Tekst := Balbina ; {...} Kartoteka[1].Nazwisko.Tekst := Nowak ;

31 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER; Osoba = RECORD Imie, Nazwisko, MiejsceUrodzenia : Napis; DataUrodzenia : Data; LiczbaDzieci : INTEGER; ImionaDzieci : ARRAY [1..20] OF Napis; Wyksztalcenie : (brak, podstawowe, srednie, wyzsze); VAR StaryZawislak : Osoba; Kartoteka : ARRAY [ ] OF Osoba; (***************************************************) StaryZawislak.Wyksztalcenie := srednie; StaryZawislak.Imie.Tekst := Pawel ; StaryZawislak.Imie.Dlugosc := 5; StaryZawislak.Nazwisko.Tekst := Zawislak ; StaryZawislak.Nazwisko.Dlugosc := Dlugosc(StaryZawislak.Nazwisko.Tekst); StaryZawislak.ImionaDzieci[1].Tekst := Balbina ; {...} Kartoteka[1].Nazwisko.Tekst := Nowak ; Kartoteka[7] := StaryZawislak;

32 Rekordy, przeszukiwanie i sortowanie tablic 4 TYPE Napis = RECORD Tekst : String; Dlugosc : INTEGER; Data = RECORD Rok, Miesiac, Dzien : INTEGER; Osoba = RECORD Imie, Nazwisko, MiejsceUrodzenia : Napis; DataUrodzenia : Data; LiczbaDzieci : INTEGER; ImionaDzieci : ARRAY [1..20] OF Napis; Wyksztalcenie : (brak, podstawowe, srednie, wyzsze); VAR StaryZawislak : Osoba; Kartoteka : ARRAY [ ] OF Osoba; (***************************************************) StaryZawislak.Wyksztalcenie := srednie; StaryZawislak.Imie.Tekst := Pawel ; StaryZawislak.Imie.Dlugosc := 5; StaryZawislak.Nazwisko.Tekst := Zawislak ; StaryZawislak.Nazwisko.Dlugosc := Dlugosc(StaryZawislak.Nazwisko.Tekst); StaryZawislak.ImionaDzieci[1].Tekst := Balbina ; {...} Kartoteka[1].Nazwisko.Tekst := Nowak ; Kartoteka[7] := StaryZawislak; Kartoteka[1].DataUrodzenia := Kartoteka[7].DataUrodzenia;

33 Rekordy, przeszukiwanie i sortowanie tablic 5 FUNCTION RoznicaDat(d1, d2: Data): INTEGER; (* Funkcja oblicza PRZYBLIZONA ilosc dni miedzy datami *) (* d1 a d2 w dniach. Jesli d1>d2 to wynik jest ujemny *) BEGIN RoznicaDat := (d2.rok - d1.rok) * (d2.miesiac - d1.miesiac) * 30 + (d2.dzien - d1.dzien) (* RoznicaDat *)

34 Rekordy, przeszukiwanie i sortowanie tablic 5 FUNCTION RoznicaDat(d1, d2: Data): INTEGER; (* Funkcja oblicza PRZYBLIZONA ilosc dni miedzy datami *) (* d1 a d2 w dniach. Jesli d1>d2 to wynik jest ujemny *) BEGIN RoznicaDat := (d2.rok - d1.rok) * (d2.miesiac - d1.miesiac) * 30 + (d2.dzien - d1.dzien) (* RoznicaDat *) PROCEDURE PobierzDate(VAR d: Data; s: String); (* Procedura pyta uzytkownika o date wyswietlajac poda-*) (* ne pytanie; wymusza legalna date w latach *) BEGIN WRITELN( Prosze podac date,s); WITH d DO REPEAT WRITELN( Rok: ); READLN(Rok); UNTIL (Rok >= 1900) AND (Rok <= 2030); WITH d DO REPEAT WRITELN( Miesiac: ); READLN(Miesiac); UNTIL (Miesiac >= 1) AND (Miesiac <= 12); WITH d DO REPEAT WRITELN( Dzien: ); READLN(d.Dzien); UNTIL (Dzien >= 1) AND (Dzien <= 31); {PobierzDate}

35 Rekordy, przeszukiwanie i sortowanie tablic 6 WITH S1 DO BEGIN PobierzDate(Zwodowany, zwodowania okretu ); PobierzDate(OstatniRemont, ostatniego remontu ); PobierzDate(Wyplynal, wyplyniecia z portu ); PobierzDate(Oczekiwany, oczekiwanego powrotu ); wmorzu := RoznicaDat(Wyplynal,Dzis);

36 Rekordy, przeszukiwanie i sortowanie tablic 7 Wczytywanie rekordów z pliku PROGRAM rodzina (INPUT,OUTPUT,Dane); CONST Max_Osob = 200; TYPE Osoba = RECORD ImieiNazwisko : String30; PESEL : INTEGER; DataUrodzenia : Data; {...} TabOsob = ARRAY [1..Max_Osob] OF Osoba; VAR NOsoby : INTEGER; Rodzina : TabOsob; Dane : FILE OF Osoba; (***************************************************) RESET(Dane); {pomijamy kwestie nazwy pliku} NOsoby := 0; WHILE (NOT EOF(Dane)) AND (NOsoby < Max_Osob) DO BEGIN NOsoby := NOsoby + 1; READ(Dane,Rodzina[NOsoby]); {WRITE(...) przy REWRITE} {...} END.

37 Rekordy, przeszukiwanie i sortowanie tablic 7 Wczytywanie rekordów z pliku PROGRAM rodzina (INPUT,OUTPUT,Dane); CONST Max_Osob = 200; TYPE Osoba = RECORD ImieiNazwisko : String30; PESEL : INTEGER; DataUrodzenia : Data; {...} TabOsob = ARRAY [1..Max_Osob] OF Osoba; VAR NOsoby : INTEGER; Rodzina : TabOsob; Dane : FILE OF Osoba; (***************************************************) RESET(Dane); {pomijamy kwestie nazwy pliku} NOsoby := 0; WHILE (NOT EOF(Dane)) AND (NOsoby < Max_Osob) DO BEGIN NOsoby := NOsoby + 1; READ(Dane,Rodzina[NOsoby]); {WRITE(...) przy REWRITE} {...} END.

38 Rekordy, przeszukiwanie i sortowanie tablic 7 Wczytywanie rekordów z pliku PROGRAM rodzina (INPUT,OUTPUT,Dane); CONST Max_Osob = 200; TYPE Osoba = RECORD ImieiNazwisko : String30; PESEL : INTEGER; DataUrodzenia : Data; {...} TabOsob = ARRAY [1..Max_Osob] OF Osoba; VAR NOsoby : INTEGER; Rodzina : TabOsob; Dane : FILE OF Osoba; (***************************************************) RESET(Dane); {pomijamy kwestie nazwy pliku} NOsoby := 0; WHILE (NOT EOF(Dane)) AND (NOsoby < Max_Osob) DO BEGIN NOsoby := NOsoby + 1; READ(Dane,Rodzina[NOsoby]); {WRITE(...) przy REWRITE} {...} END.

39 Rekordy, przeszukiwanie i sortowanie tablic 8 Przeszukiwanie tablic liniowe START Poszukiwanie wzorca wœród elementów tablicy jednowymiarowej od elementu min do max Tab[min] = wzorzec lub min = max? Tak STOP Nie min = min + 1

40 Rekordy, przeszukiwanie i sortowanie tablic 8 Przeszukiwanie tablic liniowe START Poszukiwanie wzorca wœród elementów tablicy jednowymiarowej od elementu min do max Tab[min] = wzorzec lub min = max? Tak STOP Nie min = min + 1 binarne START Poszukiwanie wzorca wœród elementów tablicy jednowymiarowej od elementu min do max Srodek = (min + max) div 2 max = Srodek - 1 min = Srodek + 1 Nie Tab[Srodek] = wzorzec lub min=max? Nie Tab[Srodek] < wzorzec? Tak Tak STOP

41 Rekordy, przeszukiwanie i sortowanie tablic 9 Przeszukiwanie liniowe CONST MaxWartosci = 30; TYPE Wartosci = ARRAY[1..MaxWartosci] OF INTEGER; FUNCTION Przeszukaj(tab: Wartosci; Klucz: INTEGER; min,max,domysl:integer):integer; (* Wyszukuje wartosc Klucz w tablicy *) (* pomiedzy indeksami min i max *) (* Zwraca jej index lub domysl gdy nie znaleziona *) VAR znaleziony: BOOLEAN; BEGIN znaleziony := FALSE; WHILE ((NOT znaleziony) AND (min <= max)) DO BEGIN IF Porownanie(tab[min],Klucz) THEN znaleziony := TRUE ELSE min := min + 1 IF znaleziony THEN Przeszukaj := min ELSE Przeszukaj := domysl { Przeszukaj }

42 Rekordy, przeszukiwanie i sortowanie tablic 9 Przeszukiwanie liniowe CONST MaxWartosci = 30; TYPE Wartosci = ARRAY[1..MaxWartosci] OF INTEGER; FUNCTION Przeszukaj(tab: Wartosci; Klucz: INTEGER; min,max,domysl:integer):integer; (* Wyszukuje wartosc Klucz w tablicy *) (* pomiedzy indeksami min i max *) (* Zwraca jej index lub domysl gdy nie znaleziona *) VAR znaleziony: BOOLEAN; Przeszukiwanie binarne (*... POSORTOWANEJ *) BEGIN znaleziony := FALSE; WHILE ((NOT znaleziony) AND (min <= max)) DO BEGIN IF Porownanie(tab[min],Klucz) THEN znaleziony := TRUE ELSE min := min + 1 IF znaleziony THEN Przeszukaj := min ELSE Przeszukaj := domysl { Przeszukaj } srodek := (min + max) div 2; CASE Porownanie(tab[srodek],Klucz) OF 0: znaleziony := TRUE -1: max := srodek - 1 1: min := srodek + 1 END

43 Rekordy, przeszukiwanie i sortowanie tablic 10 przez wstawianie Sortowanie

44 Rekordy, przeszukiwanie i sortowanie tablic 10 przez wstawianie Sortowanie przez proste wstawianie przez wstawianie połówkowe

45 Rekordy, przeszukiwanie i sortowanie tablic 10 przez wstawianie Sortowanie przez proste wstawianie przez wstawianie połówkowe przez wybieranie

46 Rekordy, przeszukiwanie i sortowanie tablic 10 przez wstawianie Sortowanie przez proste wstawianie przez wstawianie połówkowe przez wybieranie drzewiaste

47 Rekordy, przeszukiwanie i sortowanie tablic 10 przez wstawianie Sortowanie przez proste wstawianie przez wstawianie połówkowe przez wybieranie drzewiaste przez zamianę

48 Rekordy, przeszukiwanie i sortowanie tablic 10 przez wstawianie Sortowanie przez proste wstawianie przez wstawianie połówkowe przez wybieranie drzewiaste przez zamianę bąbelkowe

49 Rekordy, przeszukiwanie i sortowanie tablic 10 przez wstawianie Sortowanie przez proste wstawianie przez wstawianie połówkowe przez wybieranie drzewiaste przez zamianę bąbelkowe szybkie

50 Rekordy, przeszukiwanie i sortowanie tablic 10 przez wstawianie Sortowanie przez proste wstawianie przez wstawianie połówkowe przez wybieranie drzewiaste przez zamianę bąbelkowe szybkie przez scalanie

51 Rekordy, przeszukiwanie i sortowanie tablic 11 Sortowanie przez proste wstawianie

52 Rekordy, przeszukiwanie i sortowanie tablic 11 Sortowanie przez proste wstawianie START Sortowanie tablicy przez wstawianie j = 2 temp = Tab[j] i = j - 1 Wstaw Tab[j] w posortowany ci¹g Tab[1..j-1] Tab[i] > temp i i > 0? Nie Tab[i+1] = temp Czy element j-ty jest ostatni? Tak STOP Tak Tab[i+1] = Tab[i] i = i - 1 Nie j = j + 1

53 Rekordy, przeszukiwanie i sortowanie tablic 12 Sortowanie drzewiaste START Sortowanie tablicy drzewiaste Przekszta³æ tablicê w drzewo binarne ObejdŸ drzewo w porz¹dku "najpierw w lewo" i wypisz ka dy element przy okazji drugich jego odwiedzin STOP

54 Rekordy, przeszukiwanie i sortowanie tablic 12 Sortowanie drzewiaste START Przekszta³æ tablicê w drzewo binarne Sortowanie tablicy drzewiaste krok I ObejdŸ drzewo w porz¹dku "najpierw w lewo" i wypisz ka dy element przy okazji drugich jego odwiedzin STOP 3 krok II

55 Rekordy, przeszukiwanie i sortowanie tablic 12 Sortowanie drzewiaste START Przekszta³æ tablicê w drzewo binarne Sortowanie tablicy drzewiaste krok I ObejdŸ drzewo w porz¹dku "najpierw w lewo" i wypisz ka dy element przy okazji drugich jego odwiedzin STOP 3 krok II

56 Rekordy, przeszukiwanie i sortowanie tablic 13 Sortowanie bąbelkowe START Sortowanie tablicy b¹belkowe j = 1 i = Tab[i] > Tab[i+1]? Tak Zamieñ Tab[i] z Tab[i+1] Nie i = i Czy element i-ty jest przedostatni? Tak Nie j < n - 1? Tak j = j + 1 Nie STOP

57 Rekordy, przeszukiwanie i sortowanie tablic 14 Sortowanie bąbelkowe START Sortowanie tablicy b¹belkowe j = 1 i = 1 Tab[i] > Tab[i+1]? Nie i = i + 1 Czy element i-ty jest przedostatni? Tak j < n - 1? Nie Tak Nie Zamieñ Tab[i] z Tab[i+1] Tak j = j + 1 PROCEDURE BubbleSort(VAR Tab : Wartosci; min, max : INTEGER); VAR i, j: INTEGER; BEGIN FOR j := min TO (max - 1) DO FOR i := min TO (max - 1) DO IF Tab[i] > Tab[i+1] THEN Zamien(Tab[i], Tab[i+1]) { BubbleSort } STOP

58 Rekordy, przeszukiwanie i sortowanie tablic 15 Sortowanie szybkie START Sortuj (l, p) i = l j = p x = Tab[(i + j) div 2] Szybkie sortowanie elementów l..p tablicy START Sortuj (1, n) Sortowanie tablicy szybkie Tab[i] < x? Tak i = i + 1 STOP Nie Tab[j] > x? Tak j = j - 1 l p Nie i <= j? Nie l < j? Tak Tak Zamieñ Tab[i] z Tab[j] i = i + 1; j = j - 1 Sortuj (l, j) 5 j i Nie i < p? Tak Sortuj (i, p) Nie STOP

59 Rekordy, przeszukiwanie i sortowanie tablic 16 Sortowanie przez scalanie podzial START Podziel tablicê na dwie czêœci Sortowanie tablicy przez scalanie podzial podzial Posortuj otrzymane tablice u ywaj¹c rekurencyjnie sortowania przez scalanie Po³¹cz postortowane tablice w posortowan¹ tablicê STOP scalenie scalenie rekurencyjne wywo³anie sortowania przez scalanie scalenie

60 Rekordy, przeszukiwanie i sortowanie tablic 17 Rekordy Posługiwanie się rekordami Przykłady użycia rekordów Wczytywanie rekordów z pliku Przeszukiwanie tablic Sortowanie Sortowanie przez proste wstawianie Sortowanie drzewiaste Sortowanie bąbelkowe Sortowanie szybkie Sortowanie przez scalanie Indeks

Informatyka 1. Rekordy, przeszukiwanie i sortowanie tablic

Informatyka 1. Rekordy, przeszukiwanie i sortowanie tablic Informatyka 1 Wykład VIII Rekordy, przeszukiwanie i sortowanie tablic Robert Muszyński ZPCiR ICT PWr Zagadnienia: rekordy, rekordy jako argumenty procedur i funkcji, operacje na plikach z rekordami, przeszukiwanie

Bardziej szczegółowo

Informatyka I. Wyk lad VIII. Rekordy, przeszukiwanie i sortowanie tablic

Informatyka I. Wyk lad VIII. Rekordy, przeszukiwanie i sortowanie tablic Informatyka I Wyk lad VIII Rekordy, przeszukiwanie i sortowanie tablic Zagadnienia: rekordy, rekordy jako argumenty procedur i funkcji, operacje na plikach z rekordami, przeszukiwanie tablic: liniowe,

Bardziej szczegółowo

Informatyka 1. Przetwarzanie tekstów

Informatyka 1. Przetwarzanie tekstów Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie

Bardziej szczegółowo

Informatyka 1. Dokumentacja programu, moduły programowe, typy tablicowe

Informatyka 1. Dokumentacja programu, moduły programowe, typy tablicowe Informatyka 1 Wykład VII Dokumentacja programu, moduły programowe, typy tablicowe Robert Muszyński ZPCiR ICT PWr Zagadnienia: reguły stylu programowania, komentarze marginesowe, blokowe, moduły programowe

Bardziej szczegółowo

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory

Bardziej szczegółowo

Podstawy Programowania. Obsługa błędów, przeszukiwanie i sortowanie tablic

Podstawy Programowania. Obsługa błędów, przeszukiwanie i sortowanie tablic Podstawy Programowania Wykład VIII Obsługa błędów, przeszukiwanie i sortowanie tablic Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: źródła błędów, organizacja obsługi błędów, standardowe funkcje obsługi

Bardziej szczegółowo

Podstawy Programowania. Obsługa błędów, przeszukiwanie i sortowanie tablic

Podstawy Programowania. Obsługa błędów, przeszukiwanie i sortowanie tablic Podstawy Programowania Wykład VIII Obsługa błędów, przeszukiwanie i sortowanie tablic Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: źródła błędów, organizacja obsługi błędów, standardowe

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Wykład VIII Obsługa błędów, przeszukiwanie i sortowanie tablic Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: źródła błędów, organizacja obsługi błędów, standardowe

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Wykład VIII Obsługa błędów, przeszukiwanie i sortowanie tablic Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: źródła błędów, organizacja obsługi błędów, standardowe funkcje obsługi

Bardziej szczegółowo

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu Informatyka 1 Wykład V Procedury i funkcje, struktura programu w Pascalu Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: deklaracje procedury i funkcji, parametry procedur i funkcji, reguły użycia parametrów

Bardziej szczegółowo

Podstawy Programowania. Obsługa błędów, przeszukiwanie i sortowanie tablic

Podstawy Programowania. Obsługa błędów, przeszukiwanie i sortowanie tablic Podstawy Programowania Wykład VIII Obsługa błędów, przeszukiwanie i sortowanie tablic Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: źródła błędów, organizacja obsługi błędów, standardowe funkcje obsługi

Bardziej szczegółowo

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje

Bardziej szczegółowo

Informatyka 1. Złożoność obliczeniowa

Informatyka 1. Złożoność obliczeniowa Informatyka 1 Wykład XI Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia Informatyka 1 Wykład IV Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: instrukcja warunkowa CASE-OF-END, instrukcja pętli REPEAT-UNTIL,

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Podstawy Programowania. Złożoność obliczeniowa

Podstawy Programowania. Złożoność obliczeniowa Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada

Bardziej szczegółowo

Podstawy Programowania. Złożoność obliczeniowa

Podstawy Programowania. Złożoność obliczeniowa Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada

Bardziej szczegółowo

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word Pascal - powtórka Alfabet, Nazwy W odróŝnieniu do C w Pascal nie odróŝnia małych i duŝych liter. Zapisy ALA i ala oznaczają tę samą nazwę. Podobnie np. słowo kluczowe for moŝe być zapisane: FOR. W Pascalu

Bardziej szczegółowo

OPERACJE NA PLIKACH. Podstawowe pojęcia:

OPERACJE NA PLIKACH. Podstawowe pojęcia: OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania

Bardziej szczegółowo

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel Wstęp do programowania Procedury i funkcje Piotr Chrząstowski-Wachtel Po co procedury i funkcje? Gdyby jakis tyran zabronił korzystać z procedur lub funkcji, to informatyka by upadła! Procedury i funkcje

Bardziej szczegółowo

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma}; INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE

Bardziej szczegółowo

Wstęp do programowania. Różne różności

Wstęp do programowania. Różne różności Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste

Bardziej szczegółowo

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: Instrukcje podsumowanie Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: - grupująca end - warunkowa if

Bardziej szczegółowo

Programowanie w VB Proste algorytmy sortowania

Programowanie w VB Proste algorytmy sortowania Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich

Bardziej szczegółowo

PLIKI TEKSTOWE F C E 30 0D 0A 42 6F 72 6C 61 6E 64 1A T U R B O _ P A S C A L _ 7. 0

PLIKI TEKSTOWE F C E 30 0D 0A 42 6F 72 6C 61 6E 64 1A T U R B O _ P A S C A L _ 7. 0 PLIKI TEKSTOWE plik_liczb : file of integer; plik_znakow : file of char; plik_linii : text; deklaracja zmiennej plikowej Przykład sekwencji bajtów: 54 55 52 42 4F 20 50 41 53 43 41 4C 20 37 2E 30 0D 0A

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie

Bardziej szczegółowo

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego Pascal 1. Pliki tekstowe Przykład 1.1. Zapis do pliku tekstowego {deklaracja zmiennej tekstowej 'plik'} plik: text; {skojarzenie zmiennej plikowej 'plik' z plikiem na dysku (podajemy lokalizacje)} {tworzenie

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie

Bardziej szczegółowo

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C Opublikowano w: WEREWKA J..: Podstawy programowana dla automatyków. Skrypt AGH Nr 1515, Kraków 1998 20. i łączenie podprogramów a z programem napisanym w Ze względu na duże rozpowszechnienie języka, szczególnie

Bardziej szczegółowo

Informatyka A. Algorytmy

Informatyka A. Algorytmy Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa....................................... 2 2 Rozszerzony algorytm Euklidesa................................ 2 3 Wyszukiwanie min w tablicy..................................

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

Programowanie w Turbo Pascal

Programowanie w Turbo Pascal Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji

Bardziej szczegółowo

Przykładowe B+ drzewo

Przykładowe B+ drzewo Przykładowe B+ drzewo 3 8 1 3 7 8 12 Jak obliczyć rząd indeksu p Dane: rozmiar klucza V, rozmiar wskaźnika do bloku P, rozmiar bloku B, liczba rekordów w indeksowanym pliku danych r i liczba bloków pliku

Bardziej szczegółowo

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Podstawowe algorytmy i ich implementacje w C. Wykład 9 Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny

Bardziej szczegółowo

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach

Bardziej szczegółowo

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie. CZEŚĆ A. Przykłady, cd. 1.Obliczanie wartości pierwiastka kwadratowego - algorytm Newtona-Raphsona http://pl.wikipedia.org/wiki/metoda_newtona (pierwszy przykład na stronach Wiki) Dane: Liczba a (a>0)

Bardziej szczegółowo

Analiza algorytmów zadania podstawowe

Analiza algorytmów zadania podstawowe Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą

Bardziej szczegółowo

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice Podstawy programowania Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice 1 Podstawy programowania Iteracja 2 III. Iteracja Iteracja o nieznanej liczbie powtórzeń while warunek do instrukcja_do_wykonania;

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin

Bardziej szczegółowo

Zasady Programowania Strukturalnego

Zasady Programowania Strukturalnego Zasady Programowania Strukturalnego Rafał Jakubowski Zespół Teoretycznej Biofizyki Molekularnej rjakubowski@fizyka.umk.pl www.fizyka.umk.pl/~rjakubowski Tel: 33 46 Konsultacje w sem. letnim 11/12: środa,

Bardziej szczegółowo

Wszystkie zmienne typu plikowego, z wyjątkiem Output i Input muszą być zadeklarowane w sekcji deklaracji programu, który z nich korzysta.

Wszystkie zmienne typu plikowego, z wyjątkiem Output i Input muszą być zadeklarowane w sekcji deklaracji programu, który z nich korzysta. Programowanie strukturalne - pliki 1 LEKCJA 29. TYPY STRUKTURALNE - PLIKI Wprowadzenie Zmienne proste, tablice i rekordy są wykorzystywane w programie do przechowywania danych podczas wykonywania programu;

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część dziewiąta Procedury i funkcje Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów

Bardziej szczegółowo

2:8,7 3:9,4 / \ / \ / \ / \ 4:7,3 5:8 6:9,2 7:4

2:8,7 3:9,4 / \ / \ / \ / \ 4:7,3 5:8 6:9,2 7:4 Wykład: Sortowanie III Drzewa Turniejowe 1:9,8 2:8,7 3:9,4 4:7,3 5:8 6:9,2 7:4 8: 3 9:7 12:9 13:2 Insert(x,S) 1) tworzymy dwa nowe liście na ostatnim poziomie, 2) do jednego wstawiamy x a do drugiego wartość

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Zmienne Proste typy danych Strukturalne typy danych Witold Marańda maranda@dmcs.p.lodz.pl 1 Zmienne Liczby (i struktury danych) występują w algorytmach i programach komputerowych

Bardziej szczegółowo

Wstęp do programowania. Dziel i rządź. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Dziel i rządź. Piotr Chrząstowski-Wachtel Wstęp do programowania Dziel i rządź Piotr Chrząstowski-Wachtel Divide et impera Starożytni Rzymianie znali tę zasadę Łatwiej się rządzi, jeśli poddani są podzieleni Nie chodziło im jednak bynajmniej o

Bardziej szczegółowo

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na

Bardziej szczegółowo

Definicja: Algorytmami sortowania zewnętrznego nazywamy takie algorytmy, które sortują dane umieszczone w pamięci zewnętrznej.

Definicja: Algorytmami sortowania zewnętrznego nazywamy takie algorytmy, które sortują dane umieszczone w pamięci zewnętrznej. Wykład 5_3 Sortowanie zewnętrzne - c.d. 3. Algorytm sortowania za pomocą łączenia polifazowego 4. Algorytm ograniczania liczby serii za pomocą kopcowego rozdzielania serii początkowych 5. Podsumowanie

Bardziej szczegółowo

Definicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )

Definicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n ) SORTOWANIE 1 SORTOWANIE Proces ustawiania zbioru elementów w określonym porządku. Stosuje się w celu ułatwienia późniejszego wyszukiwania elementów sortowanego zbioru. 2 Definicja Ciąg wejściowy: a 1,

Bardziej szczegółowo

Wprowadzenie Tablica jednowymiarowa Tablice wielowymiarowe Algorytmy Rekordy Pliki Zadania Bibliografia

Wprowadzenie Tablica jednowymiarowa Tablice wielowymiarowe Algorytmy Rekordy Pliki Zadania Bibliografia Program Rozwojowy Potencjału Dydaktycznego Politechniki Świętokrzyskiej w Kielcach: kształcenie na miarę sukcesu. Priorytet IV Szkolnictwo wyższe i nauka. Działanie 4.1 Wzmocnienie i rozwój potencjału

Bardziej szczegółowo

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych

Bardziej szczegółowo

Kiedy i czy konieczne?

Kiedy i czy konieczne? Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle

Bardziej szczegółowo

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis} 1 WIADOMOŚCI WSTĘPNE Programowanie komputerów najogólniej mówiąc polega na zapisaniu pewniej listy poleceń do wykonania przez komputer w pewnym umownym języku Taką listę poleceń nazywamy programem Program

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część trzecia sterujące wykonaniem programu wprowadzenie Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści

Bardziej szczegółowo

1 Wprowadzenie. program t e s t 3 ; begin. Polecenie program. Różnice między poleceniami write i writeln. writeln ( Witaj, a ) ; end.

1 Wprowadzenie. program t e s t 3 ; begin. Polecenie program. Różnice między poleceniami write i writeln. writeln ( Witaj, a ) ; end. 1 Wprowadzenie program t e s t ; writeln ( Witaj ) ; program t e s t 2 ; var a : s t r i n g ; write ( Podaj imie : ) ; writeln ( Witaj, a ) ; program t e s t 3 ; var a, b, c : integer ; d : real ; Polecenie

Bardziej szczegółowo

Algorytmy i struktury danych. wykład 5

Algorytmy i struktury danych. wykład 5 Plan wykładu: Wskaźniki. : listy, drzewa, kopce. Wskaźniki - wskaźniki Wskaźnik jest to liczba lub symbol który w ogólności wskazuje adres komórki pamięci. W językach wysokiego poziomu wskaźniki mogą również

Bardziej szczegółowo

Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska

Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska Informatyka I Wyk lad I Wprowadzenie Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska pokój 331 budynek C3 email: mucha@inyo.ict.pwr.wroc.pl Zagadnienia: literatura, zawartość

Bardziej szczegółowo

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1 Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).

Bardziej szczegółowo

Tablice. TYPE identyfikator tablicy = ARRAY [Indeksl,..., Indeksn] OF Typ; Dany identyfikator_ tablicy można wykorzystać w deklaracji VAR:

Tablice. TYPE identyfikator tablicy = ARRAY [Indeksl,..., Indeksn] OF Typ; Dany identyfikator_ tablicy można wykorzystać w deklaracji VAR: Tablice Tablica jest to struktura danych zawierająca pewien uporządkowany zbiór obiektów tego samego typu. Tablice jednowymiarowe odpowiadają wektorom, natomiast tablice dwuwymiarowe macierzom. Elementy

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima Uwagi przed sprawdzianem nr 1.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima Uwagi przed sprawdzianem nr 1. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 5 : Algorytmy sortowania. Struktury

Bardziej szczegółowo

Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu

Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu Plan wykładu Ada 95 #1/5 - typy Wojciech Complak, Instytut Informatyki, Politechnika Poznańska e-mail : Wojciech.Complak@cs.put.poznan.pl www : http://www.cs.put.poznan.pl/wcomplak Hierarchia typów w Adzie

Bardziej szczegółowo

Algorytmy i struktury danych. wykład 1

Algorytmy i struktury danych. wykład 1 Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,

Bardziej szczegółowo

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325 PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj

Bardziej szczegółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

Bardziej szczegółowo

Sortowanie danych. Jolanta Bachan. Podstawy programowania

Sortowanie danych. Jolanta Bachan. Podstawy programowania Sortowanie danych Podstawy programowania 2013-06-06 Sortowanie przez wybieranie 9 9 9 9 9 9 10 7 7 7 7 7 10 9 1 3 3 4 10 7 7 10 10 10 10 4 4 4 4 4 4 3 3 3 3 2 2 2 2 2 2 2 3 1 1 1 1 1 1 Gurbiel et al. 2000

Bardziej szczegółowo

Wstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel Wstęp do programowania Drzewa podstawowe techniki Piotr Chrząstowski-Wachtel Drzewa wyszukiwań Drzewa często służą do przechowywania informacji. Jeśli uda sie nam stworzyć drzewo o niewielkiej wysokości

Bardziej szczegółowo

3. Podstawowe funkcje mamematyczne. ZAPOZNAĆ SIĘ!!!

3. Podstawowe funkcje mamematyczne.  ZAPOZNAĆ SIĘ!!! Zajęcia 3 1. Instrukcja iteracyjna while while WARUNEK do Instrukcja; 2. Deklaracja funkcji function nazwa(x:real;i:integer;...): typ_funkcji; deklaracje zmiennych lokalnych; instrukcje (w tym podstawienie

Bardziej szczegółowo

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL 1 Część 1 Pojęcie algorytmu 2 I. Pojęcie algorytmu Trochę historii Pierwsze

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Zaawansowane algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Sortowanie za pomocą malejących przyrostów metoda Shella Metoda jest rozwinięciem metody sortowania

Bardziej szczegółowo

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka PASCAL Kompendium Środowisko TURBO PASCAL Skróty klawiaturowe Edycja kodu F1 Pomoc spis treści CTRL + F1 Pomoc kontekstowa SHIFT + strzałki Zaznaczanie bloku CTRL + INSERT Skopiowanie zaznaczonego bloku

Bardziej szczegółowo

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================

Bardziej szczegółowo

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny

Bardziej szczegółowo

Elementy Pascala Konstrukcja programu w Pascalu Typy danych

Elementy Pascala Konstrukcja programu w Pascalu Typy danych 6.1. Konstrukcja programu w Pascalu Poniższy szablon stanowi uogólniony model. Jak nietrudno zorientować się po przejrzeniu przykładowych listingów zamieszczonych w książce, nie wszystkie elementy tego

Bardziej szczegółowo

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Programowanie Proceduralne Wykład 1 1 / 59 Cel wykładów z programowania

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

PODSTAWY INFORMATYKI wykład 4.

PODSTAWY INFORMATYKI wykład 4. PODSTAWY INFORMATYKI wykład 4. Adrian Horzyk Web: http://home.agh.edu.pl/~horzyk/ E-mail: horzyk@agh.edu.pl Google: Adrian Horzyk Gabinet: paw. D13 p. 325 Akademia Górniczo-Hutnicza w Krakowie WEAIiE,

Bardziej szczegółowo

PLIKI. Składnia deklaracji zmiennej plikowej: file of <typ>

PLIKI. Składnia deklaracji zmiennej plikowej: file of <typ> PLIKI Plik jest struktura składającą się z elementów tego samego typu. Liczba elementów składowych pliku jest zmienna. Nie ma zadanych ograniczeń na liczbę elementów pliku, poza rozmiarami pamięci masowych

Bardziej szczegółowo

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np. Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

1. Język Pascal Program

1. Język Pascal Program 1. Język Pascal Pascal jest językiem programowania stworzonym przez Niklausa Wirtha z ETH w Zurichu w latach siedemdziesią tych. Język ten ze względu na swoją przejrzystą postać, możliwość budowy struktur

Bardziej szczegółowo

Technologie Informatyczne Wykład VII

Technologie Informatyczne Wykład VII Technologie Informatyczne Wykład VII A. Matuszak (1) 22 listopada 2007 A. Matuszak (1) Technologie Informatyczne Wykład VII A. Matuszak (2) Technologie Informatyczne Wykład VII (Rekursja) albo rekursja

Bardziej szczegółowo

Informatyka 1. Wprowadzenie

Informatyka 1. Wprowadzenie Informatyka 1 Wykład I Wprowadzenie Robert Muszyński ZPCiR IIAiR PWr pokój 331 budynek C3 email: mucha@diablo.ict.pwr.wroc.pl Copyright c 2001 2005 Robert Muszyński Niniejszy dokument zawiera materiały

Bardziej szczegółowo

Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach.

Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach. Nazwa implementacji: Gra w życie Autor: Piotr Fiorek Opis implementacji: Implementacja przedstawia Grę w życie jako przykład prostej symulacji opartej na automatach. Zaprojektuj prostą grę, której celem

Bardziej szczegółowo

Visual Basic for Application (VBA)

Visual Basic for Application (VBA) Visual Basic for Application (VBA) http://dzono4.w.interia.pl Książka Visual Basic dla aplikacji w Office XP PL, autorzy: Edward C. Willett i Steve Cummings, Wyd. Helion Typy zmiennych Różne dane różnie

Bardziej szczegółowo

APROKSYMACJA. Rys. 1. Funkcja aproksymująca zbiór punktów pomiarowych (1) (2) (3) (4) (5) (6) (7) ... Zmienna y

APROKSYMACJA. Rys. 1. Funkcja aproksymująca zbiór punktów pomiarowych (1) (2) (3) (4) (5) (6) (7) ... Zmienna y 40 APROKSYMACJA Zmienna y 36 33 30 27 24 21 18 15 12 9 6 3 0 0,00 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08 Zmienna x Rys. 1. Funkcja aproksymująca zbiór punktów pomiarowych (1) (2) (3) (4) (5) (6) (7)...

Bardziej szczegółowo

Strategia "dziel i zwyciężaj"

Strategia dziel i zwyciężaj Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania

Bardziej szczegółowo

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel Wstęp do programowania Listy Piotr Chrząstowski-Wachtel Do czego stosujemy listy? Listy stosuje się wszędzie tam, gdzie występuje duży rozrzut w możliwym rozmiarze danych, np. w reprezentacji grafów jeśli

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Informatyka 1. Algorytm, podstawowe notacje, typy danych i wyrażenia

Informatyka 1. Algorytm, podstawowe notacje, typy danych i wyrażenia Informatyka 1 Wykład II Algorytm, podstawowe notacje, typy danych i wyrażenia Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: pojęcie algorytmu, diagramy algorytmów, przejście od algorytmu do programu, zapis

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach: Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:

Bardziej szczegółowo

Metodyka i Technika Programowania 1

Metodyka i Technika Programowania 1 Metodyka i Technika Programowania 1 Pytania zaliczeniowe z wykładu mgr inż. Leszek Ciopiński Wykład I 1. Wprowadzenie 1.1. Programowanie imperatywne polega na: 1.2. Czy w programowaniu imperatywnym programista

Bardziej szczegółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH ALGORYTMY I STRUKTURY DAYCH Temat 2: Typy i struktury danych. Modele danych oparte na drzewach. Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/

Bardziej szczegółowo