Programowanie w języku Pascal

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

Download "Programowanie w języku Pascal"

Transkrypt

1 Programowanie w języku Pascal Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227

2 Prezentacja algorytmu w języku programowania Aby przedstawić algorytm w postaci programu, trzeba go napisać jako ciąg instrukcji języka programowania. Każda instrukcja podobnie jak skrzynka w schemacie blokowym odpowiada określonej operacji, dlatego też kolejność występowania instrukcji w programie określa kolejność wykonywania operacji. Nauka programowania nie polega jednak na nauczeniu się na pamięć instrukcji danego języka, ale na zrozumieniu zasad ich działania oraz na umiejętnym ich zastosowaniu. Programowanie w języku Pascal

3 Programowanie algorytm rozwiązuje problem program realizuje algorytm komputer wykonuje program Programowanie w języku Pascal

4 Programowanie ETAPY PROGRAMOWANIA PROBLEM ALGORYTM PROGRAM ŹRÓDŁOWY PROGRAM WYKONYWALNY KOMPUTER 0. WYBÓR-ZNALEZIENIE- OPRACOWANIE ALGORYTMU 1. IMPLEMENTACJA to zapis algorytmu w języku programowania 2. TRANSLACJA to tłumaczenie programu źródłowego na kod maszynowy 3. URUCHOMIENIE programu 4. TESTOWANIE programu Programowanie w języku Pascal

5 Języki programowania ALGORYTM PROGRAMOWANIE kod źródłowy programu kompilator języka interpreter języka KOMPILACJA kod binarny program wykonywalny Programowanie w języku Pascal

6 Program źródłowy i wynikowy PROGRAM (KOD) ŹRÓDŁOWY to algorytm zapisany w języku programowania (języku wysokiego poziomu) Przejrzysta struktura (reguły języka) zrozumiały dla człowieka Niezależność od sprzętu PROGRAM (KOD) WYNIKOWY to program zapisany w języku wewnętrznym (maszynowym) procesora Instrukcje odpowiadają instrukcjom konkretnego procesora Programowanie w języku Pascal

7 Program źródłowy wynikowy TRANSLACJA - tłumaczenie programu źródłowego na kod maszynowy. Używamy do tego programów zwanych translatorami. INTERPRETERY każde polecenie języka wysokiego poziomu jest na bieżąco zamieniane na kod maszynowy i wykonywane (do wykonania programu potrzebne jest uruchomienie interpretera) KOMPILATORY cały program źródłowy jest tłumaczony na kod maszynowy i zapisywany w pliku wykonywalnym (*.exe). Raz skompilowany program jest gotowy do użycia. Programowanie w języku Pascal

8 Struktura programu w Pascalu program polekola; uses crt; const var pi=3.14; p,r:real; begin end. writeln( pole koła ); writeln('podaj promień'); readln(r); p:=pi*r*r*; nagłówek programu część deklaracyjna część wykonawcza writeln(pole koła wynosi,p:4:2) program nazwa; uses lista modułów; const nazwa=wartość; var lista zmiennych:typ; begin instrukcje programu end. nazwa jest jednym wyrazem (bez spacji) nazwa nie zawiera polskich liter deklaracje modułów moduły to zbiory funkcji i procedur, które możemy wykorzystywać w naszych programach definicje stałych deklaracje zmiennych wszystkie zmienne występujące w programie muszą być wcześniej zadeklarowane Kolejność zapisywania instrukcji odpowiada kolejności wykonywania Instrukcje oddzielamy średnikiem Programowanie w języku Pascal

9 Zmienne Zmienna jest synonimem pewnego obszaru pamięci, służącego do przechowywania danych. Posiada trzy podstawowe atrybuty: symboliczną nazwę identyfikator, miejsce przechowywania, wartość; Za pomocą nazwy możemy w kodzie źródłowym odwołać się do zawartości. W programie wartość zmiennej może być odczytywana lub zastępowana nową wartością, tak więc wartość zmiennej może zmieniać się w trakcie wykonywania programu. Nazwa i miejsce przechowywania nie zmieniają się w trakcie istnienia zmiennej Programowanie w języku Pascal

10 Zmienne KAŻDA ZMIENNA UŻYWANA W PROGRAMIE MUSI BYĆ ZADEKLAROWANA dla każdej zadeklarowanej zmiennej rezerwowany jest fragment pamięci o określonym adresie i wielkości zmiennym nadajemy wartości wczytując je z klawiatury lub pliku używając instrukcji przypisania przypisując nową wartość zmiennej automatycznie kasujemy starą Programowanie w języku Pascal

11 Podstawowe typy danych PREDEFINIOWALNE TYPY DANYCH liczby całkowite INTEGER liczby rzeczywiste REAL wartości logiczne BOOLEAN = {TRUE, FALSE} wartości znakowe CHAR łańcuchy STRING STRING[n] łańcuch ograniczony do n znaków Programowanie w języku Pascal

12 Notacja nadmiarowa Wartość dziesiętna liczby zapisanej w dwójkowym kodzie z nadmiarem b n-1 b n-2...b 2 b 1 b 0 (BIAS) = b n-1 2 n-1 + b n-2 2 n b b b bias gdzie b - bit, cyfra dwójkowa 0 lub 1 n - liczba bitów w zapisie liczby bias - nadmiar, odchyłka w stosunku do naturalnych wartości słów kodowych (BIAS=63) = (BIAS=63) = (BIAS=63) = (-32) (10) Programowanie w języku Pascal

13 Liczby duże i małe Zapisywanie liczb oznaczających bardzo duże lub bardzo małe wartości notacja naukowa. Gwiazda Proxima Centauri znajduje się w odległości [km], 9,4608 x Masa elektronu wynosi me = 0, [g], czyli 9,1095 x [g] Programowanie w języku Pascal

14 Zapis zmiennopozycyjny Liczba w tym zapisie składa się z trzech części: liczby stałoprzecinkowej podstawy systemu potęgi zwanej wykładnikiem lub cechą. L = m * p c m mantysa p podstawa systemu c cecha - wykładnik potęgowy Programowanie w języku Pascal

15 Zapis zmiennopozycyjny L = m * p c = 32, = 3, = 0, = dokładność liczby wielkość liczby Znormalizowana liczba zmiennoprzecinkowa to taka, w której mantysa spełnia nierówność: p > m 1 Programowanie w języku Pascal

16 Zapis zmiennopozycyjny L = m * p c Przykład 8-bitowy zapis liczby bit znaku; cecha kodowana z nadmiarem 4 na 3 bitach; mantysa na 4 bitach; liczba dodatnia cecha 110 (BIAS=4) =6-4=2 mantysa czyli Programowanie w języku Pascal

17 Zapis zmiennopozycyjny L = m * p c Przykład 8-bitowy zapis liczby liczba ujemna cecha 011 (BIAS=4) =3-4=-1 mantysa czyli 3 8 Programowanie w języku Pascal

18 Zapis zmiennopozycyjny L = m * p c Przykład cecha powinna mieć wartość 2, (2 + 4 = 6) czyli 110 (BIAS=4) Programowanie w języku Pascal

19 L = m * p c Zapis zmiennopozycyjny Przykład 2.625= utracony bit cecha powinna mieć wartość 2, (2 + 4 = 6) czyli 110 (BIAS=4) czyli a nie Programowanie w języku Pascal

20 Standard zapisu zmiennoprzecinkowego IEEE 754 Standard IEEE 754 definiuje dwa rodzaje liczb zmiennoprzecinkowych: 32-bitowe (pojedynczej precyzji - ang. single precision) 64-bitowe (podwójnej precyzji - ang. double precision). Format zapisu zmiennoprzecinkowego IEEE bity (1 bit) b 31 (8 bitów) b b 23 (BIAS=127) (23 bity)b b 0 (U1) 64 bity (1 bit) b 63 (11 bitów) b b 52 (BIAS=1023) (52 bity)b b 0 (U1) Opis pół bitowych L = m * p c bit znaku bity kodu cechy bity mantysy Programowanie w języku Pascal

21 Standard zapisu Zapis cechy w notacji nadmiarowej umożliwia szybkie porównywanie liczb: większa ma 1-kę na pierwszym od lewej różniącym się polu: zmiennoprzecinkowego > IEEE 754 Format zapisu zmiennoprzecinkowego IEEE bity (1 bit) b 31 (8 bitów) b b 23 (BIAS=127) (23 bity)b b 0 (U1) 64 bity (1 bit) b 63 (11 bitów) b b 52 (BIAS=1023) (52 bity)b b 0 (U1) Opis pół bitowych bit znaku bity kodu cechy bity mantysy Wzrost ilości bitów cech liczb zmiennoprzecinkowych wpływa na ich zakres. L = m * p c Wzrost liczby bitów mantys wpływa na ich precyzję, czyli dokładność odwzorowywania liczb rzeczywistych. Programowanie w języku Pascal

22 Standard zapisu zmiennoprzecinkowego IEEE 754 Mantysy są zapisywane w stałoprzecinkowym kodzie U1. (wartości od -127 wszystkie bity wyzerowane do 128 wszystkie bity ustawione na 1) Mantysa jest prawie zawsze znormalizowana (p>m 1 ) - jej wartość liczbowa zawiera się pomiędzy 1 a 2. Pierwszy bit całkowity mantysy zawsze wynosi 1 => zapamiętujemy tylko bity ułamkowe. Mantysa dłuższa o jeden bit - zwiększamy jej rozdzielczość do 24 bitów dla formatu pojedynczej precyzji i do 53 bitów dla formatu podwójnej precyzji. Programowanie w języku Pascal

23 Standard zapisu zmiennoprzecinkowego IEEE 754 Format zapisu zmiennoprzecinkowego IEEE bity (1 bit) b 31 (8 bitów) b b 23 (BIAS=127) (23 bity)b b 0 (U1) Mantysy są zapisywane w stałoprzecinkowym kodzie U1. (wartości od -127 wszystkie bity wyzerowane do 128 wszystkie bity ustawione na 1) 64 bity (1 bit) b 63 (11 bitów) b b 52 (BIAS=1023) (52 bity)b b 0 (U1) Opis Mantysa pół jest prawie zawsze znormalizowana bity (p>m 1 ułamkowe ) - bit znaku bity kodu cechy bity mantysy bitowych jej wartość liczbowa zawiera się pomiędzy 1 a 2. mantysy Pierwszy bit całkowity mantysy zawsze wynosi 1 => zapamiętujemy tylko bity ułamkowe. Mantysa dłuższa o jeden bit - zwiększamy jej rozdzielczość do 24 bitów dla formatu pojedynczej precyzji i do 53 bitów dla formatu podwójnej precyzji. Programowanie w języku Pascal

24 Standard zapisu zmiennoprzecinkowego IEEE 754 Z kodu wydzielamy poszczególne pola Do odczytanej mantysy dodajemy na początku 01 i przecinek - otrzymujemy dodatnią liczbę stałoprzecinkową w kodzie U1. Obliczamy wartość cechy i mantysy, a następnie wyliczamy wartość liczby wg wzoru: L (IEEE 754) = m * p c = (-1) z *m*2 c (IEEE 754) ) z = 0 - liczba jest dodatnia c = (BIAS=127) = = 6 m = 01, (U1) = 1 9 / 16 Programowanie w języku Pascal

25 Standard zapisu zmiennoprzecinkowego IEEE 754 Z kodu wydzielamy poszczególne pola L (IEEE 754) = (-1) z * m * 2 c = (-1) 0 * 1 9 / 16 * 2 6 = 25 / 16 * 2 6 = Do 25 odczytanej * 2 2 = 25 * 4 mantysy = 100 (10) dodajemy na początku 01 i przecinek otrzymujemy dodatnią liczbę stałoprzecinkową (IEEE w 754) kodzie = 100 U1. (10) Obliczamy wartość cechy i mantysy, a następnie wyliczamy wartość liczby wg wzoru: L (IEEE 754) = m * p c = (-1) z *m*2 c (IEEE 754) ) z = 0 - liczba jest dodatnia c = (BIAS=127) = = 6 m = 01, (U1) = 1 9 / 16 Programowanie w języku Pascal

26 Zakres w standardzie IEEE 754 Największa cecha i mantysa cecha (BIAS=127) c = c = (BIAS=127) wartość zdenormalizowana mantysa (U1) m = 01, (U1) m = 1+ (2 23-1) / 2 23 = (2 24-1) / 2 23 max (IEEE 754) = m 2 c max (IEEE 754) = (2 24-1) / max (IEEE 754) = (2 24-1) max (IEEE 754) = 3, Programowanie w języku Pascal

27 Zakres w standardzie IEEE 754 W pojedynczej precyzji Z (IEEE 754) = - 3, , W podwójnej precyzji Z (IEEE 754) = - 1, , Programowanie w języku Pascal

28 Precyzja liczb IEEE 754 Precyzję zapisu liczby zawsze wyznacza ilość dostępnych bitów mantysy. Jedną cyfrę dziesiętną koduje (statystycznie) log 2 (10) bitów mantysy W pojedynczej precyzji - 24 bity mantysy 24 / log 2 (10) = 24 / 3,32 = 7,2 cyfr W podwójnej precyzji - 53 bity mantysy 53 bity / log 2 (10) = 53 bity / 3,32 = 15,96 cyfr Programowanie w języku Pascal

29 Przykład komórka zawierająca zapis może oznaczać: liczbę 65 lub kod litery A typ Rodzaj danych Zakres wartości rozmiar char znaki Znaki alfabetu ASCII 1 bajt boolean wartości logiczne TRUE/FALSE 1 bajt byte Liczby naturalne [0;255] 1 bajt shortint Liczby całkowite [-128;127] 1 bajt word Liczby naturalne [0;65 535] 2 bajty integer Liczby całkowite [ ;32 767] 2 bajty long Liczby całkowite [ ; ] 4 bajty real Liczby rzeczywiste (-1,7 38 ;1,7 38) cyfr znaczących 6 bajtów single Liczby rzeczywiste (-3,4 38 ;3,4 38 ) 7-8 cyfr znaczących 4 bajtów double Liczby rzeczywiste (-1,7 308 ;1,7 308) cyfr znaczących 8 bajtów extended Liczby rzeczywiste (-1, ;1,1 4392) cyfr znaczących 10bajtów Programowanie w języku Pascal

30 Instrukcje wejścia Służą do wprowadzania danych do programu Read(lista zmiennych); Readln(lista zmiennych); wczytanie ( z klawiatury) zmiennych wymienionych w nawiasie wczytanie ( z klawiatury) zmiennych wymienionych w nawiasie, a następnie przeniesienie kursora do następnej linii Programowanie w języku Pascal

31 Wprowadź z Służą do wprowadzania danych do programu Przykład dla zmiennych x, y, z, t wprowadzamy odpowiednio wartości read(x,y); read(z); read(t); readln(x,y); readln(z); read(t); Instrukcja Sposób wprowadzenia (ekran) <ENTER> 4 12 <ENTER> 5 <ENTER> 8 <ENTER> Programowanie w języku Pascal

32 Instrukcje wyjścia Służą do wyprowadzania wyników lub komunikatów Write(lista zmiennych); Writeln(lista zmiennych); wypisanie wartości zmiennych wymienionych w nawiasie wypisanie wartości zmiennych wymienionych w nawiasie, a następnie przeniesienie kursora do następnej linii Writeln( tekst komunikatu ); Tekst ujęty w apostrofach zostanie wypisany na ekranie Programowanie w języku Pascal

33 Wypisz j Przykład dla zmiennych i, j, k o wartościach 12, 4 i 78 Instrukcja write( oto liczby: ); write(i); write(j); write(k); writeln( oto liczby: ); write(i); writeln(j); write(k); Sposób wyprowadzenia (ekran) oto liczby: oto liczby: Programowanie w języku Pascal

34 Formatowanie wydruku liczby całkowite: writeln(zmienna:l_cyfr) l_cyfr - długość liczby (w znakach), Przykład dla zmiennych n = 153, k = 76 Instrukcja Ekran Write(n,k); Write(n:3,k:3); Write(n:5,k:5); Programowanie w języku Pascal

35 Formatowanie wydruku liczby rzeczywiste: writeln(zmienna:l_cyfr :c_dzies) l_cyfr - długość liczby (w znakach) łącznie z przecinkiem c_dzies liczba cyfr po przecinku Przykład dla zmiennej x=9,75 Instrukcja Write(X); Ekran E+00 Write(x:4:2) 9.75 Write(x:3:1) 9.8 Write(x:5:1) 9.8 Write(x:8:4) Programowanie w języku Pascal

36 Instrukcja przypisania Służy do nadawania wartości zmiennym przez program zmienna := wyrażenie; S a + b wyrażenie (wzór) to zapis obliczeń składający się ze zmiennych, operatorów działań i funkcji wartość obliczona na podstawie wyrażenia zostanie przypisana zmiennej typ zmiennej musi być zgodny z typem wyrażenia Programowanie w języku Pascal

37 Instrukcja przypisania Służy do nadawania wartości zmiennym przez program Operacje arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie rzeczywiste przykład: 7/2=3,5 div dzielenie całkowite przykład: 7 div 3 = 2 mod reszta z dzielenia całkowitego przykład: 7 mod 3 = 1 Programowanie w języku Pascal

38 Budowa wyrażeń Zasady zapisu: wszystkie działania muszą być jawne np. y:=2*a a nie y:=2a do grupowania działań służy nawias zwykły np y:=1/((1/x)+1) Kolejność działań: wartości funkcji wyrażenia w nawiasach mnożenie i dzielenie dodawanie i odejmowanie Programowanie w języku Pascal

39 a 2 b h Budowa wyrażeń (a+b)/2*h a b cd a b c d (a+b)/c*d (a+b)/(c*d) 1 x 2 1 1/sqrt(x*x+1) 2 sin cos 2 2 2*sin((a+b)/2)*cos((a-b)/2) Programowanie w języku Pascal

40 Funkcje standardowe abs(x) - wartość bezwzględna sqr(x) - kwadrat sqrt(x) - pierwiastek kwadratowy ln(x) - logarytm naturalny z x exp(x) - e x sin(x) - sinus (x w radianach) cos(x) - cosinus (x w radianach) arctan(x) - arcus tangens x (wynik w mierze łukowej) round(x) - zaokrąglenie do najbliższej liczby całkowitej round(7.67)=8 trunc(x) - obcięcie części ułamkowej trunc(7.67)=7 Programowanie w języku Pascal

41 Instrukcja warunkowa Pozwala na podjęcie decyzji, którą instrukcję ma wykonać w zależności od postawionego warunku a 0 Tak Nie wynik a wynik -a Wypisz wynik Programowanie w języku Pascal

42 Instrukcja warunkowa Pozwala na podjęcie decyzji, którą instrukcję ma wykonać w zależności od postawionego warunku a 0 Tak Nie wynik a wynik -a IF warunek THEN instrukcje_gdy_tak Wypisz wynik - wykonywana jest gdy warunek jest spełniony ELSE instrukcje_gdy_nie; - wykonywana jest gdy warunek nie jest spełniony Programowanie w języku Pascal

43 Instrukcja warunkowa Pozwala na podjęcie decyzji, którą instrukcję ma wykonać w zależności od postawionego warunku Przykład 1: if (x=1) then y:=0.5*x*x-4 else y:=1/(x-1); Przykład 2: Readln(x); if (x<0) then x:=x*(-1); Writeln( wartość bezwzględna=,x); Programowanie w języku Pascal

44 Warunek, operacja, operator IF warunek THEN... warunek czyli wyrażenie logiczne wyrażenie logiczne (warunek) to zapis warunku przy użyciu operatorów relacji lub operacji logicznych wyrażenie logiczne przyjmuje wartość TRUE lub FALSE (może być fałszywe lub prawdziwe) Programowanie w języku Pascal

45 Warunek, operacja, operatory relacji = - równe <> - różne < - mniejsze > - większe <= - mniejsze lub równe >= - większe lub równe operator operacje logiczne not and - negacja - iloczyn logiczny or - suma logiczna przykłady wyrażeń logicznych a > b ( a > b ) or ( a > c ) ( a <> 0 ) and ( ( a> b ) or ( a > c ) ) Programowanie w języku Pascal

46 Instrukcja złożona Służy do grupowania kilku instrukcji w celu łącznego wykonania (lub nie wykonania) begin... instrukcje programu;... end; Programowanie w języku Pascal

47 Instrukcja złożona Instrukcja warunkowa IF...THEN..ELSE sama z siebie domyślnie warunkiem (na tak lub nie) obejmuje tylko jedną instrukcję programu if x=0 then writeln( y nie istnieje ) else y:=1/x; writeln( y=,y:5:2); if x<>0 then writeln( y nie istnieje ); else begin y:=1/x; writeln( y=,y:5:2) end; elementem instrukcji warunkowej jest tylko y:=1/x; writeln( y=,y:5:2); wykona się niezależnie od wartości x Obie instrukcje zostaną wykonane (lub nie) - zależnie od wartości x Programowanie w języku Pascal

48 Instrukcja wyboru Pozwala na wybór jednej spośród kilku instrukcji w zależności od wartości wyrażenia sterującego (selektora) CASE (wyrażenie) OF w 1 :instrukcja 1; w 2 :instrukcja 2; w 3 :instrukcja 3;... END; obliczana jest wartość wyrażenia w nawiasie wyrażenie musi być typu całkowitego lub znakowego wykonywana jest instrukcja odpowiadająca obliczonej wartości jeżeli obliczonej wartości wyrażenia nie ma na liście nie zostanie wykonana żadna z instrukcji gdy dla jednej wartości wyrażenia należy wykonać kilka instrukcji stosujemy instrukcję złożoną (begin... end) Programowanie w języku Pascal

49 Instrukcja wyboru Pozwala na wybór jednej spośród kilku instrukcji w zależności od wartości wyrażenia sterującego (selektora) Case (kont div 90+1) of 1:writeln( pierwsza ćwiartka ); 2:writeln( druga ćwiartka ); 3:writeln( trzecia ćwiartka ); 4:writeln( czwarta ćwiartka ); end; Obliczane jest wyrażenie (kont div 90)+1 Wykonywana jest instrukcja informująca do której ćwiartki należy wartość kont Programowanie w języku Pascal

50 Instrukcja iteracyjna FOR Pozwala na powtarzanie instrukcji określoną ilość razy S 0 L N Tak L > 0 Nie S S + L L L 1 Pisz S Programowanie w języku Pascal

51 Instrukcja iteracyjna FOR S 0 L N Tak L > 0 Nie FOR zmienna:=wart.początkowa TO wart. końcowa DO instrukcja; S S + L L L 1 Pisz S FOR zmienna:=wart.początkowa DOWNTO wart. końcowa DO instrukcja; Po każdym wykonaniu instrukcji zmienna jest automatycznie modyfikowana o 1 zmienna musi być typu całkowitego w górę dla TO w dół dla DOWNTO Instrukcja wykonywana jest tyle razy aby zmienna startując od wartości początkowej osiągnęła wartość końcową Programowanie w języku Pascal

52 Instrukcja iteracyjna FOR Pozwala na powtarzanie instrukcji określoną ilość razy for i:=1 to 10 do suma:=suma+i; for i:=1 to 10 do begin write( liczba= ); readln(liczba); suma:=suma+liczba; end; gdy pętlą jest objętych kilka instrukcji (linijek) trzeba stosować instrukcję złożoną Programowanie w języku Pascal

53 Instrukcja cykliczna repeat...until Pozwala na powtarzanie instrukcji nieokreśloną ilość razy aż do spełnienia zadanego warunku Tak Czytaj Liczba S <=30 Nie Wypisz Liczba Pisz S S S + Liczba Programowanie w języku Pascal

54 Instrukcja cykliczna repeat...until Pozwala na powtarzanie instrukcji nieokreśloną ilość razy aż do spełnienia zadanego warunku REPEAT instrukcja; UNTIL warunek; instrukcja (instrukcje) umieszczone wewnątrz pętli będą wykonywane dopóki warunek nie zostanie spełniony; po spełnieniu warunku program opuści pętlę repeat write( liczba= ); readln(liczba); suma:=suma+liczba; until suma<=100; najpierw wykonywana jest instrukcja, a później sprawdzany jest warunek między słowami kluczowymi repeat...until możemy umieścić kilka instrukcji - powtarzane są wszystkie Programowanie w języku Pascal

55 Instrukcja cykliczna while...do Pozwala na powtarzanie instrukcji nieokreśloną ilość razy tak długo jak długo warunek jest spełniony WHILE warunek DO instrukcja; instrukcja jest powtarzana tak długo jak długo jest spełniony warunek gdy warunek nie będzie spełniony program opuści pętlę najpierw sprawdzany jest warunek, a później wykonywana jest instrukcja Programowanie w języku Pascal

56 Instrukcja cykliczna while...do Pozwala na powtarzanie instrukcji nieokreśloną ilość razy tak długo jak długo warunek jest spełniony while (a*b)<>0 do if a>b then a:=a mod b else b:=b mod a; while suma<100 do begin write( liczba= ); readln(liczba); suma:=suma+liczba; end; gdy warunkiem jest objętych kilka instrukcji (linijek) trzeba stosować instrukcję złożoną Programowanie w języku Pascal

57 Tablice - wstęp Służą do przechowywania ustalonej liczby elementów (liczb całkowitych, rzeczywistych lub znaków) tego samego typu. tablica posiada nazwę każde pole tablicy posiada numer (indeks) nazwa nr pola liczby Dostęp do każdego elementu tablicy uzyskujemy poprzez nazwę (tablicy) i numer Przykład odwołanie się do elementu tablicy: liczby[2]=1 liczby[6]=8 Programowanie w języku

58 Tablice - deklaracje deklaracja klasyczna definicja 10 elementowej tablicy liczb całkowitych o nazwie liczby var liczby:array[1..10] of integer; nazwa rozmiar typ elementów Rozmiar tablicy musi być stałą liczbą całkowitą Programowanie w języku

59 Tablice- deklaracje Można również zdefiniować tablicę o określonym rozmiarze jako nowy typ danych, a następnie zadeklarować zmienną tego typu program przykład; type tablica=array[1..10] of integer; definicja typu danych tablica var liczby:tablica;... deklaracja zmiennej typu tablica Programowanie w języku

60 Tablice - odwołania do elementów Nadawanie wartości: poprzez wczytanie z klawiatury: read (liczby[i]); poprzez instrukcję przypisania : liczby[i]:=wyrażenie; Przypisywanie wartości całej tablicy wykonujemy nadając wartość każdemu elementowi z osobna Lub For i:=1 to 10 do liczby[i]:=wyrażenie; For i:=1 to 10 do readln (liczby[i]);

61 Tablice - odwołania do elementów Wyprowadzanie wartości elementów tablicy również każdy element osobno For i:=1 to 10 do write (liczby[i]); Programowanie w języku

62 Łańcuchy Służą do przechowywania ciągu znaków (w tym spacji). Łańcuchy mogą mieć do 255 znaków. deklaracja zmiennej łańcuchowej: var nazwa:string[liczba znaków]; - gdy brak liczby znaków Pascal przyjmie 255 Przykład deklaracja 30 znakowego łańcucha o nazwie wyraz var wyraz:string[30]; Programowanie w języku

63 Łańcuchy Łańcuchy możemy traktować jak tablice znaków wyraz = parowóz to wyraz[1]= p wyraz[4]= o Wprowadzanie zawartości łańcucha przez wczytanie z klawiatury readln(wyraz); instrukcja przypisania wyraz:= parowóz tekst musi być ujęty w pojedyncze apostrofy Programowanie w języku

64 Łańcuchy - funkcje i procedury length(łańcuch) określenie długości łańcucha (liczba znaków) length( parowoz )=7 pos(podłańcuch, łańcuch) określenie pozycji od której zaczyna się podłańcuch pos( men, dokumentacja )=5 Programowanie w języku

65 Łańcuchy - funkcje i procedury concat(łańcuch1,łańcuch2,...) połączenie kilku łańcuchów w jeden copy(łańcuch,indeks,licznik) skopiowanie z łańcucha licznik znaków począwszy od indeks copy( dyrygent,5,3) oznacza gen Programowanie w języku

66 Łańcuchy - funkcje i procedury delete(łańcuch,indeks,licznik) usunięcie z łańcucha licznik znaków począwszy od indeks delete( telefon,1,4) da w wyniku fon insert(podłańcuch,łańcuch,indeks) wstawienie podłańcucha do łańcucha na określonym przez indeks miejscu insert( promujemy, gra,4) da w wyniku programujemy Programowanie w języku

67 Łańcuchy - funkcje i procedury Zamiana liczba - łańcuch Val(łańcuch,liczba,kod)- zamiana łańcucha na liczbę (kod<>0 oznacza błąd) Str(liczba,łańcuch) zamiana liczby na łańcuch Programowanie w języku

68 Tablice dwuwymiarowe Służą do przechowywania ustalonej liczby elementów (liczb całkowitych, rzeczywistych lub znaków) tego samego typu wiersze kolumny każde pole posiada dwa indeksy odwołanie do elementu tablicy wygląda tak: nazwa[wiersz, kolumna] tablica[1,3]=2 tablica[2,1]=10 tablica[4,10]=8 Programowanie w języku

69 Tablice dwuwymiarowe deklaracja klasyczna tablica liczb całkowitych złożona z : 4 wierszy i 10 kolumn o nazwie tabliczka var tabliczka:array[1..4, 1..10] of integer; nazwa l.wierszy, l.kolumn typ elementów Programowanie w języku

70 Tablice dwuwymiarowe Przypisywanie wartości całej tablicy w podwójnej pętli for i:=1 to 4 do for j:=1 to 10 do tabliczka[i,j]:=wyrażenie; Lub for i:=1 to 4 do for j:=1 to 10 do readln(tabliczka[i,j]); Wyprowadzanie wartości elementów tablicy for i:=1 to 4 do for j:=1 to 10 do write(tabliczka[i,j]); Programowanie w języku

71 Podprogramy Pewne obliczenia (zestawy instrukcji) mogą być wykonywane w programie wielokrotnie dla takich samych lub innych danych. Korzystne jest wydzielenie takich fragmentów w postaci podprogramów. Podprogram służy do wyodrębnienie pewnego fragmentu programu, stanowiącego pewną całość logiczną w całość fizyczną identyfikowaną za pomocą nazwy. Taki podprogram może być wywołany w wielu miejscach programu. Programowanie w języku

72 Podprogramy Pascal posiada dwa rodzaje podprogramów Procedury używane do wykonania przez program jakiejś złożonej czynności np. wczytanie lub wydrukowanie zawartości tablicy, wyczyszczenie ekranu itp. Funkcje wykonują zespół instrukcji, którego efektem jest obliczenie jakiejś wartości ( być może poprzez wykonanie wielu rachunków elementarnych) Programowanie w języku

73 Definicja procedury: procedure nazwa(lista parametrów); var lista zmiennych; begin zestaw instrukcji; end; Procedury Zdefiniowaną procedurę wywołujemy w programie podając jej nazwę z listą parametrów Program TakieCosTam; uses crt; type type Tablica=array[1..10] of real; Tablica=array[1..10] of real; procedure CzytajTablice(var t:tablica); var var i:integer; begin a,b,c,d:tablica; for i:=1 to 10 do Begin begin ClrScr; write( t[,i:2, ]= ); for readln(t[i]); i:=1 to 10 do end; begin end; write( a[,i:2, ]= ); readln(a[i]); write( b[,i:2, ]= ); var readln(b[i]); a, b, write( c[,i:2, ]= ); c, d:tablica; Begin readln(c[i]); ClrScr; write( c[,i:2, ]= ); CzytajTablice(a); readln(c[i]); CzytajTablice(b); CzytajTablice(c); CzytajTablice(d); end; Programowanie w języku end

74 Procedury Program TakieCosTam; uses crt; type Tablica=array[1..10] of real; Definicja procedury: procedure nazwa(lista parametrów); var lista zmiennych; begin zestaw instrukcji; end; procedure CzytajTablice(var t:tablica); var i:integer; begin for i:=1 to 10 do begin write( t[,i:2, ]= ); readln(t[i]); end; end; Zdefiniowaną procedurę wywołujemy w programie podając jej nazwę z listą parametrów var a, b, c, d:tablica; Begin ClrScr; CzytajTablice(a); CzytajTablice(b); CzytajTablice(c); CzytajTablice(d); Programowanie w języku end

75 Definicja funkcji: function nazwa(lista parametrów):typ funkcji; var lista zmiennych; begin zestaw instrukcji; nazwa:=wyrażenie; end; Typ funkcji to typ wartości obliczanej przez funkcję Funkcje W zestawie instrukcji musi pojawić się instrukcja przypisania wartości obliczanej przez funkcję Funkcję wywołujemy w programie używając jej (z listą parametrów) w instrukcji przypisania Program TakieCosTam; uses crt; function maks(x,y:real):real; begin if x>y then maks:=x else maks:=y; end; var a,b,c:real; begin ClrScr; readln(a); readln(b); c:=maks(a,b);... end. Programowanie w języku

76 Zmienne globalne i lokalne Pascal wymaga zadeklarowania każdej zmiennej poprzez podanie jej nazwy i typu jest to związane przydzieleniem dla niej miejsca w pamięci operacyjnej W programie głównym deklarujemy zmienne globalne to znaczy takie które są widoczne w całym programie (zmienne globalne mają przydzieloną pamięć przez cały czas pracy programu) W procedurach i funkcjach deklarujemy zmienne lokalne widziane tylko przez podprogram w programie głównym nie są one widoczne (zmienne lokalne mają pamięć przydzieloną tylko na czas wykonywania podprogramu po jego wykonaniu pamięć jest zwalniana a wartość zmiennej ulega zagubieniu) Programowanie w języku

77 Przekazywanie parametrów Pascal pozwala przekazywać parametry do procedur i funkcji na dwa sposoby przez wartość procedure pisz(t:tablica); var i:integer; begin for i:=1 to 10 do writeln(t[i]); end; wartości parametrów są kopiowane do zmiennych lokalnych po zakończeniu procedury zmiany ulegają zapomnieniu (pozostaje wartość pierwotna parametru) przez zmienną procedure czytaj(var t:tablica); var i:integer; begin for i:=1 to 10 do readln(t[i]); end; procedura otrzymuje dostęp do zmiennej globalnej (adres w pamięci operacyjnej) wprowadzone zmiany pozostają po wykonaniu procedury Programowanie w języku

78 Przykład komórka zawierająca zapis może oznaczać: liczbę 65 lub kod litery A typ Rodzaj danych Zakres wartości rozmiar char znaki Znaki alfabetu ASCII 1 bajt boolean wartości logiczne TRUE/FALSE 1 bajt byte Liczby naturalne [0;255] 1 bajt shortint Liczby całkowite [-128;127] 1 bajt word Liczby naturalne [0;65 535] 2 bajty integer Liczby całkowite [ ;32 767] 2 bajty long Liczby całkowite [ ; ] 4 bajty real Liczby rzeczywiste (-1,7 38 ;1,7 38) cyfr znaczących 6 bajtów single Liczby rzeczywiste (-3,4 38 ;3,4 38 ) 7-8 cyfr znaczących 4 bajtów double Liczby rzeczywiste (-1,7 308 ;1,7 308) cyfr znaczących 8 bajtów extended Liczby rzeczywiste (-1, ;1,1 4392) cyfr znaczących 10bajtów Programowanie w języku

79 Deklaracja własnych typów danych Oprócz standardowych typów danych użytkownik może definiować własne Definicję rozpoczynamy kluczowym słowem TYPE Po którym następuje definicja: nazwa_typu=opis_typu; Programowanie w języku

80 Deklaracja własnych typów danych Przykład: definiujemy typ napisowy o długości 20 znaków: tekst20=string[20]; definiujemy 10 elementową tablicę liczb całkowitych tab10int=array[1..10] of integer; Po zdefiniowaniu typu deklarujemy zmienną, która będzie ten typ wykorzystywała type tekst=string[30]; var komunikat:tekst; begin komunikat:= wszystko gra ;... Programowanie w języku

81 Typ wyliczeniowych Używany jest gdy pewne wartości stałe używane w programie mają odpowiedniki tekstowe [identyfikatory]: type nazwa_typu =(lista identyfikatorów); Przykładem mogą być oceny... 1)Wykaz identyfikatorów <=255 pozycji 2)Nie mogą być słowami zastrzeżonymi 3)Są ponumerowane od 0 do n-1 type oceny=(niedostateczny,dopuszczajacy,dostateczny,dobry,bardzo_dobry,celujacy); var odp, kl, pk : oceny; Programowanie w języku

82 Typ wyliczeniowych Używany jest gdy pewne wartości stałe używane w programie mają odpowiedniki tekstowe [identyfikatory]: Dostępne funkcje: ORD(identyfikator) zwraca numer identyfikatora ORD( dobry )=3 PRED(identyfikator) zwraca poprzedni identyfikator PRED( dobry )= dostateczny SUCC(identyfikator) - zwraca następny identyfikator SUCC( dobry )= bardzo _dobry Programowanie w języku

83 Typ okrojony Dotyczy konkretnego typu bazowego. Zbiór wartości typu okrojonego jest podzbiorem zbioru wartości typu bazowego. Definiujemy jak każdy inny typ użytkownika (potem deklarujemy zmienną nowozdefiniowanego typu) Możemy zdefiniować typ podczas deklarowania zmiennych type miesiac=1..12; var mc_ur : miesiac; var mc_ur : 1..12; dz_ur : 1..31; Próba nadania zmiennej typu okrojonego wartości spoza zakresu kończy się błędem wykonania Programowanie w języku

84 Rekordy dostęp do pól Rekord jest zmienną złożoną [strukturą] służącą do przechowywania danych różnego typu. Każde pole ma nazwę Każde pole ma określony typ danych,które przechowuje rekord data rekord osoba dzień l.całkowita miesiąc l.całkowita rok l.całkowita nazwisko łańcuch imię łańcuch wiek l.całkowita Programowanie w języku

85 Rekordy dostęp do pól rekord osoba nazwisko łańcuch imię łańcuch wiek l.całkowita type osoba=record imie:string[30]; nazwisko:string[50]; wiek:integer; end; Deklaracja zmiennych rekordowych: var uczen, nauczyciel, dyrektor : osoba; Programowanie w języku

86 Rekordy Dostęp do pól rekordu (wprowadzanie lub wyprowadzanie danych) uzyskujemy: var Podając nazwę zmiennej (rekordu) i nazwę pola oddzieloną kropką Korzystając z instrukcji with podajemy nazwę zmiennej a następnie używamy tylko nazwy pola uczen,nauczyciel:osoba; begin readln(uczen.nazwisko); readln(uczen.imie); readln(uczen.wiek);... var uczen,nauczyciel:osoba;... with uczen do begin readln(nazwisko); readln(imie); readln(wiek); end;... Programowanie w języku

87 Pliki Pliki zawierają dane przechowywane w pamięci dyskowej są zachowywane po zakończeniu pracy z programem Pliki reprezentowane są w programie przez zmienną plikową Zmienna plikowa musi zostać związana ze znajdującym się na dysku plikiem fizycznym [Plik fizyczny stanowi obszar pamięci dyskowej identyfikowalny poprzez nazwę] Podczas pracy programu dane z pliku są sprowadzane do pamięci operacyjnej tam są przetwarzane Programowanie w języku

88 Pliki Dane w plikach są zapisywane po kolei (sekwencyjnie) można je odczytywać po kolei lub zażądać odczytania elementu o określonym numerze. Liczba elementów w pliku jest dowolna (ograniczona wolnym miejscem na dysku) Po przetworzeniu dane mogą być zapisane do tego samego lub innego pliku Programowanie w języku

89 Pliki - rodzaje Pliki tekstowe składają się ze znaków kodów ASCII pogrupowanych we wiersze o różnej długości Wiersz kończy się parą znaków CR LF (#10 #13) Plik kończy się znakiem końca pliku EOF (#26) Pliki binarne dane zapisane są binarnie (liczby dwójkowe) nie nadają się do bezpośredniego oglądania wymagają interpretacji przez program Pliki zdefiniowane składają się z elementów o określonej strukturze (np. ze zdefiniowanych w programie rekordów) Pliki niezdefiniowane poszczególne porcje danych mogą mieć różny rozmiar i różne znaczenie program odczytujący musi wiedzieć co tam jest Programowanie w języku

90 Pliki - przetwarzanie Deklaracja zmiennej plikowej zm_plik:rodzaj pliku; text plik tekstowy file of element - plik elementów File plik niezdefiniowany Skojarzenie zmiennej z plikiem fizycznym Otwarcie pliku Wykonanie operacji na pliku ReWrite(zm_plik); Reset(zm_plik); Append(zm_plik); Assign(zm_plik, nazwa pliku); Read(zm_plik, lista zmiennych); Write(zm_plik, lista zmiennych); nazwa pliku ze ścieżką dostępu nowy pliku do zapisu danych plik do odczytu danych plik tekstowy do dopisania danych na końcu Zamknięcie pliku Close(zm_plik); plik otwarty musi zostać zamknięty Programowanie w języku

91 Pliki - przydatne funkcje EOF(zm_plik) zwraca TRUE gdy osiągnięto koniec pliku EOLN(zm_plik) zwraca TRUE gdy osiągnięto koniec linii w pliku tekstowym Seek(zm_plik,n) ustawia wskaźnik pliku na elemencie o numerze n FilePos(zm_plik) zwraca aktualną pozycję wskaźnika pliku FileSize(zm_plik) zwraca liczbę elementów pliku IOResult zwraca 0 gdy ostatnią operację na pliku wykonano pomyślnie w przeciwnym wypadku zwraca kod błędu Programowanie w języku

92 PROBLEM ALGORYTM PROGRAM ŹRÓDŁOWY PROGRAM WYKONYWALNY KOMPUTER ETAPY PROGRAMOWANIA 0. WYBÓR-ZNALEZIENIE- OPRACOWANIE ALGORYTMU 1. IMPLEMENTACJA to zapis algorytmu w języku programowania 2. TRANSLACJA to tłumaczenie programu źródłowego na kod maszynowy 3. URUCHOMIENIE programu 4. TESTOWANIE programu 12/8/2016 Język Pascal - Grafika 92

93 program pole_kola; uses crt; const pi=3.14; var p,r:real; begin writeln( pole koła ); writeln('podaj promień'); readln(r); p:=pi*r*r*; nagłówek programu część deklaracyjna część wykonawcza writeln(pole koła wynosi,p:4:2) end. program nazwa; uses lista modułów; const nazwa=wartość; var lista zmiennych:typ; begin instrukcje programu end. nazwa jest jednym wyrazem (nie spacji), nie zawiera polskich liter deklaracje modułów moduły to zbiory funkcji i procedur, które możemy wykorzystywać w naszych programach definicje stałych deklaracje zmiennych wszystkie zmienne występujące w programie muszą być wcześniej zadeklarowane Kolejność zapisywania instrukcji odpowiada kolejności wykonywania Instrukcje oddzielamy średnikiem Programowanie w języku Pascal 93

94 Pascal posiada dwa rodzaje podprogramów Procedury używane do wykonania przez program jakiejś złożonej czynności np. wczytanie lub wydrukowanie zawartości tablicy, wyczyszczenie ekranu itp. Funkcje wykonują zespół instrukcji, którego efektem jest obliczenie jakiejś wartości ( być może poprzez wykonanie wielu rachunków elementarnych) 12/8/2016 Język Pascal - Grafika 94

95 Program TakieCosTam; uses crt; type tablica=array[1..10] of integer; procedure nazwa (lista parametrów); var lista zmiennych; begin zestaw instrukcji; end; procedure WypiszTablice(var t:tablica); var i:integer; begin writeln ('Zawartosc tablicy:'); for i:=1 to 10 do writeln('t[',i:2,']=', t[i]); end; var a,b :tablica; i:integer; Zdefiniowaną procedurę wywołujemy w programie podając jej nazwę z listą parametrów Begin for i:=1 to 10 do begin a[i]:=i*2; b[i]:= i; end; WypiszTablice(a); WypiszTablice(b); end. 12/8/2016 Język Pascal - Grafika 95

96 function nazwa (lista param.):typ ; var lista zmiennych; begin zestaw instrukcji; nazwa := wartość end; Zdefiniowaną funkcję wywołujemy w programie podając jej nazwę z listą parametrów w miejscu gdzie może wystąpić wyrażenie Program funkcja; uses crt; type Tablica=array[1..10] of integer; function srednia (var t:tablica): real; var i, suma : integer; suma := 0; begin for i:=1 to 10 do suma := suma + t[i]; srednia := suma/10; end; var a,b :tablica; i:integer; Begin for i:=1 to 10 do begin a[i]:=i*2; b[i]:= i; end; writeln('srednia tablicy a =', srednia(a)); writeln('srednia tablicy b = ', srednia(b)); end. Język Pascal - Grafika 96

97 W programie głównym deklarujemy zmienne globalne to znaczy takie które są widoczne w całym programie (zmienne globalne mają przydzieloną pamięć przez cały czas pracy programu) W procedurach i funkcjach deklarujemy zmienne lokalne widziane tylko przez podprogram w programie głównym nie są one widoczne (zmienne lokalne mają pamięć przydzieloną tylko na czas wykonywania podprogramu po jego wykonaniu pamięć jest zwalniana, a wartość zmiennej ulega zagubieniu) 12/8/2016 Język Pascal - Grafika 97

98 Program zmienne; uses crt; var zmienna_1 : integer; procedure pierwsza ( ); var zmienna_2 :integer; //zmienna globalna //zmienna lokalna w procedurze begin zmienna_2 :=2; writeln('w procedurze zmienna_1 = ', zmienna_1:2); writeln('w procedurze zmienna_2 = ', zmienna_2:2); writeln('w procedurze zmienna_3 = ', zmienna_3:2); end; var zmienna_3 : integer; ; //zmienna lokalna w procedurze głównej begin zmienna_3:=3 zmienna_1 :=1; writeln('zmienna_1 = ', zmienna_1:2); writeln('zmienna_2 = ', zmienna_2:2); writeln('zmienna_3 = ', zmienna_3:2); pierwsza(); end. 12/8/2016 Język Pascal - Grafika 98

99 procedure p_1(a_1 : integer); begin writeln (procedura p_1 parametr a_1 = ', a_1:3); a_1:=21; writeln (procedura p_1 parametr a_1 = ', a_1:3); end; procedure p_2(var a_2 : integer); begin writeln (procedura p_2 parametr a_2 = ', a_2 :3); a_2:=45; writeln (procedura p_2 parametr a_2 = ', a_2 :3); end; var b : integer; begin b :=10; writeln (program glowny b = ', b:3); p_1( b ); writeln ('po pocedurze p_1 b = ', b:3); b:=10; p_2( b ); writeln ('po pocedurze p_2 b = ', b:3); end. 12/8/2016 Język Pascal - Grafika 99

100 Wszystkie polecenia języka Turbo Pascal zostały uporządkowane w postaci grup zwanych modułami (ang. units). Istnieje kilka standardowych modułów, które zostały dołączone do programu Pascal (System, Dos, Crt, Printer, Graph, itp.) Moduł standardowy System jest dostępny automatycznie. Pozostałe wymagają świadomego dołączenia przez programistę. Możliwe jest również tworzenie własnych modułów. 12/8/2016 Język Pascal - Grafika 100

101 Wśród modułów standardowych wyróżniamy: System zawiera procedury standardowe języka; Crt zawiera procedury obsługi ekranu, klawiatury i sterowania dźwiękami emitowanymi przez głośnik komputera; Dos zawiera procedury współpracujące z systemem operacyjnym; Graph zawiera procedury potrzebne do tworzenia grafiki; 12/8/2016 Język Pascal - Grafika 101

102 Aby móc korzystać z procedur któregoś z modułów należy zadeklarować jego użycie (nie dotyczy to modułu System, który jest automatycznie deklarowany przez program Pascal). Moduł deklaruje się poprzez użycie słowa uses, a dalej podje się nazwę modułu lub modułów oddzielając je program polekola; przecinkami. uses crt, graph; const pi=3.14; 12/8/2016 Język Pascal - Grafika 102 var p,r:real; begin instrukcje end.

103 ClrScr - czyści ekran i ustawia kursor w lewym górnym rogu (pozycja 0:0) Delay(MS : word) - zatrzymuje program na określoną ilość milisekund. GotoXY(X, Y : byte) - przesuwa kursor do punktu x:y KeyPressed { : Boolean } - sprawdza aktywność klawiatury ReadKey { : Char } - wczytuje znak z klawiatury TextBackground(color : byte) - zmienia kolor tła TextColor(color : byte) - zmienia kolor tekstu 12/8/2016 Język Pascal - Grafika 103

104 program pierwszy; uses crt; begin TextBackground ( 7 ); ClrScr; //deklaracja użycia modułu Crt //zmienia kolor tła na szary //czyścimy ekran GotoXY(30, 13); //umieszczamy kursor w pozycji 30:13 TextColor ( 4 ); write ( To jest pierwszy tekst ); end. //zmieniamy kolor czcionki na czerwony //i piszemy 12/8/2016 Język Pascal - Grafika 104

105 program drugi; uses crt; begin TextBackground (3); ClrScr; //deklaracja użycia modułu Crt //zmienia kolor tła na niebieski //czyścimy ekran GotoXY (0,0); //umieszczamy kursor w pozycji 0:0 TextColor (4); write ( To jest pierwszy tekst ); //zmieniamy kolor czcionki na różowy //i piszemy GotoXY (10,10); //umieszczamy kursor w pozycji 10:10 TextColor (4); write ( To jest drugi tekst ); end. //zmieniamy kolor czcionki na zielony //i piszemy 12/8/2016 Język Pascal - Grafika 105

106 program trzeci; uses crt; var i:byte; begin ClrScr; textcolor (1); for i:=0 to 10 do begin textcolor (i); writeln; writeln(' To jest kolor nr - ', i:2); end; readln; end. 12/8/2016 Język Pascal - Grafika 106

107 Moduł Graph obsługuje operacje ekranowej grafiki punktowej (pikselowej). Zawiera procedury i funkcje, które umożliwiają rysowanie na ekranie monitora krzywych różnych kształtów i kolorów, wypełnianie obszarów określonym wzorem i kolorem, wykreślanie tekstów o zdefiniowanej przez użytkownika wielkości wybraną czcionką w poziomie lub pionie. Umiejętne wykorzystanie zasobów modułu pozwala również na tworzenie rysunków animowanych 12/8/2016 Język Pascal - Grafika 107

108 Tryb graficzny jest ściśle związany z kartą graficzną, w jaką jest wyposażony komputer. Podczas inicjowania trybu graficznego należy określić właściwy dla danego sprzętu sterownik i tryb pracy ekranu. Do tego służy procedura DetectGraph. DetectGraph (sterownik, tryb); sterownik identyfikator karty sterownika graficznego; tryb tryb graficzny (rozdzielczość, ilość kolorów); 12/8/2016 Język Pascal - Grafika 108

109 Z przeważającej większości procedur i funkcji modułu graficznego można korzystać dopiero po zainicjowaniu graficznego trybu pracy monitora, czyli wywołaniu procedury InitGraph: InitGraph (sterownik: Integer, tryb: Integer, ścieżka: String); sterownik identyfikator karty sterownika graficznego; tryb tryb graficzny (rozdzielczość, ilość kolorów); ścieżka katalog, w którym znajduje się sterownik *.bgi Przejście do trybu graficznego powoduje przydzielenie części pamięci operacyjnej dla potrzeb realizacji operacji graficznych. Po zakończeniu ich wykonywania należy zwolnić tę część pamięci i przywrócić poprzedni tryb tekstowy za pomocą procedury CloseGraph 12/8/2016 Język Pascal - Grafika 109

110 Dla prawidłowej pracy monitora w trybie graficznym potrzebne są programy obsługujące zainstalowaną w komputerze kartę graficzną. Programy takie nazwano sterownikami (ang. Drivers). W systemie TurboPascal zdefiniowano sterowniki dla 8 najpopularniejszych kart graficznych komputerów klasy IBM: CGA, MCGA, EGA, VGA, Hercules, ATT400, IBM8514, IBM3270PC. Sterownikom tym nadano rozszerzenie BGI (Borland Graphics Interface) 12/8/2016 Język Pascal - Grafika 110

111 Wszystkie operacje graficzne wykonywane są w obrębie okna graficznego. W momencie inicjacji trybu graficznego okno zajmuje cały ekran. Lewy, górny róg ekranu ma współrzędne (0,0) i jest początkiem układu, którego oś pionowa jest skierowana w dół, a oś pozioma - w prawo. Współrzędne prawego dolnego rogu są określone przez funkcje GetMaxX, GetMaxY i zależą od rozdzielczości ekranu i jego trybu pracy. 12/8/2016 Język Pascal - Grafika 111

112 program linia; uses Graph, Crt; var sterownik, tryb, karta : SmallInt; begin DetectGraph(sterownik,tryb); //inicjalizacja trybu graficznego InitGraph (sterownik,tryb,'c:\program Files\Dev-Pas'); SetColor (4); //ustawiamy kolor Line (30,30,610,450); //rysujemy linie od punktu (30,30) do punktu (610,450) Repeat Until Keypressed; CloseGraph; //zamykanie trybu graficznego repeat until keypressed; end. 12/8/2016 Język Pascal - Grafika 112

113 Procedura SetLineStyle SetLineStyle (Rodzaj_Lin, Wzor, Grubosc : word); zmienia rodzaj linii oraz jej grubość używanej przy procedurach Line, Circle. Rodzaje linii to: SolidLn = 0 - ciągła DottedLn = 1 - kropkowana CenterLn = 2 - symetryczna DashedLn = 3 - przerywana 12/8/2016 Język Pascal - Grafika 113

114 program linia_2; uses Graph, Crt; var sterownik, tryb, karta : SmallInt; begin DetectGraph(sterownik,tryb); //inicjalizacja trybu graficznego InitGraph (sterownik,tryb,'c:\program Files\Dev-Pas'); SetColor (4); //ustawiamy kolor SetLineStyle(3,0,3); //ustawiamy rodzaj linii Line (30,30,610,450); //rysujemy linie od punktu (30,30) do punktu (610,450) SetColor (7); //ustawiamy kolor SetLineStyle(1,0,1); //ustawiamy rodzaj linii Line (30,50,610,500); //rysujemy linie od punktu (30,50) do punktu (610,500) Repeat Until Keypressed; CloseGraph; //zamykanie trybu graficznego repeat until keypressed; end. 12/8/2016 Język Pascal - Grafika 114

115 program kwadrat_i_kolo; uses Graph, Crt; var sterownik, tryb : SmallInt; begin DetectGraph (sterownik,tryb); //inicjalizacja trybu graficznego InitGraph (sterownik,tryb,'c:\program Files\Dev-Pas'); SetColor(Green); SetLineStyle(0,0,3); //ustawiamy rodzaj linii Rectangle(30,30,120,120); //rysowanie kwadratu SetColor (Yellow); SetLineStyle (3,0,3); //ustawiamy rodzaj linii Circle(150, 150, 100); //rysowanie kola repeat until keypressed; end. 12/8/2016 Język Pascal - Grafika 115

116 Procedura SetFillStyle SetFillStyle (nr_wzorca, kolor : word); zmienia rodzaj i kolor wypełnienia konturów wykorzystywanych przez niektóre procedury. Domyślne ustawienia początkowe to wzorzec wypełniania ciągłego i numer koloru będący maksymalnym kolorem aktualnego trybu graficznego. 12/8/2016 Język Pascal - Grafika 116

117 EmptyFill = 0 - wypełnienie kolorem tła SolidFill = 1 - wypełnienie ciągłe LineFill = 2 - wypełnienie pogrubionymi liniami poziomymi LtSlashFill = 3 - wypełnienie liniami pochyłymi w prawo SlashFill = 4 - wypełnienie pogrubionymi liniami pochyłymi w prawo BkSlashFill = 5 - wypełnienie pogrubionymi liniami pochyłymi w lewo LtBkSlashFill = 6 - wypełnienie liniami pochyłymi w lewo HatchFill = 7 - wypełnienie siatką pionową xhatchfill = 8 - wypełnienie siatką ukośną InteerleaveFill = 9 - wypełnienie liniami splecionymi VideDotFill = 10 - wypełnienie kropkami CloseDotFill = 11 - wypełnienie zagęszczonymi kropkami UserFill = 12 - wypełnienie wzorem zdefiniowanym przez użytkownika procedurą SetFillPattern 12/8/2016 Język Pascal - Grafika 117

118 Procedura FloodFill FloodFill(X, Y : Integer; kolorgranicy : word); wypełnia kolorem i wzorem podanym w procedurze SetFillStyle (sposób_wypełniani, kolor_granicy) obszar ekranu. Jeżeli przy wypełnianiu napotka linię, wykonaną kolorem kolor granicy przerywa wypełnianie tak jakby to był dla niej mur nie do przejścia Punkt X, Y jest miejscem od którego procedura zaczyna wypełnianie. 12/8/2016 Język Pascal - Grafika 118

119 program kwadrat_1_fill; uses Graph, Crt; var sterownik, tryb : SmallInt; begin DetectGraph (sterownik,tryb); //inicjalizacja trybu graficznego InitGraph (sterownik,tryb,'c:\program Files\Dev-Pas'); SetColor(Green); SetLineStyle(0,0,3); //ustawiamy rodzaj linii Rectangle(30,30,120,120); //rysowanie kwadratu SetFillStyle(1, red); //ustawiamy sposób wypelniania FloodFill (90, 90, Green); //wypelnienie repeat until keypressed; end. 12/8/2016 Język Pascal - Grafika 119

120 program kwadrat_2_fill; uses Graph, Crt; var sterownik, tryb : SmallInt; begin DetectGraph (sterownik,tryb); //inicjalizacja trybu graficznego InitGraph (sterownik,tryb,'c:\program Files\Dev-Pas'); SetColor(Green); SetLineStyle(0,0,3); //ustawiamy rodzaj linii Rectangle(30,30,120,120); //rysowanie kwadratu SetFillStyle(1, red); //ustawiamy sposób wypelniania FloodFill (130, 130, Green); //wypelnienie repeat until keypressed; end. 12/8/2016 Język Pascal - Grafika 120

121 program kwadraty; uses Graph, Crt; var sterownik, tryb : SmallInt; begin DetectGraph (sterownik,tryb); //inicjalizacja trybu graficznego InitGraph (sterownik,tryb,'c:\program Files\Dev-Pas'); SetColor ( Green); Rectangle (30,30,120,120); //rysujemy kwadrat Circle (150, 150, 100); //rysujemy okrąg SetFillStyle(1, red); //ustawianie sposobu wypełniania FloodFill ( 50, 50, Green); //funkcja wypełniająca repeat until keypressed; CloseGraph; //zamykanie trybu graficznego repeat until keypressed; end. 12/8/2016 Język Pascal - Grafika 121

122 Bar(X1, Y1, X2, Y2) : rysuje wypełniony prostokąt. X1,Y1 to współrzędne lewego górnego rogu, X2,Y2 to współrzędne prawego dolnego rogu. Kolor ramki jest określany przez procedurę SetColor, a kolor wypełnienia przez procedurę SetFillStyle. Bar3D(X1, Y1, X2, Y2; B; TOP) : rysuje trójwymiarowy prostokąt wypełniony. X1,Y1 to współrzędne lewego górnego rogu przedniej ścianki, X2,Y2 to współrzędne lewego dolnego rogu przedniej ścianki, zmienna B jest to głębokość prostopadłościanu, zmienna TOP określa czy górna powierzchnia jest widoczna czy nie. 12/8/2016 Język Pascal - Grafika 122

123 PutPixel (X, Y; Kolor) : wyświetla jeden punkt o współrzędnych (X, Y) i podanym kolorze. OutTextXY(X, Y, S) : wyświetla na ekranie tekst określony przez zmienną S rozpoczynając od współrzędnych X, Y. Kolor tekstu podawany jest przez procedurę SetColor. ClearDevice : procedura ta czyści ekran graficzny, analogicznie do procedury ClrScr w trybie graficznym 12/8/2016 Język Pascal - Grafika 123

Programowanie w języku Pascal

Programowanie w języku Pascal Programowanie w języku Pascal Dr inż. Grażyna KRUPIŃSKA grazyna@novell.ftj.agh.edu.pl D-10 pokój 227 Tablice -wstęp Służą do przechowywania ustalonej liczby elementów (liczb całkowitych, rzeczywistych

Bardziej szczegółowo

Programowanie w języku Pascal

Programowanie w języku Pascal Programowanie w języku Pascal Dr inż. Grażyna KRUPIŃSKA grazyna@novell.ftj.agh.edu.pl D-10 pokój 227 Od algorytmu do programu PROBLEM ALGORYTM PROGRAM ŹRÓDŁOWY wykonywalnego ETAPY PROGRAMOWANIA 0. WYBÓR-ZNALEZIENIE-

Bardziej szczegółowo

Programowanie w języku Pascal

Programowanie w języku Pascal Programowanie w języku Pascal Dr inż. Grażyna KRUPIŃSKA grazyna@novell.ftj.agh.edu.pl D-10 pokój 227 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn Musy al-chorezmi (z

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

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

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI Ćwiczenia i laboratorium 2 Kolokwia zaliczeniowe - 1 termin - poniedziałek, 29 stycznia 2018 11:30

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

Wykład VII PASCAL - grafika;

Wykład VII PASCAL - grafika; Podstawy programowania Wykład VII PASCAL - grafika; 1 Procedura InitGraph() InitGraph ( var sterownik,tryb:integer; katalog:string ); biblioteka: GRAPH Służy do włączenia trybu graficznego. Możliwe sterowniki

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

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

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

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

Moduł graph w Pascalu

Moduł graph w Pascalu Moduł graph w Pascalu Wykład: uses graph, InitGraph, Detect, SetGraphMode, kolory, wypełnienia, linie, SetFillStyle, FloodFill, SetLineStyle, SetTextStyle, OutTextXY, SetTextJustify, GetMaxX, ClearDevice,

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

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2) Grafika w Pascalu. Do tej pory, tworząc programy w Pascalu, wykorzystywaliśmy jedynie tryb tekstowy. Jednak Pascal, tak jak i inne języki programowania, umoŝliwia korzystanie równieŝ z trybu graficznego.

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

Programowanie Delphi obliczenia, schematy blokowe

Programowanie Delphi obliczenia, schematy blokowe Informatyka II MPZI2 ćw.2 Programowanie Delphi obliczenia, schematy blokowe Zastosowania obliczeń numerycznych Wyrażenia arytmetyczne służą do zapisu wykonywania operacji obliczeniowych w trakcie przebiegu

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

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

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

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

PROGRAMOWANIE W JĘZYKU PYTHON

PROGRAMOWANIE W JĘZYKU PYTHON D-10 pokój 227 PROGRAMOWANIE W JĘZYKU PYTHON Dr inż. Grażyna KRUPIŃSKA Prezentacja algorytmu w języku programowania Aby przedstawić algorytm w postaci programu, trzeba go napisać jako ciąg instrukcji języka

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

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

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

Pracownia Komputerowa wykład VI

Pracownia Komputerowa wykład VI Pracownia Komputerowa wykład VI dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Przypomnienie 125 (10) =? (2) Liczby całkowite : Operacja modulo % reszta z dzielenia: 125%2=62 reszta 1

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

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Przykład programu Rozwiązanie równania postaci:

Przykład programu Rozwiązanie równania postaci: Przykład programu Rozwiązanie równania postaci: a x 2 + b x + c = 0 program trojmian; var a, b, c : real; var delta, x1, x2 : real; writeln('podaj wspolczynniki a, b, c równania kwadratowego: '); readln(a,

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

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

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

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

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

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze Podstawy Informatyki Metalurgia, I rok Wykład 3 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 1948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych

Bardziej szczegółowo

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny Moduł graph Pascal - grafika Pascal zawiera standardowy moduł do tworzenia obiektów graficznych linii, punktów, figur geometrycznych itp. Chcąc go użyć należy w programie (w nagłówku) wstawić deklarację:

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

Podstawy Informatyki

Podstawy Informatyki Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 5 1 / 23 LICZBY RZECZYWISTE - Algorytm Hornera

Bardziej szczegółowo

Elementy języków programowania

Elementy języków programowania Elementy języków programowania Olsztyn 2007-2012 Wojciech Sobieski Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe. Oczekuje się również, że tworzone

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

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

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Wprowadzenie komentarzy do programu

Wprowadzenie komentarzy do programu Wprowadzenie komentarzy do programu W programach mogą wystąpić objaśnienia, uwagi zamykane w klamrach { } lub nawiasach z gwiazdką (* *). Komentarze ułatwiają zrozumienie programów. Przyjmijmy, że komentarze

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Wprowadzenie do języka Pascal

Wprowadzenie do języka Pascal Wprowadzenie do języka Pascal zmienne i typy standardowe operatory arytmetyczne, funkcje standardowe odczyt danych i wyświetlanie wyników obsługa wyjątków Techniki programowania I s.2-1 Podstawowe zasady

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

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

Ć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

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

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ 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 zasad

Bardziej szczegółowo

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn

Bardziej szczegółowo

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)

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

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

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci: Reprezentacja liczb rzeczywistych w komputerze. Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci: k = m * 2 c gdzie: m częśd ułamkowa,

Bardziej szczegółowo

Pracownia Komputerowa wyk ad VI

Pracownia Komputerowa wyk ad VI Pracownia Komputerowa wyk ad VI dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Przypomnienie 125 (10) =? (2) Liczby ca kowite

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

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie PASCAL Język programowania wysokiego poziomu Opracowany przez Mikołaja Wirtha na początku lat 70 XX wieku Prosty, z silną kontrolą poprawności Stosowany prawie wyłącznie na uczelniach do nauki programowania

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

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

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

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

LibreOffice Calc VBA

LibreOffice Calc VBA LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

Wprowadzenie do programowania w VBA

Wprowadzenie do programowania w VBA Wprowadzenie do programowania w VBA Spis treści Struktura programu... 1 Typy danych... 2 Deklaracja zmiennych i stałych... 2 Deklaracja tablic... 3 Instrukcja przypisania... 3 Wprowadzanie danych... 3

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

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

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany

Bardziej szczegółowo

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika Wielkości liczbowe Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje 0 oraz liczby naturalne

Bardziej szczegółowo

C++ wprowadzanie zmiennych

C++ wprowadzanie zmiennych C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym

Bardziej szczegółowo

Teoretyczne Podstawy Informatyki

Teoretyczne Podstawy Informatyki Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 5 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie

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

Technologie Informacyjne

Technologie Informacyjne System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

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

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

INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do

INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU Instrukcja pętli For to do Instrukcja ta określa dokładnie ile razy zostanie powtórzony dany ciąg instrukcji. Postać pętli for w Pascalu: for zmienna : = początek to

Bardziej szczegółowo

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych. Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych. Jeśli bit znaku przyjmie wartość 0 to liczba jest dodatnia lub posiada wartość 0. Jeśli bit

Bardziej szczegółowo

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Temat: Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy.

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

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci Kod IEEE754 IEEE Institute of Electrical and Electronics Engineers IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci (-1) s 1.f

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