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

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

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

Transkrypt

1 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; nie zachowują swoich wartości po jego zakończeniu. Przydzielana dla tych obiektów pamięć jest zwalniana po zakończeniu wykonywania programu. Dane, które chcemy przechowywać, aby były dostępne po pewnym czasie, można przechowywać w pliku, który jest tworzony w pamięci zewnętrznej (np. na dysku). Do obsługi fizycznych zbiorów danych w programie pascalowym stosuje się pliki, które są logicznymi modelami zbiorów fizycznych. Plik pascalowy jest strukturą jednorodną, składającą się z sekwencji obiektów tego samego typu. Jest zmienną strukturalną, której długość może się zmieniać w trakcie wykonywania programu. Dotychczas posługiwaliśmy się dwoma plikami zewnętrznymi: Input i Output. Składowe pliku nie mają nazw i nie są bezpośrednio dostępne. Składowe te są ułożone w sekwencję, a program w danej chwili może mieć dostęp do tylko jednej składowej. W Pascalu wyróżniamy trzy typy plików: - zdefiniowane - tekstowe - niezdefiniowane. Definicja typu plikowego a) zdefiniowanego identyfikator_typu = FILE OF opis_typu_elementów_pliku; PRZYKŁAD 1. TYPE Liczby = FILE OF Integer; PRZYKŁAD 2. TYPE Wiersz = ARRAY [1..80] OF Char; PlikWierszy = FILE OF Wiersz; PRZYKŁAD 3. TYPE Ksiazka = RECORD nazwisko : String [20]; imię : String [12]; tytul : String [50]; nr_ksiazki: ; wydawca : String[30]; wydanie : Katalog = FILE OF Ksiazka; Wszystkie zmienne typu plikowego, z wyjątkiem Output i Input muszą być zadeklarowane w sekcji deklaracji programu, który z nich korzysta.

2 Programowanie strukturalne - pliki 2 PRZYKŁAD 4. VAR l: liczby; tekst: PlikWierszy; moje_ksiazki: Katalog; b) tekstowego Plik tekstowy jest określany za pomocą predefiniowanego identyfikatora Text. PRZYKŁAD VAR plik: Text; c) niezdefiniowanego. identyfikator_typu = FILE; Przetwarzanie plików Dostęp do pliku uzyskuje się za pomocą zmiennej plikowej (tj. zmiennej zadeklarowanej jako zmienna typu plikowego). Przed użyciem takiej zmiennej (oprócz Input i Output) do przetwarzania pliku powinna ona być skojarzona z fizycznym zbiorem danych. Przed przystąpieniem do przetwarzania tego zbioru należy jeszcze zmienną plikową "otworzyć" a po zakończeniu przetwarzania "zamknąć". Przetwarzanie plików: 1. zakładanie (tj. tworzenie) nowego fizycznego zbioru danych, które będziemy nazywać zakładaniem pliku 2. wprowadzanie do założonego pliku elementów 3. dodawanie elementów do pliku już istniejącego 4. przeszukiwanie pliku 5. wyprowadzanie elementów z pliku 6. wymiana elementów pliku. Schemat przetwarzania pliku opis zmiennej plikowej (w części opisowej) skojarzenie pliku z fizycznym zbiorem otwarcie pliku wykonanie operacji na pliku zamknięcie pliku

3 Programowanie strukturalne - pliki 3 Kojarzenie zmiennej plikowej Do skojarzenia zmiennej plikowej z fizycznym zbiorem danych służy procedura standardowa Assign, której wywołanie ma postać: Assign (identyfikator_pliku, wyrażenie łańcuchowe) gdzie identyfikator_pliku - dowolna zmienna plikowa wyrażenie łańcuchowe - fizyczny zbiór danych Plik o podanym identyfikatorze nie może być otwarty. PRZYKŁAD 5. VAR moje_ksiazki: Katalog; plik1, plik2: Tekst; W programie: Assign (moje_ksiazki, 'a:\pliki\kat.doc'); PRZYKŁAD 6. Assign (plik1, 'LPT1'); - skojarzenie pliku logicznego plik1 z drukarką. Procedury Write, Writeln odnoszące się do pliku plik1 będą wyprowadzane na drukarkę. PRZYKŁAD 7. Assign (plik2, ''); - skojarzenie pliku logicznego plik2 ze standardowym WE/WY, w zależności od tego, czy plik będzie otwarty do odczytu czy do zapisu (równoważne z Assign (plik2, 'CON')). Otwieranie pliku W zależności od kierunku przesyłania elementów do lub z pliku stosowane są trzy standardowe procedury jego otwarcia. a) Jeżeli tworzymy nowy fizyczny (zewnętrzny) zbiór danych, to należy zastosować procedurę Rewrite: Rewrite (zmienna_plikowa) lub Rewrite (zmienna_plikowa, rozmiar_zapisu) - dla pliku niezdefiniowanego. Wywołanie procedury Rewrite powoduje utworzenie nowego fizycznego zbioru danych o nazwie skojarzonej z podaną zmienną plikową (przedtem musi być wywołana procedura Assign). Jeżeli zewnętrzny zbiór danych o takiej nazwie istnieje, to zostanie on usunięty i w jego miejsce będzie utworzony nowy zbiór. PRZYKŁAD 8. Assign (moje_ksiazki, 'a:\ksiazki.txt'); Rewrite (moje_ksiazki); po skojarzeniu zbioru ksiazki.txt ze zmienną plikową moje_ksiazki, następuje otwarcie pliku.

4 Programowanie strukturalne - pliki 4 b) Do otwarcia pliku skojarzonego ze zbiorem już istniejącym służą procedury Reset i Append. Reset (zmienna_plikowa) lub Reset (zmienna_plikowa, rozmiar_zapisu) - powoduje ustawienie wskaźnika zewnętrznego zbioru przed jego pierwszym elementem. c) dla plików tekstowych Append (zmienna_plikowa) - stosujemy tylko dla plików tekstowych (Text), po otwarciu pliku ustawienie zbioru na jego końcu. PRZYKŁAD 9. VAR plik: Kartoteka; Assign (plik, 'c:\zbiory\ksiazki.txt'); Reset (plik); END. PRZYKŁAD 10. VAR plik: Text; Assign (plik, 'c:\zbiory\teksty.txt'); Append (plik); END. Zmykanie plików Po wykonaniu wszystkich operacji na pliku, należy go zamknąć. Do zamykania pliku służy procedura Close: Close (zmienna_plikowa) Po zamknięciu pliku można zmienną plikową skojarzyć z innym fizycznym zbiorem danych. Nie zamknięcie pliku spowoduje utratę danych. Przykład obsługi plików VAR plik: Kartoteka; Assign (plik, 'a:\dane\ksiazki.txt'); Rewrite (plik); {teraz procedury wpisywania do pliku} Close (plik); Reset (plik); {teraz procedury czytania z pliku i np. wydruki na ekran} Close (plik); Assign (plik, 'LPT1');

5 Programowanie strukturalne - pliki 5 Rewrite (plik); {teraz procedury wydruku na drukarce} Close (plik) END. Podsumowanie Assign - skojarzenie pliku logicznego z fizycznym zbiorem Rewrite - otwarcie pliku do zapisu Reset - otwarcie pliku do odczytu Append - otwarcie pliku tekstowego Close - zamknięcie pliku

6 Programowanie strukturalne - pliki 6 LEKCJA 30. PRZETWARZANIE PLIKÓW Wprowadzanie elementów do pliku a) pliki tekstowe Write (zmienna_plikowa, lista_argumentów_wy) lub Writeln (zmienna_plikowa, lista_argumentów_wy) gdzie zmienna_plikowa jest identyfikatorem pliku tekstowego, a lista_argumentów_wy jak dla Output. Powyższe wywołania stosuje się najczęściej przy wyprowadzaniu wyników programu na drukarkę lub do pliku dyskowego, w celu późniejszego ich odczytu. PRZYKŁAD 1 Omówienie programu Przyklad1 (Pliki1.pas) PROGRAM Przyklad1; {pisanie do plikow tekstowych} USES Crt; CONST sciezka = 'c:\dane.dan'; {sciezka = 'LPT1';} VAR druk: Text; a: ARRAY[1..20,1..20] OF Real; n, m, i, j : Byte; PROCEDURE Liczba (VAR i: Byte; Max: Byte); {wczytanie liczby naturalnej x z kontrola poprawności danych} VAR x, y : Byte; x := WhereX; y := WhereY; Window(x,y,80,y); REPEAT ClrScr; Readln(i) UNTIL (0 < i) AND (i <= Max); Window (1,1,80,25); GoToXY (x, y); Writeln (i); {wymiar} ClrScr; Writeln ('Podaj wymiary macierzy: '); Write ('ilosc wierszy: '); Liczba (n,20); {wczytanie wymiarow macierzy}

7 Programowanie strukturalne - pliki 7 Write ('ilosc kolumn: '); Liczba (m,20); Assign (druk, sciezka); {skojarzenie zmiennej plikowej ze zbiorem dyskowym} Rewrite (druk); {otwarcie pliku do zapisu} FOR i:=1 TO n DO FOR j:=1 TO m DO Write ('a[', i, ',', j,']='); Readln (a[i, j]); {wczytanie elementow macierzy a} {wyprowadzenie na drukarke napisow i wartosci} Writeln (druk, 'a[', i, ',', j, ']=', a[i, j]) Close (druk); ClrScr END. b) pliki zdefiniowane Write (zmienna_plikowa, lista_argumentów_wy) gdzie zmienna_plikowa - plik logiczny skojarzony z zewnętrznym zbiorem danych (otwarty) lista_zmiennych_wy - zmienne tego samego typu, jak typ elementów pliku, oddzielone przecinkami. PRZYKŁAD 2 Omówienie programu: Przyklad2 (Pliki2.pas) PROGRAM Przyklad2; {pisanie do plikow zdefiniowanych} CONST sciezka = 'c:\ksiazki.dan'; TYPE Ksiazka = RECORD numer: ; autor: String [30]; tytul: String [50] VAR katalog: FILE OF Ksiazka; dane: Ksiazka; Assign (katalog, sciezka); {skojarzenie zmiennej plikowej ze zbiorem dyskowym} Rewrite (katalog); {otwarcie pliku do zapisu} WITH dane DO {wczytanie danych o ksiazce do zmiennej dane} Writeln; Write ('Numer: ');

8 Programowanie strukturalne - pliki 8 Readln (numer); Write ('Autor: '); Readln (autor); Write ('Tytul: '); Readln (tytul) Write (katalog, dane); {zapisane rekordu dane do pliku} Close (katalog); {zamkniecie pliku} ClrScr END. c) pliki niezdefiniowane BlockWrite (zmienna_plikowa, bufor, licznik); lub BlockWrite (zmienna_plikowa, bufor, licznik, wynik); gdzie bufor - dowolna zmienna licznik - wyrażenie typu Word, określające ilość wyprowadzanych zapisów wynik - zmienna typu Word, określająca ilość faktycznie wyprowadzonych na dysk zapisów. Podczas otwarcia pliku (Rewrite) należy podawać rozmiar zapisu (np. 1); domyślna wartość 128. PRZYKŁAD 3. Omówienie programu: Przyklad3 (pliki3.pas) PROGRAM Przyklad3; {pisanie do plikow niezdefiniowanych} VAR zbior: FILE; zapis1: RECORD znak: Char; liczba: Byte zapis2: RECORD znak: Char; tekst: String[100] wynik : Word; Assign (zbior, 'zb1.txt'); Rewrite (zbior, 2); WITH zapis1 DO Write ('Podaj znak: '); Readln (znak); Write ('Podaj liczbe: '); {skojarzenie zmiennej plikowej ze zbiorem dyskowym} {otwarcie pliku do zapisu} {wczytanie danych}

9 Programowanie strukturalne - pliki 9 Readln (liczba) BlockWrite (zbior, zapis1, 1); {zapis do pliku} Close (zbior); {zamkniecie pliku} Assign (zbior, 'zb2.txt'); {skojarzenie zmiennej plikowej ze zbiorem dyskowym} Rewrite (zbior, 102); {otwarcie pliku do zapisu} WITH zapis2 DO {wczytanie danych} Write ('Podaj znak: '); Readln (znak); Write ('Podaj ciag znakow: '); Readln (tekst) BlockWrite (zbior, zapis2, 1); {zapis do pliku} Close (zbior); {zamkniecie pliku} Assign (zbior, 'zb3.txt'); {skojarzenie zmiennej plikowej ze zbiorem dyskowym} Rewrite (zbior, 1); {otwarcie pliku do zapisu} BlockWrite (zbior, zapis2, 102,wynik); {zapis do pliku} Close (zbior); {zamkniecie pliku} Writeln ('Zapisano: ',wynik); Readln; ClrScr END. Przeszukiwanie i wyprowadzanie elementów z pliku b) pliki tekstowe Read (zmienna_plikowa, lista_zmiennych_we); lub Readln (zmienna_plikowa, lista_zmiennych_we); gdzie zmienna_plikowa jest identyfikatorem pliku tekstowego, a lista_argumentów_wy jak dla Input. Zastosowanie: odczyt zbiorów tekstowych z dysku. PRZYKŁAD 4. Omówienie programu Przyklad4 (Pliki4.pas) PROGRAM Przyklad4; {czytanie z plikow tekstowych} VAR t: String; tekst: Text; Assign (tekst,'tekst1.txt'); Reset (tekst); {otwarcie pliku do odczytu}

10 Programowanie strukturalne - pliki 10 Readln (tekst, t); Close (tekst); Assign (tekst,'lpt1'); Rewrite (tekst); Writeln (tekst, t); Close (tekst) END. b) pliki zdefiniowane: Read (zmienna_plikowa, lista_zmiennych_we); gdzie zmienna_plikowa - plik logiczny skojarzony z zewnętrznym zbiorem danych (otwarty) lista_zmiennych_we - zmienne tego samego typu, jak typ elementów pliku, oddzielone przecinkami. PRZYKŁAD 5. Omówienie programu Przyklad5 (Pliki5.pas) PROGRAM Przyklad5; {czytanie plikow zdefiniowanych} USES Crt; CONST sciezka = 'c:\ksiazki.dan'; TYPE Ksiazka = RECORD numer: ; autor: String [30]; tytul: String [50] VAR katalog: FILE OF Ksiazka; dane: Ksiazka; Assign (katalog, sciezka); {skojarzenie zmiennej plikowej ze zbiorem dyskowym} Reset (katalog); {otwarcie pliku do odczytu} Read (katalog, dane); {czytanie rekordu dane z pliku} WITH dane DO {wydruk danych o ksiazce na ekranie monitora} Writeln; Writeln ('Numer: ',numer); Writeln ('Autor: ',autor); Writeln ('Tytul: ',tytul); Readln; ClrScr; Close (katalog) {zamkniecie pliku}

11 Programowanie strukturalne - pliki 11 END. c) pliki niezdefiniowane: BlockRead (zmienna_plikowa, bufor, licznik); lub BlockRead (zmienna_plikowa, bufor, licznik, wynik); gdzie bufor - dowolna zmienna licznik - wyrażenie typu Word, określające ilość wyprowadzanych zapisów wynik - zmienna typu Word, określająca ilość faktycznie wprowadzonych zapisów. PODSUMOWANIE zapis elementu do pliku odczyt elementu z pliku Plik tekstowy Plik zdefiniowany Plik niezdefiniowany Write Write BlockWrite Writeln Read Read BlockRead Readln Funkcje pomocnicze do obsługi plików b) pliki tekstowe EOF (zmienna_plikowa) przyjmuje wartość True, gdy 1. plik jest pusty lub 2. plik znajduje się przed ostatnim znakiem (Ctrl-Z), False w przeciwnym razie EOLN (zmienna_plikowa) przyjmuje wartość True, gdy 1. plik jest w pozycji końca wiersza lub 2. EOF dla tej zmiennej na wartość True False w przeciwnym razie SeekEOF (zmienna_plikowa) SeekEOLN (zmienna_plikowa - analogicznie do EOF, EOLN, ignorują najbliższe spacje i znaki tabulacji. c) pliki zdefiniowane i niezdefiniowane: Funkcje: EOF (zmienna_plikowa) przyjmuje wartość True przed ostatnim elementem lub gdy plik pusty, False - w przeciwnym razie FilePos (zmienna_plikowa): LongInt

12 Programowanie strukturalne - pliki 12 - zwraca aktualne położenie pliku określonego przez zmienną plikową. Przyjmuje 0, gdy jest to początek pliku. FileSize (zmienna_plikowa): LongInt; - zwraca rozmiar wyspecyfikowanego pliku, 0 gdy zbiór jest pusty. Procedury: Seek (zmienna_plikowa, pozycja) - procedura powodująca przesunięcie aktualnego położenia pliku do elementu o liczbie porządkowej podanej przez zmienną pozycja. PRZYKŁAD 6. Seek (katalog, 3) Elementy w pliku są numerowane od 0. Truncate (zmienna_plikowa) - procedura usuwająca z zewnętrznego zbioru danych wszystkie jego elementy, począwszy od aktualnej pozycji do końca zbioru. Inne operacje na plikach. ChDir (S: String) - procedura zmieniająca bieżący katalog na katalog określony przez zmienną S. Procedurą tą można również zmieniać napęd. PRZYKŁAD 7. ChDir ('c:'); GetDir (N: Byte; VAR Katalog: String) - procedura umieszczająca w zmiennej Katalog nazwę katalogu bieżącego w napędzie określonym zmienną N. Zmienna N przyjmuje następujące wartości: 0 napęd bieżący 1 napęd a 2 napęd b 3 napęd c itd. Procedura nie wykonuje kontroli błędów. Jeżeli napęd został błędnie określony w zmiennej N, to zmienna katalog będzie zawierała '\'. PRZYKŁAD 8. VAR katalog: String; GetDir (3, katalog); Writeln ('Bieżący katalog: ', katalog); MkDir (Nazwa: String)

13 Programowanie strukturalne - pliki 13 - procedura tworząca w katalogu bieżącym podkatalog o nazwie określonej parametrem Nazwa. PRZYKŁAD 9. MkDir ('DANE'); RmDir (NazwaKatalogu: String) - procedura usuwająca pusty katalog, którego nazwę wraz z ewentualną ścieżką dostępu określa parametr NazwaKatalogu. Erase (VAR f) - procedura usuwająca plik zewnętrzny skojarzony ze zmienną F (plik ten nie może być otwarty). PRZYKŁAD 10. VAR f: File; Assign (f, 'Tekst.txt'); Erase (f); Rename (VAR f; NowaNazwa: String); - procedura zmieniająca nazwę pliku dyskowego skojarzonego ze zmienną F, na nazwę określoną parametrem NowaNazwa. Nie można używać dla plików otwartych. PRZYKŁAD 11. VAR zbior: File; Assign (zbior, 'proba1'); Rename (zbior, 'Proba2'); IOResult: Word - funkcja zwracająca kod błędu powstałego podczas ostatniej operacji wejścia/wyjścia. Zastosowanie: {$I-} p:= IOResult; CASE p OF kod błędu: reakcja; {$I+}

14 Programowanie strukturalne - pliki 14 LEKCJA 31. OPERACJE NA PLIKACH. ŁĄCZENIE PLIKÓW Sortowanie plików sekwencyjnych (sortowanie zewnętrzne) Algorytmów sortowania dla tablic nie można, niestety, stosować wtedy, gdy dane przeznaczone do posortowania nie mieszczą się w pamięci operacyjnej komputera i są przechowywane w pamięci zewnętrznej (na przykład pliki). Zasadniczą cechą pliku jest to, że w każdej chwili dostępny jest bezpośrednio jeden i tylko jeden składnik; dlatego też trzeba stosować zupełnie odmienne metody sortowania. Jedną z najważniejszych metod jest sortowanie przez łączenie. Łączenie oznacza wiązanie dwóch (lub więcej) ciągów uporządkowanych w jeden ciąg uporządkowany przez wybieranie kolejnych obiektów spośród aktualnie dostępnych elementów tych ciągów. Łączenie jest o wiele prostsze od sortowania i jest stosowane jako operacja pomocnicza w bardziej złożonym procesie sortowania sekwencyjnego. Jednym ze sposobów sortowania opartym na łączeniu jest tzw. łączenie proste: 1. dzielimy ciąg a na połowy nazwane b i c. 2. łączymy ciągi b i c składając pojedyncze ich elementy w pary uporządkowane 3. nazywamy połączony ciąg a i powtarzamy kroki 1 i 2, łącząc tym razem pary uporządkowane w czwórki uporządkowane 4. powtarzamy poprzednie kroki łącząc czwórki w ósemki i dalej postępujemy w ten sam sposób, podwajając za każdym razem długość łączonych podciągów dopóty, dopóki cały ciąg nie zostanie uporządkowany. PRZYKŁAD W 1. kroku otrzymamy: Łączenie w pary uporządkowane: ' ' ' Po ponownym podzieleniu: Łączenie w czwórki uporządkowane: ' Następny podział Łączenie w ósemki uporządkowane: Koniec. O sortowaniu: N. Wirth: Algorytmy + Struktury Danych = Programy, WNT 1989, rozdział 2 i 3. L. Banachowski. K. Diks, W. Rytter, WNT 1999, rozdziały 2.9 i 2.10.

15 Programowanie strukturalne - pliki 15 Łączenie plików uporządkowanych Algorytm scalania dwóch ciągów uporządkowanych: Dane: Dwa uporządkowane ciągi x i y. Wynik: Uporządkowany ciąg z będący scaleniem ciągów x i y. Krok 1: Dopóki oba ciągi x i y nie są puste, wykonuj następującą operację: przenieś mniejszy z najmniejszych elementów z ciągów x i y do ciągu z Krok 2: Do końca ciągu z dopisz elementy pozostałe w jednym z ciągów x lub y. ALGORYTM DOBIERANIA JEDNOPRZEBIEGOWEGO dla zadania łączenia plików posortowanych Założenia: 1. Zdefiniowano dwa typy danych: a) typ składowy: _T = RECORD k : _Klucz; dane : _Dane b) typ plikowy: _F = FILE OF _T; 2. WARTOWNIK jest nazwą stałej (albo zmiennej o ustalonej wartości) typu _Klucz, która: a) nie jest nigdy wartością klucza danej, b) jest późniejsza od wszystkich używanych wartości kluczy (w sensie porządku, przyjętego w typie _Klucz). 3. Zdefiniowano procedurę o nagłówku: PROCEDURE Czytaj(VAR F : _F; VAR e : _T), która: a) jeśli plik F jest niepusty, udostępnia element bieżący pliku F i zapisuje go do zmiennej e, b) jeżeli plik F jest pusty, to wynikowa wartość e jest następująca: pole klucza k przyjmuje wartość WARTOWNIK a pole dane jest nieokreślone Procedura ta może mieć postać : IF EOF(F) THEN e.k := Wartownik ELSE Read (F, e)

16 Programowanie strukturalne - pliki 16 Szkielet procedury łączenia plików posortowanych: PROCEDURE Lacz (VAR plik, nabytki, nowy_plik : _F); {łączymy plik z nabytki w jeden plik nowy_plik; pliki są już przygotowane do obsługi : plik i nabytki do odczytu, nowy_plik do zapisu. Znak porównania a<b oznacza ścisłe poprzedzanie elementu b przez element a} VAR stary, nowy : _T; Czytaj (plik, stary); Czytaj (nabytki, nowy); WHILE (stary.k < wartownik) OR (nowy.k < wartownik) DO {dopóki przynajmniej jeden z kluczy nie jest niewłaściwy} IF stary.k < nowy.k THEN Write (nowy_plik, stary); Czytaj (plik, stary) END {then} ELSE Write (nowy_plik, nowy); Czytaj (nabytki, nowy) END {else} {Lacz}

17 Programowanie strukturalne - pliki 17 SPIS TREŚCI Lekcja 29. Typy strukturalne - pliki.. 1 Lekcja 30. Przetwarzanie plików..6 Lekcja 31. Operacje na plikach. Łączenie plików.14

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

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

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

Wykład PASCAL - Pliki tekstowe

Wykład PASCAL - Pliki tekstowe Podstawy programowania Wykład PASCAL - Pliki tekstowe 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą,

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

Pliki. Ze względu na typ zawartych w nich danych rozróżnia się trzy podstawowe rodzaje plików:

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

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

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

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych 1. Wczytywanie z plików tekstowych. Wczytywanie z pliku tekstowego wymaga: a) skojarzenia zmiennej plikowej z plikiem procedura assignfile b)

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

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

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

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

PODSTAWY PROGRAMOWANIA

PODSTAWY PROGRAMOWANIA PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright 2003-2012 by Andrzej Marciniak PP-10(1 z 66) Na poprzednim wykładzie...

Bardziej szczegółowo

Kompendium wiedzy z Pascala

Kompendium wiedzy z Pascala Kompendium wiedzy z Pascala Niektóre rzeczy (np. skróty klawiszowe) odnoszą się do wersji Turbo Pascala 5.5 lub 7.0 (w których my nie pracujemy). Jednak zostawiam te informację poniewaŝ dobrze jest wiedzieć

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

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

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

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

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

Bardziej szczegółowo

Programowanie w językach wysokiego poziomu

Programowanie w językach wysokiego poziomu Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie

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. 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

Wykład 4. Tablice. Pliki

Wykład 4. Tablice. Pliki Informatyka I Wykład 4. Tablice. Pliki Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada

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

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

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

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

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

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

Wstęp do programowania. Pliki. Piotr Chrząstowski-Wachtel Wstęp do programowania Pliki Piotr Chrząstowski-Wachtel Pamięci zewnętrzne Pamięć wewnętrzna (RAM) jest jednorodna. Dostęp do każdej komórki jest szybki i kosztuje tyle samo W przypadku pamięci zewnętrznych

Bardziej szczegółowo

Typy plikowe. 1. Wprowadzenie. 2. Podstawowe operacje na plikach. Przetwarzanie plików w języku Pascal 1

Typy plikowe. 1. Wprowadzenie. 2. Podstawowe operacje na plikach. Przetwarzanie plików w języku Pascal 1 Przetwarzanie plików w języku Pascal 1 Typy plikowe 1. Wprowadzenie Jednym z typów złożonych języka Pascal jest typ plikowy. Zmienne typu plikowego stanowią programową reprezentację plików zewnętrznych.

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

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

Podstawy programowania 2. Temat: Wprowadzenie do wskaźników. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Wprowadzenie do wskaźników. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 1 Podstawy programowania 2 Temat: Wprowadzenie do wskaźników Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Rysunek przedstawia najważniejszą różnicę pomiędzy zmiennymi,

Bardziej szczegółowo

Programowanie w językach

Programowanie w językach Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie

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

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

Bardziej szczegółowo

Programowanie strukturalne

Programowanie strukturalne Programowanie strukturalne wykład pliki tekstowe Agata Półrola Wydział Matematyki UŁ sem. letni 2011/2012 http://www.math.uni.lodz.pl/~polrola Pliki wewnętrzne i zewnętrzne Dotychczas przy pobieraniu danych

Bardziej szczegółowo

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne. TEMAT 8: Moduły standardowe

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne. TEMAT 8: Moduły standardowe Pakiet crt zawiera procedury i funkcje, które pozwalają na sterowanie trybem ekranu, kolorami, oknami i dźwiękiem. Opisy procedur są zawarte w pliku pomocy, można je wyświetlić z menu Help Standard units

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

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

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

Lekcja 6: Pascal. Procedura i funkcja

Lekcja 6: Pascal. Procedura i funkcja Lekcja 6: Pascal. Procedura i funkcja S. Hoa Nguyen 1 Materiał Książka: Programowanie w języku Pascal. Rozdział 9. Podprogramy Podprogramy - motywacja Skrócenie zapisu (wielokrotne powtórzenia tej samej

Bardziej szczegółowo

Sortowanie zewnętrzne

Sortowanie zewnętrzne Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często

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

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

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

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

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF). INFORMATYKA kl. II gimnazjum Krzysztof Gładkowski TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF). Czas: 2godz. Przygotowanie środowiska. Pomoce dydaktyczne. Oprogramowanie środowisko

Bardziej szczegółowo

Procedury i funkcje. Przykład programu z procedurą. Definicja. Cechy procedury

Procedury i funkcje. Przykład programu z procedurą. Definicja. Cechy procedury Definicja Procedury i funkcje Procedura to wydzielony fragment programu, który służy do wykonywania pewnych zbiorów instrukcji stanowiących zwartą całość. Procedurę nazywamy czasem podprogramem. 1 2 Przykład

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak

Bardziej szczegółowo

Tabela wewnętrzna - definicja

Tabela wewnętrzna - definicja ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy

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

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4 Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Nr 4 Algorytmy sortowania zewnętrznego 1 Wstęp Bardzo często przy rozwiązywaniu praktycznych

Bardziej szczegółowo

Alfabetyczny spis poleceń Pascala

Alfabetyczny spis poleceń Pascala Alfabetyczny spis poleceń Pascala Nazwa funkcji i Opis polecenia Abs(x); Zwraca wartość bezwzględną przekazanego jej argumentu. Można ją wywoływać tylko z argumentem będącym liczbą całkowitą lub zmiennoprzecinkową.

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

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

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym Procedury i funkcje - powtórzenie i uzupełnienia Przykład funkcji potęgowanie przy wykładniku naturalnym program potegowanie; {$APPTYPE CONSOLE} uses SysUtils; var x: real; n: integer; function Potega(podstawa:

Bardziej szczegółowo

Polecenia wewnętrzne:

Polecenia wewnętrzne: Polecenia wewnętrzne DOS-u znajdują się w pamięci operacyjnej komputera, realizowane przez procesor poleceń COMMANDCOM Polecenia zewnętrzne DOS-u są to pliki ściągane do pamięci operacyjnej każdorazowo

Bardziej szczegółowo

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania, SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Wykład 3 1 SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Przykład Bingo 2 Treść przykładu Jak wygląda karta do

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Standardowa biblioteka szablonów (Standard Template

Bardziej szczegółowo

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne 1. Wstęp Turbo Pascal jest jednym z najpopularniejszych języków programowania wyższego poziomu. Program napisany w tym języku jest ciągiem zdań opisującym określony algorytm. Nazywamy go postacią źródłową

Bardziej szczegółowo

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik Wizualne systemy programowania Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Kolekcje List

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

Matlab Składnia + podstawy programowania

Matlab Składnia + podstawy programowania Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

PODSTAWY PROGRAMOWANIA

PODSTAWY PROGRAMOWANIA PODSTAWY PROGRAMOWANIA Andrzej Marciniak Prezentacja multimedialna przygotowana za pomocą systemu Corel Presentations X3 Copyright 2003-2017 by Andrzej Marciniak PP-4(1 z 88) Na poprzednim wykładzie...

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski Podstawy Pythona Krzysztof Gdawiec Instytut Informatyki Uniwersytet Śląski Słownik jest typem mutowalnym. Każdy element to para: klucz wartość. W celu stworzenia słownika pary klucz wartość umieszczamy

Bardziej szczegółowo

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h>

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h> PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki Pliki TEKSTOWE zawierające ciągi liczb: TXT- 1: Kalkulator sumowanie dwóch liczb zapisanych w pliku tekstowym ( fopen, fscanf, fprintf,

Bardziej szczegółowo

Liczby losowe i pętla while w języku Python

Liczby losowe i pętla while w języku Python Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak

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 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

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku.

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. Program 7 Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. #include #include using namespace std; int main()

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część piąta Proste typy danych w języku Pascal Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie

Bardziej szczegółowo

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

INFORMATYKA. Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki. dr inż. Michał Łanczont

INFORMATYKA. Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki. dr inż. Michał Łanczont INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego 1 SKRYPTY Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego z = 1 y + 1+ ( x + 2) 3 x 2 + x sin y y + 1 2 dla danych wartości x = 12.5 i y = 9.87. Zadanie to można rozwiązać: wpisując dane i wzór wyrażenia

Bardziej szczegółowo

Instrukcja standardowa Writeln

Instrukcja standardowa Writeln Instrukcja standardowa Writeln Instrukcja Writeln umożliwia wprowadzenie danych na ekran monitora powodując automatycznie późniejsze przejście kursora do nowej linii. Jest to ustawienie domyślne w działaniu

Bardziej szczegółowo

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych) I. WSTĘP Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych) Algorytm - sposób na osiągnięcie celu w pewnych ograniczonych krokach. Program komputerowy realizuje zawsze algorytm.

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Funkcje zawarte w bibliotece < io.h >

Funkcje zawarte w bibliotece < io.h > PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece

Bardziej szczegółowo