Informatyka 1. Rekordy, przeszukiwanie i sortowanie tablic
|
|
- Karolina Wawrzyniak
- 8 lat temu
- Przeglądów:
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 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;
3 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
4 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;
5 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;
6 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}
7 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);
8 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.
9 Rekordy, przeszukiwanie i sortowanie tablic 8 Przeszukiwanie tablic liniowe Poszukiwanie wzorca wœród elementów tablicy jednowymiarowej od elementu min do max Tab[min] = wzorzec lub min = max? min = min + 1 binarne 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 Tab[Srodek] = wzorzec lub min=max? Tab[Srodek] < wzorzec?
10 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
11 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
12 Rekordy, przeszukiwanie i sortowanie tablic 11 Sortowanie przez proste wstawianie 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? Tab[i+1] = temp Czy element j-ty jest ostatni? Tab[i+1] = Tab[i] i = i - 1 j = j + 1
13 Rekordy, przeszukiwanie i sortowanie tablic 12 Sortowanie drzewiaste 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 krok II
14 Rekordy, przeszukiwanie i sortowanie tablic 13 Sortowanie bąbelkowe Sortowanie tablicy b¹belkowe j = 1 i = Tab[i] > Tab[i+1]? Zamieñ Tab[i] z Tab[i+1] i = i Czy element i-ty jest przedostatni? j < n - 1? j = j + 1
15 Rekordy, przeszukiwanie i sortowanie tablic 14 Sortowanie bąbelkowe Sortowanie tablicy b¹belkowe j = 1 i = 1 Tab[i] > Tab[i+1]? i = i + 1 Czy element i-ty jest przedostatni? j < n - 1? Zamieñ Tab[i] z Tab[i+1] 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 }
16 Rekordy, przeszukiwanie i sortowanie tablic 15 Sortowanie szybkie Sortuj (l, p) i = l j = p x = Tab[(i + j) div 2] Szybkie sortowanie elementów l..p tablicy Sortuj (1, n) Sortowanie tablicy szybkie Tab[i] < x? i = i + 1 Tab[j] > x? j = j - 1 l p i <= j? l < j? Zamieñ Tab[i] z Tab[j] i = i + 1; j = j - 1 Sortuj (l, j) 5 j i i < p? Sortuj (i, p)
17 Rekordy, przeszukiwanie i sortowanie tablic 16 Sortowanie przez scalanie podzial 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ê scalenie scalenie rekurencyjne wywo³anie sortowania przez scalanie scalenie
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
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,
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
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
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
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
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
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
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
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
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
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,
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
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
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
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++)
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
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
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
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
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
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
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
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
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
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
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
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
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
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ą
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
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
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
Informatyka A. Algorytmy
Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa....................................... 2 2 Rozszerzony algorytm Euklidesa................................ 2 3 Wyszukiwanie min w tablicy..................................
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
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
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
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
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
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
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
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;
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)
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ą
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;
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,
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ść
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;
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
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
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,
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
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
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
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
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
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
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
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
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ść
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ż
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
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
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
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
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
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).
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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)...
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
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
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
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
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
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
Przydział pamięci. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Przydział pamięci Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Terminologia Program s(input,output) {SORT} program główny można traktować także jako procedurę var a: array[0..10] of integer;
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:
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
Programowanie RAD Delphi
Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje
Pliki. Ze względu na typ zawartych w nich danych rozróżnia się trzy podstawowe rodzaje plików:
Pliki Dotychczas operowaliśmy danymi, które zapamiętywane były w pamięci operacyjnej komputera (RAM). Program Turbo Pascal umożliwia zapisywanie i odczyt danych, co zapewnia możliwość wielokrotnego ich
Wprowadzenie do szablonów klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy