Podstawy programowania
|
|
- Krzysztof Janowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Podstawy programowania Część dziewiąta Procedury i funkcje Autor Roman Simiński Kontakt siminski@us.edu.pl Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim uczestnictwa. Opracowanie to jest chronione prawem autorskim. Wykorzystywanie jakiegokolwiek fragmentu w celach innych niż nauka własna jest nielegalne. Dystrybuowanie tego opracowania lub jakiejkolwiek jego części oraz wykorzystywanie zarobkowe bez zgody autora jest zabronione.
2 Fachowiec musi mieć odpowiednie narzędzia Copyright Roman Simiński Strona : 2
3 A jakich narzędzi potrzebuje programista? Sprzęt Edytory Kompilatory Debugery Środowiska RAD Copyright Roman Simiński Strona : 3
4 A jakich narzędzi potrzebuje programista? cd... Sprzęt Kawa Edytory Herbata Kompilatory Kola Debugery... Środowiska RAD... Copyright Roman Simiński Strona : 4
5 A patrząc z pozycji samego procesu programowania? If For Case While Integer Real Char Boolean Suma Dochody Dystans Paliwo Sin Cos Abs Succ WriteLn Write Read ReadLn Array Set File Record Copyright Roman Simiński Strona : 5
6 A patrząc z pozycji samego procesu programowania? If For Case While Integer Real Char Boolean Instrukcje Typy proste Suma Dochody Dystans Paliwo Sin Cos Abs Succ Zmienne? WriteLn Write Read? ReadLn Array Set File Record Typy złożone Copyright Roman Simiński Strona : 6
7 A patrząc z pozycji samego procesu programowania? Cos Succ Sin Abs Funkcje Write ReadLn WriteLn Read Procedury Copyright Roman Simiński Strona : 7
8 Co to takiego procedury, co to takiego funkcje? Przypomnijmy sobie jeden z pierwszych programów, z czego się on składa? Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 8
9 Co to takiego procedury, co to takiego funkcje? Część słów kluczowych służy do określania i porządkowania struktury programu. Słowa kluczowe określające strukturę programu Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 9
10 Co to takiego procedury, co to takiego funkcje? Zmienne deklarowane w sekcji Var stanowią pamięć programu dla danych. Deklaracja zmiennych: nazwy oraz ich typy. Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 10
11 Co to takiego procedury, co to takiego funkcje? Wyprowadzanie informacji do strumienia wyjściowego programu.... Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Co to jest? Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 11
12 Co to takiego procedury, co to takiego funkcje? Procedury to programowe narzędzia realizujące potencjalnie złożone czynności. Wywołanie procedury o nazwie WriteLn Wywołanie powoduje wykonanie przypisanych procedurze akcji Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 12
13 Co to takiego procedury, co to takiego funkcje? Procedury to programowe narzędzia realizujące potencjalnie złożone czynności. Wywołanie procedury o nazwie Write Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 13
14 Co to takiego procedury, co to takiego funkcje? Procedury to programowe narzędzia realizujące potencjalnie złożone czynności. Wywołanie procedury o nazwie ReadLn Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 14
15 Co to takiego procedury, co to takiego funkcje? Procedury to programowe narzędzia realizujące potencjalnie złożone czynności. Instrukcja przypisania wartości zmiennej Fahrenheit Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 15
16 Co to takiego procedury, co to takiego funkcje? Procedury to programowe narzędzia realizujące potencjalnie złożone czynności. Wywołanie funkcji o nazwie Round Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 16
17 Co to takiego procedury, co to takiego funkcje? Procedury to programowe narzędzia realizujące potencjalnie złożone czynności. Wywołanie procedury o nazwie WriteLn Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 17
18 Co to takiego procedury, co to takiego funkcje? Procedury to programowe narzędzia realizujące potencjalnie złożone czynności. Wywołanie procedury o nazwie WriteLn Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 18
19 Co to takiego procedury, co to takiego funkcje? Procedury to programowe narzędzia realizujące potencjalnie złożone czynności. Wywołanie procedury o nazwie ReadLn Program CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; WriteLn; WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); WriteLn( 'Temperatura w st. F: ', Fahrenheit ); WriteLn( 'Nacisnij Enter by zakonczyc program...' ); End. Copyright Roman Simiński Strona : 19
20 Procedura Procedura to programowe narzędzie realizujące określone czynności. Każda procedura ma swoją nazwę. Wpisanie nazwy procedury w kodzie programu oznacza jej wywołanie. Instrukcja programu w której wywołuje się procedurę nazywa się instrukcją wywołania procedury. Wywołanie procedury polega na: zawieszeniu wykonania aktualnie realizowanego ciągu instrukcji, wykonaniu instrukcji przypisanych do procedury o danej nazwie, wznowieniu wykonania realizowanego ciągu instrukcji od instrukcji następnej po wywołaniu procedury. Instrukcja wywołania procedury WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Copyright Roman Simiński Strona : 20
21 Funkcja Funkcja to programowe narzędzie realizujące określone czynności, po wykonaniu których, funkcja udostępnia w miejscu wywołania pewien rezultat. Żargonowo mówi się, że funkcja oddaje wartość w miejscu wywołania. Funkcja różni się od procedury tym, że ta ostatnia tylko wykonuje czynności i nie udostępnia rezultatu w miejscu wywołania. Poza tą różnicą procedury i funkcje są podobne wspólnie nazywa się je podprogramami. Instrukcja wywołania procedury WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Fahrenheit := Round( 1.8 * Celsjusz ); Instrukcja wywołania funkcji Copyright Roman Simiński Strona : 21
22 Procedura a funkcja różnica w wywołaniu Wywołanie procedury jest osobną instrukcją. Wywołanie funkcji powinno wystąpić w wyrażeniu, wykorzystującym jej rezultat. Instrukcja wywołania procedury WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := Round( 1.8 * Celsjusz ); Przyprostokatna := Przeciwprostokatna * Sin( Alfa ); X := R * Cos( Alfa ); Y := R * Sin( Alfa ); Instrukcja wywołania funkcji Copyright Roman Simiński Strona : 22
23 Procedury i funkcje rola parametrów Instrukcje wykonywane wewnątrz procedur i funkcji są zwykle odseparowane od reszty programu. Można powiedzieć, że te instrukcje są uwięzione wewnątrz celi jaką jest procedura lub funkcja. Aby instrukcje wewnętrzne podprogramu wiedziały o naszych chciejstwach, musimy im przekazać informacje oficjalnym kanałem wymiany informacji. Copyright Roman Simiński Strona : 23
24 Procedury i funkcje rola parametrów Oficjalny kanał wymiany informacji z instrukcjami wewnętrznymi podprogramów to parametry (zwane też argumentami). Copyright Roman Simiński Strona : 24
25 Procedury i funkcje rola parametrów Parametry mogą być kierowane do wnętrza podprogramu, mają wtedy charakter wejściowy. Copyright Roman Simiński Strona : 25
26 Procedury i funkcje rola parametrów Parametry mogą być kierowane z wnętrza podprogramu, mają wtedy charakter wyjściowy. Copyright Roman Simiński Strona : 26
27 Procedury i funkcje rola parametrów W szczególnym przypadku pojedynczy parametr może być zarówno wejściowy jak i wyjściowy. Copyright Roman Simiński Strona : 27
28 Procedury i funkcje parametry aktualne wywołania W trakcie wywołania procedur i funkcji można im przekazać parametry. Parametry bywają również zwane argumentami. Prawidłowa, pełna nazwa: parametry (argumenty) aktualne wywołania. WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); Write( 'Temperatura w st. C: ' ); ReadLn( Celsjusz ); Parametry aktualne wywołania procedury Fahrenheit := Round( 1.8 * Celsjusz ); Przyprostokatna := Przeciwprostokatna * Sin( Alfa ); X := R * Cos( Alfa ); Y := R * Sin( Alfa ); Parametry aktualne wywołania funkcji Copyright Roman Simiński Strona : 28
29 Procedury i funkcje parametry aktualne wywołania Parametry służą do: przekazywania informacji do wnętrza podprogramów, uzyskiwania informacji zwrotnej z wnętrza podprogramu. WriteLn( 'Stopnie Celsjusza na Fahrenheita' ); X := R * Cos( Alfa ) Parametry aktualne wywołania przekazują dane wejściowe do wnętrza podprogramu ReadLn( Celsjusz ); GetTime( Godz, Min, Sek, SetneSek ); Parametry aktualne wywołania przekazują dane wyjściowe z wnętrza podprogramu Copyright Roman Simiński Strona : 29
30 Procedury i funkcje czasem może nie być parametrów WriteLn; ClrScr; Klawisz := ReadKey; Copyright Roman Simiński Strona : 30
31 Podprogramy jak to działa? Wywołanie podprogramu polega na: zawieszeniu wykonania aktualnie realizowanego bloku instrukcji, przygotowaniu parametrów dla podprogramu, skoku do podprogramu o określonej nazwie, wykonaniu instrukcji tego podprogramu, powrocie do miejsca wywołania, wznowieniu wykonania zawieszonego bloku instrukcji. Copyright Roman Simiński Strona : 31
32 Podprogramy jak to działa? Program główny Podprogram o nazwie WyswietlPowitanie Instrukcje podprogramu: Początek... Koniec Instrukcje programu głównego: Początek... WyswietlPowitanie... Koniec Copyright Roman Simiński Strona : 32
33 Podprogramy jak to działa? Przykład w języku Pascal Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); WyswietlPowitanie; End. Deklaracja procedury WyswietlPowitanie Program główny Dwie żelazne zasady korzystania z podprogramów: Każdy podprogram należy zadeklarować, zanim się go użyje. Aby zadeklarowany podprogram zadziałał, należy go wywołać. Copyright Roman Simiński Strona : 33
34 Kolejne etapy wykonania programu rozpoczęcie programu głównego Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); WyswietlPowitanie; End. Rozpoczęcie wykonania programu głównego Copyright Roman Simiński Strona : 34
35 Kolejne etapy wykonania programu wywołanie procedury Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); WyswietlPowitanie; End. Wywołanie procedury WyswietlPowitanie Copyright Roman Simiński Strona : 35
36 Kolejne etapy wykonania programu skok do podprogramu Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); Skok do podprogramu WyswietlPowitanie WyswietlPowitanie; End. Copyright Roman Simiński Strona : 36
37 Kolejne etapy wykonania programu wykonanie procedury Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); Rozpoczęcie wykonania podprogramu WyswietlPowitanie; End. Copyright Roman Simiński Strona : 37
38 Kolejne etapy wykonania programu wykonanie procedury Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); WyswietlPowitanie; End. Copyright Roman Simiński Strona : 38
39 Kolejne etapy wykonania programu wykonanie procedury Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); WyswietlPowitanie; End. Copyright Roman Simiński Strona : 39
40 Kolejne etapy wykonania programu wykonanie procedury Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); WyswietlPowitanie; End. Copyright Roman Simiński Strona : 40
41 Kolejne etapy wykonania programu zakończenie procedury Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); Zakończenie wykonania podprogramu WyswietlPowitanie; End. Copyright Roman Simiński Strona : 41
42 Kolejne etapy wykonania programu powrót z procedury Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); WyswietlPowitanie; End. Powrót z podprogramu Copyright Roman Simiński Strona : 42
43 Kolejne etapy wykonania programu dalszy ciąg programu Program PierwszaProcedura; Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); WyswietlPowitanie; End. Wykonanie dalszego ciągu programu..., czyli koniec ;) Copyright Roman Simiński Strona : 43
44 Anatomia procedury Podprogramy naśladują swoją strukturą program główny. Nagłówek programu i jego nazwa a nagłówek procedury i jej nazwa Program Przywitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); End. Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); Copyright Roman Simiński Strona : 44
45 Anatomia procedury, cd... Podprogramy naśladują swoją strukturą program główny. Instrukcje programu głównego a instrukcje procedury, tzw. ciało procedury. Program Przywitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); End. Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); Copyright Roman Simiński Strona : 45
46 Anatomia procedury, cd... Podprogram kończy średnik oddziela deklarację procedury od reszty programu. Program kończy znak kropki. a podprogram oddziela znak ; od reszty programu Program Przywitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); End. Procedure WyswietlPowitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); End ; Copyright Roman Simiński Strona : 46
47 Anatomia procedury, cd... W podprogramie można deklarować stałe, typy, zmienne. W każdym podprogramie można deklarować własne zmienne, stałe, typy. Program Przywitanie; Var JakasZmienna1, JakasZmienna2 : Real; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); End. Procedure WyswietlPowitanie; Var JakasZmienna1, JakasZmienna2 : Real; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); Copyright Roman Simiński Strona : 47
48 W podprogramach można deklarować kolejne podprogramy... Program Przywitanie; Procedure WyswietlPowitanie; Procedure PiszWitaj; WriteLn( 'Witaj w programie! ' ); Procedure CzekajNaEnter; WriteLn( 'Nacisnij Enter by kontynuowac' ); PiszWitaj; CzekajNaEnter; WyswietlPowitanie; End. Copyright Roman Simiński Strona : 48
49 No dobra, ale po co to wszystko... If For Case While Integer Real Char Boolean Instrukcje Typy proste Suma Dochody Dystans Paliwo Sin Cos Abs Succ Zmienne Funkcje WriteLn Write Read Procedury ReadLn Array Set File Record Typy złożone Copyright Roman Simiński Strona : 49
50 Dzięki procedurom można eliminować powtarzające się fragmenty kodu Program P1; { Jakies instrukcje... } Write( 'Nacisnij Enter' ); WriteLn(' by kontynuowac...' ); { Jakies instrukcje... } Write( 'Nacisnij Enter' ); WriteLn(' by kontynuowac...' ); { Jakies instrukcje... } Write( 'Nacisnij Enter' ); WriteLn(' by kontynuowac...' ); { Jakies instrukcje... } Write( 'Nacisnij Enter' ); WriteLn(' by kontynuowac...' ); { Jakies instrukcje... } Write( 'Nacisnij Enter' ); WriteLn(' by kontynuowac...' ); End. Program P2; Procedure CzekajNaEnter; Write( 'Nacisnij Enter' ); WriteLn(' by kontynuowac...' ); { Jakies instrukcje... } CzekajNaEnter; { Jakies instrukcje... } CzekajNaEnter; { Jakies instrukcje... } CzekajNaEnter; { Jakies instrukcje... } CzekajNaEnter; { Jakies instrukcje... } CzekajNaEnter; End. Copyright Roman Simiński Strona : 50
51 Pierwsza rola podprogramów Historycznie i technicznie pierwotna przyczyna wyodrębnienia podprogramów to eliminowanie powtarzających się fragmentów kodu. Dzięki podprogramom: Zwykle skraca się program zarówno kod źródłowy jak i wynikowy. Program staje się czytelniejszy. Modyfikacje programu stają się łatwiejsze. Łatwiejsze jest lokalizowanie i eliminowanie błędów. Program staje się podatniejszy na modularyzację. Łatwiej wyodrębnić zbiory spójnych podprogramów, stanowiące zalążek potencjalnych bibliotek. Wywołanie podprogramu, opracowanie i przekazanie parametrów oraz powrót z podprogramu to dodatkowe instrukcje maszynowe zatem instrukcje wpakowane do podprogramu wykonują się odrobinę wolniej. Jednak we większości typowych przypadków opóźnienie to jest nieznaczące. Copyright Roman Simiński Strona : 51
52 Wykorzystanie parametrów jako danych wejściowych Korzystanie z podprogramów to nie tylko cięcie kodu na fragmenty i zastępowanie jednakowych ciągów instrukcji wywołaniem odpowiedniego podprogramu. Podprogramy mogą być sparametryzowane. Dzięki parametrom można pisać uniwersalniejsze podprogramy, możliwe do zastosowania w różnych sytuacjach. Program P3; { Jakies instrukcje... } WriteLn( 'Nacisnij Enter by rozpoczac...' ); { Jakies instrukcje... } WriteLn( 'Nacisnij Enter by kontynuowac...' ); Trzy podobne lecz niejednakowe bloki instrukcji { Jakies instrukcje... } WriteLn( 'Enter konczy program...' ); End. Copyright Roman Simiński Strona : 52
53 Wykorzystanie parametrów jako danych wejściowych Program P4; Procedure PiszICzekajNaEnter( Komunikat : String ); WriteLn( Komunikat ); { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by rozpoczac...' ); { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by kontynuowac...' ); { Jakies instrukcje... } PiszICzekajNaEnter( 'Enter konczy program...' ); End. Copyright Roman Simiński Strona : 53
54 Wykorzystanie parametrów jako danych wejściowych Program P4; Procedure PiszICzekajNaEnter( Komunikat : String ); WriteLn( Komunikat ); { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by rozpoczac...' ); ); { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by kontynuowac...' ); Wywołanie procedury PiszICzekajNaEnter { Jakies instrukcje... } PiszICzekajNaEnter( 'Enter konczy program...' ); End. Copyright Roman Simiński Strona : 54
55 Wykorzystanie parametrów jako danych wejściowych Program P4; Procedure PiszICzekajNaEnter( Komunikat : String ); WriteLn( Komunikat ); Parametr aktualny wywołania { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by rozpoczac...' ); ); { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by kontynuowac...' ); Wywołanie procedury PiszICzekajNaEnter { Jakies instrukcje... } PiszICzekajNaEnter( 'Enter konczy program...' ); End. Copyright Roman Simiński Strona : 55
56 Wykorzystanie parametrów jako danych wejściowych Program P4; Parametr formalny procedury Procedure PiszICzekajNaEnter( Komunikat : String ); WriteLn( Komunikat ); Parametr aktualny wywołania { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by rozpoczac...' ); ); { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by kontynuowac...' ); Wywołanie procedury PiszICzekajNaEnter { Jakies instrukcje... } PiszICzekajNaEnter( 'Enter konczy program...' ); End. Copyright Roman Simiński Strona : 56
57 Wykorzystanie parametrów jako danych wejściowych Program P4; Parametr formalny procedury Procedure PiszICzekajNaEnter( Komunikat : String ); WriteLn( Komunikat ); Parametr aktualny wywołania { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by rozpoczac...' ); ); { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by kontynuowac...' ); Wywołanie procedury PiszICzekajNaEnter { Jakies instrukcje... } PiszICzekajNaEnter( 'Enter konczy program...' ); End. Przekazanie parametru aktualnego wywołania do parametru formalnego Copyright Roman Simiński Strona : 57
58 Przekazywanie parametrów przez wartość Ten rodzaj przekazywania parametrów nazywa się przekazywaniem parametrów przez wartość. Przekazywanie parametrów przez wartość polega na skopiowaniu wartości parametru aktualnego wywołania do parametru formalnego procedury. Program P4; Procedure PiszICzekajNaEnter( Komunikat : String ); WriteLn( Komunikat ); Komunikat: Nacisnij Enter by rozpoczac... { Jakies instrukcje... } PiszICzekajNaEnter( 'Nacisnij Enter by rozpoczac...' ); ); { Jakies instrukcje... } End. Copyright Roman Simiński Strona : 58
59 Parametr formalny to zmienna komunikacyjna Parametr formalny to specjalna zmienna komunikacyjna, zadeklarowana wewnątrz podprogramu. Jej wartość ustalana jest na etapie wywołania podprogramu na podstawie parametru aktualnego wywołania. Patrząc z punktu widzenia wnętrza podprogramu: Procedure PiszICzekajNaEnter( Komunikat : String ); WriteLn( Komunikat ); Co mi tu znowu dzisiaj dali.... Wartość, która jest kopią parametru aktualnego wywołania Parametr formalny podprogramu Copyright Roman Simiński Strona : 59
60 Przekazywanie parametrów przez wartość Na etapie wywołania podprogramu wyznaczana jest wartość parametru aktualnego wywołania. Wyznaczona wartość jest kopiowana do parametru formalnego podprogramu. Operacje na parametrach formalnych wykonywane wewnątrz podprogramu nie przenoszą się na parametry aktualne. Parametry aktualne mogą być literałami, stałymi i zmiennymi. Copyright Roman Simiński Strona : 60
61 Ilustracja procesu przekazywania parametrów przez wartość Program Parametry1; Var I : Integer; Procedure Inc( A : Integer ); A := A + 1; I := 5; Inc( I ); Writeln( 'I = ', I ); End. I =? Copyright Roman Simiński Strona : 61
62 Ilustracja procesu przekazywania parametrów przez wartość Program Parametry1; Var I : Integer; Procedure Inc( A : Integer ); A := A + 1; I := 5; Inc( I ); Writeln( 'I = ', I ); End. I = 5 A to parametr formalny procedury Inc I to parametr aktualny wywołania procedury Inc Wywołanie Inc I 5 A Stan pamięci operacyjnej 5 Kopiowanie wartości parametru aktualnego IA do parametru formalnego Wykonanie Inc Stan pamięci operacyjnej I 5 A 6 5 A := A + 1 Inkrementacja parametru formalnego A Po wykonaniu Inc Stan pamięci operacyjnej I 5 A 6 Parametr A przestaje żyć Copyright Roman Simiński Strona : 62
63 Przekazywanie parametrów przez zmienną Na etapie wywołania podprogramu, parametr aktualny wywołania lokowany jest w tym samym miejscu pamięci operacyjnej co parametr formalny podprogramu. Operacje na parametrach formalnych wykonywane wewnątrz podprogramu przenoszą się na parametry aktualne. Parametry aktualne mogą być zmiennymi. Copyright Roman Simiński Strona : 63
64 Ilustracja procesu przekazywania parametrów przez zmienną Program Parametry1; Var I : Integer; Słowo kluczowe Var oznacza przekazywanie parametrów przez zmienną Procedure Inc( Var A : Integer ); A := A + 1; I := 5; Inc( I ); Writeln( 'I = ', I ); End. Wywołanie Inc Stan pamięci operacyjnej A to parametr formalny procedury Inc I to parametr aktualny wywołania procedury Inc Wykonanie Inc Stan pamięci operacyjnej Po wykonaniu Inc Stan pamięci operacyjnej I = 6 I 5 A 6 5 A 6 A := A + 1 Nałożenie parametru formalnego A na parametr aktualny I Inkrementacja parametru formalnego A Parametr A przestaje żyć Copyright Roman Simiński Strona : 64
65 Procedura bezparametrowa przykłady Procedure Przywitanie; WriteLn( 'Witaj w programie! ' ); WriteLn( 'Nacisnij Enter by kontynuowac' ); Procedure CelsjuszDoFahrenheit; Var Celsjusz, Fahrenheit: Real; Write( 'Podaj temperature w st. C: ' ); ReadLn( Celsjusz ); Fahrenheit := 1.8 * Celsjusz ; WriteLn( 'Temperatura w st. F: ', Round( Fahrenheit ) ); Copyright Roman Simiński Strona : 65
66 Procedura z parametrami wejściowymi przykłady Procedure PiszICzekajNaEnter( Komunikat : String ); WriteLn( Komunikat ); Procedure ObliczIWypiszSpalanie( Paliwo, Dystans : Real ); If Dystans = 0 Then WriteLn( Nie dokonam obliczen dla zerowego dystansu ) Else Write( Spalanie,( Paliwo * 100 ) / Dystans : 0 : 2 ); WriteLn( l/100 km ); Copyright Roman Simiński Strona : 66
67 Wykorzystanie parametrów jako danych wyjściowych podprogramu Problem napisać procedurę ReadInt, pozwalającą na wprowadzenie ze strumienia wyjściowego liczby typu Integer. Procedura ma niedopuścić do wpisania niepoprawnej liczby w przypadku błędnych danych ma być wyświetlony komunikat Błędna liczba, wprowadź jeszcze raz. Wczytywanie ma być powtarzane tak długo, aż zostanie wpisana prawidłowa liczb całkowita. Prawidłowa wartość ma zostać zapisana w zmiennej przekazanej jako parametr procedury. Procedura ma być uniwersalnym narzędziem do kontrolowanego wczytywania liczb typu Integer. Copyright Roman Simiński Strona : 67
68 Przykład wykorzystania procedury ReadInt Czego chcemy od procedury ReadInt: Program PrzykladUzyciaReadInt; Var StawkaZaDzien : Real; LiczbaDni : Integer; (* Miejsce na zdefiniowanie procedury ReadInt *) WriteLn; Write( 'Podaj liczbe dni roboczych: ' ); ReadInt( LiczbaDni ); StawkaZaDzien := 120; WriteLn( 'Wynagrodzenie: ', LiczbaDni * StawkaZaDzien : 0 : 2 ); WriteLn( 'Nacisnij Enter by zakonczyc...' ); End. Copyright Roman Simiński Strona : 68
69 Program prezentujący algorytm wczytywania liczby to już było Program WczytajLiczbeRealZKontrolaPoprawnosci; Var I : Integer; (* Zmienna robocza iteracji For *) Napis : String; (* Przechowuje wczytany napis *) Dlug : Integer; (* Przechowuje dlugosc napisu *) Blad : Integer; (* Numer blednego znaku w napisie *) Liczba : Integer; (* Zmienna numeryczna *) Repeat Write( 'Podaj liczbe calkowita: ' ); ReadLn( Napis ); Val( Napis, Liczba, Blad ); If Blad <> 0 Then WriteLn( 'wprowadzona liczba jest nieprawidlowa' ); Until Blad = 0; WriteLn( 'Wprowadzono liczbe: ', Liczba : 0 : 2 ); WriteLn( 'Nacisnij Enter by zakonczyc...' ); End. Copyright Roman Simiński Strona : 69
70 Przykładowa realizacja procedury ReadInt Procedure ReadInt( Var I : Integer ); Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) Repeat ReadLn( Napis ); Procedura Val wstawia wyznaczoną liczbę do parametru I Val( Napis, I, Blad ); If Blad <> 0 Then Write( 'Bledna liczba, wprowadz jeszcze raz: ' ); Until Blad = 0; Copyright Roman Simiński Strona : 70
71 Podprogramy powinny być skomentowane (* Procedura ReadInt Procedura wczytuje liczbe typu Integer, w przypadku wprowadzenia znakow niedozwolonych dla liczby calkowitej, procedura wyprowadza komunikat o bledzie i proponuje ponowne wprowadzenie liczby. Proces jest powtarzany az zostanie wpisana poprawna liczba calkowita. Wprowadzona wartosc jest wstawiana do parametru formalnego I przekazywanego przez zmienna. Parametry: Var I : do tego parametru zostanie wpisana wartosc wczytanej liczby *) Procedure ReadInt( Var I : Integer ); Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) Repeat ReadLn( Napis ); Val( Napis, I, Blad ); If Blad <> 0 Then Write( 'Bledna liczba, wprowadz jeszcze raz: ' ); Until Blad = 0; Copyright Roman Simiński Strona : 71
72 Funkcja, co to takiego? Program PrzykladUzyciaFunkcji; Var CenaNetto : Real; Deklaracja funkcji ObliczBrutto Function ObliczBrutto( Netto : Real ) : Real ; ObliczBrutto := Netto * 1.22; WriteLn; Write( 'Podaj cene netto: ' ); ReadLn( CenaNetto ); Wywołanie funkcji ObliczBrutto WriteLn( 'Do zaplaty z podatkiem VAT: ', ObliczBrutto( CenaNetto ) :0:2 ); WriteLn( 'Nacisnij enter by zakonczyc program...' ); End.` Copyright Roman Simiński Strona : 72
73 Deklaracja funkcja vs. procedura Program PrzykladUzyciaFunkcji; Var CenaNetto : Real; Function ObliczBrutto( Netto : Real ) : Real ; ObliczBrutto := Netto * 1.22; Funkcja ma inny nagłówek Nagłówek funkcji zawiera typ jej rezultatu WriteLn; Write( 'Podaj cene netto: ' ); ReadLn( CenaNetto ); WriteLn( 'Do zaplaty z podatkiem VAT: ', ObliczBrutto( CenaNetto ) :0:2 ); WriteLn( 'Nacisnij enter by zakonczyc program...' ); End.` Copyright Roman Simiński Strona : 73
74 Funkcja, przekazywanie parametrów Program PrzykladUzyciaFunkcji; Var CenaNetto : Real; Function ObliczBrutto( Netto : Real ) : Real ; ObliczBrutto := Netto * 1.22; Netto: WriteLn; Write( 'Podaj cene netto: ' ); ReadLn( CenaNetto ); Przekazanie parametru WriteLn( 'Do zaplaty z podatkiem VAT: ', ObliczBrutto( CenaNetto ) :0:2 ); WriteLn( 'Nacisnij enter by zakonczyc program...' ); End.` Copyright Roman Simiński Strona : 74
75 Funkcja, wyznaczanie rezultatu Program PrzykladUzyciaFunkcji; Var CenaNetto : Real; Function ObliczBrutto( Netto : Real ) : Real ; ObliczBrutto := Netto * 1.22 ; WriteLn; Write( 'Podaj cene netto: ' ); ReadLn( CenaNetto ); Wyznaczenie wartości rezultatu funkcji WriteLn( 'Do zaplaty z podatkiem VAT: ', ObliczBrutto( CenaNetto ) :0:2 ); WriteLn( 'Nacisnij enter by zakonczyc program...' ); End.` Copyright Roman Simiński Strona : 75
76 Funkcja, ustalanie rezultatu Program PrzykladUzyciaFunkcji; Var CenaNetto : Real; Function ObliczBrutto( Netto : Real ) : Real ; ObliczBrutto := Netto * 1.22 ; ObliczBrutto: WriteLn; Write( 'Podaj cene netto: ' ); ReadLn( CenaNetto ); WriteLn( 'Do zaplaty z podatkiem VAT: ', ObliczBrutto( CenaNetto ) :0:2 ); WriteLn( 'Nacisnij enter by zakonczyc program...' ); End.` Przypisanie rezultatu do nazwy funkcji Copyright Roman Simiński Strona : 76
77 Funkcja, udostępnianie rezultatu Program PrzykladUzyciaFunkcji; Var CenaNetto : Real; Function ObliczBrutto( Netto : Real ) : Real ; ObliczBrutto := Netto * 1.22 ; Rezultat funkcji zastępuje jej wywołanie WriteLn; Write( 'Podaj cene netto: ' ); ReadLn( CenaNetto ); ObliczBrutto: WriteLn( 'Do zaplaty z podatkiem VAT: ', ObliczBrutto( CenaNetto ) :0:2 ); WriteLn( 'Nacisnij enter by zakonczyc program...' ); End.` Copyright Roman Simiński Strona : 77
78 Funkcja, wykorzystanie rezultatu Program PrzykladUzyciaFunkcji; Var CenaNetto : Real; Function ObliczBrutto( Netto : Real ) : Real ; ObliczBrutto := Netto * 1.22 ; Rezultat funkcji zastępuje jej wywołanie WriteLn; Write( 'Podaj cene netto: ' ); ReadLn( CenaNetto ); ObliczBrutto: WriteLn( 'Do zaplaty z podatkiem VAT: ', :0:2 ); WriteLn( 'Nacisnij enter by zakonczyc program...' ); End.` Copyright Roman Simiński Strona : 78
79 ReadInt raz jeszcze procedura czy funkcja? ReadInt zrealizowane jako procedura:... Write( 'Podaj liczbe dni roboczych: ' ); ReadInt( LiczbaDni ); StawkaZaDzien := 120; WriteLn( 'Wynagrodzenie: ', LiczbaDni * StawkaZaDzien : 0 : 2 );... ReadInt może być zrealizowane jako funkcja:... Write( 'Podaj liczbe dni roboczych: ' ); LiczbaDni := ReadInt; StawkaZaDzien := 120; WriteLn( 'Wynagrodzenie: ', LiczbaDni * StawkaZaDzien : 0 : 2 );... Copyright Roman Simiński Strona : 79
80 ReadInt jako funkcja (* Funkcja ReadInt Funkcja wczytuje liczbe typu Integer, w przypadku wprowadzenia znakow niedozwolonych dla liczby calkowitej, funkcja wyprowadza komunikat o bledzie i proponuje ponowne wprowadzenie liczby. Proces jest powtarzany az zostanie wpisana poprawna liczba calkowita. Wprowadzona wartosc jest rezultatem funkcji *) Function ReadInt : Integer ; Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) I : Integer; (* Dodatkowa zmienna robocza *) Repeat ReadLn( Napis ); Typ wartości rezultatu funkcji Val( Napis, I, Blad ); If Blad <> 0 Then Write( 'Bledna liczba, wprowadz jeszcze raz: ' ); Until Blad = 0; ReadInt := I ; Ustalenie wartości, która będzie rezultatem funkcji Copyright Roman Simiński Strona : 80
81 ReadInt jako procedura vs. ReadInt jako funkcja Procedure ReadInt( Var I : Integer ); Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) Repeat ReadLn( Napis ); Val( Napis, I, Blad ); If Blad <> 0 Then Write( 'Bledna liczba, wprowadz jeszcze raz: ' ); Until Blad = 0; Function ReadInt : Integer; Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) I : Integer; (* Dodatkowa zmienna robocza *) Repeat ReadLn( Napis ); Val( Napis, I, Blad ); If Blad <> 0 Then Write( 'Bledna liczba, wprowadz jeszcze raz: ' ); Until Blad = 0; ReadInt := I; Copyright Roman Simiński Strona : 81
82 Anatomia procedury i funkcji Procedure NazwaProcedury( Parametry ); Ciało procedury; Function NazwaFunkcji( Parametry ) : TypRezultatu; Ciało funkcji zawierające: NazwaFunkcji := Rezultat; Copyright Roman Simiński Strona : 82
83 ReadInt raz jeszcze kontrola zakresu, procedura Procedure ReadInt( Var I : Integer ); Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) Liczba : Real; (* Zmienna robocza o duzym zakresie *) Repeat Liczba := 0; ReadLn( Napis ); Val( Napis, Liczba, Blad ); If Blad <> 0 Then Write( 'Bledna liczba, wprowadz jeszcze raz: ' ); If Liczba <> Trunc( Liczba ) Then Write( 'Tylko calowite, wprowadz jeszcze raz: ' ); Blad := 1; If ( Liczba > MaxInt ) Or ( Liczba < -MaxInt ) Then Write( 'Bledny zakres wartoci, wprowadz jeszcze raz: ' ); Blad := 1; If Blad = 0 Then I := Trunc( Liczba ); Until Blad = 0; Copyright Roman Simiński Strona : 83
84 ReadInt raz jeszcze kontrola zakresu, funkcja Function ReadInt : Integer; Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) Liczba : Real; (* Zmienna robocza o duzym zakresie *) Repeat Liczba := 0; ReadLn( Napis ); Val( Napis, Liczba, Blad ); If Blad <> 0 Then Write( 'Bledna liczba, wprowadz jeszcze raz: ' ); If Liczba <> Trunc( Liczba ) Then Write( 'Tylko calowite, wprowadz jeszcze raz: ' ); Blad := 1; If ( Liczba > MaxInt ) Or ( Liczba < -MaxInt ) Then Write( 'Bledny zakres wartoci, wprowadz jeszcze raz: ' ); Blad := 1; If Blad = 0 Then ReadInt := Trunc( Liczba ); Until Blad = 0; Copyright Roman Simiński Strona : 84
85 ReadInt raz jeszcze kontrola zakresu, funkcja, modyfikacja Function ReadInt : Integer; Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) Liczba : Real; (* Zmienna robocza o duzym zakresie *) Repeat Liczba := 0; ReadLn( Napis ); Val( Napis, Liczba, Blad ); If Blad <> 0 Then Write( 'Bledna liczba, wprowadz jeszcze raz: ' ) Else If LiczbaOK( Liczba ) Then ReadInt := Trunc( Liczba ) Else Blad := 1; Until Blad = 0; Funkcja testująca poprawność liczby jako wartości całkowitej Copyright Roman Simiński Strona : 85
86 ReadInt raz jeszcze kontrola zakresu, funkcja, modyfikacja, cd... Function ReadInt : Integer; Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) Liczba : Real; (* Zmienna robocza o duzym zakresie *) Function LiczbaOK( L : Real ) : Boolean; LiczbaOK := True; (* Zakladam, ze liczba jest poprawna *) If L <> Trunc( L ) Then Write( 'Tylko calowite, wprowadz jeszcze raz: ' ); LiczbaOK := False; If ( L > MaxInt ) Or ( L < -MaxInt ) Then Write( 'Bledny zakres wartoci, wprowadz jeszcze raz: ' ); LiczbaOK := False;... If LiczbaOK( Liczba ) Then... Najpierw zadeklaruj funkcję, potem jej używaj Copyright Roman Simiński Strona : 86
87 ReadInt raz jeszcze kontrola zakresu, funkcja, modyfikacja, cd... Function ReadInt : Integer; Var Napis : String; (* Przechowuje wczytany napis *) Blad : Integer; (* Numer blednego znaku w napisie *) Liczba : Real; (* Zmienna robocza o duzym zakresie *) Function LiczbaOK( L : Real ) : Boolean; LiczbaOK := True; (* Zakladam, ze liczba jest poprawna *) If L <> Trunc( L ) Then Write( 'Tylko calowite, wprowadz jeszcze raz: ' ); LiczbaOK := False; If ( L > MaxInt ) Or ( L < -MaxInt ) Then Write( 'Bledny zakres wartoci, wprowadz jeszcze raz: ' ); LiczbaOK := False;... If LiczbaOK( Liczba ) Then... Najpierw zadeklaruj funkcję, potem jej używaj Copyright Roman Simiński Strona : 87
88 Kilka przykładowych funkcji Function WartoscBrutto( Netto : Real ) : Real; WartoscBrutto := Netto * 1.22; Function IsDigit( C : Char ) : Boolean; IsDigit := ( C In [ ] ); (* lub := ( C >= 0 ) And ( C <= 9 ) *) Function IsLetter( C : Char ) : Boolean; IsLetter := ( C In [ A.. Z, a.. z ] ); Function ObliczDelte( A, B, C : Real ) : Real; ObliczDelte := B * B 4 * A * C; Copyright Roman Simiński Strona : 88
89 Kilka przykładowych funkcji, cd... Function ToLower( C : Char ) : Char; If C In [ A.. Z ] Then (* lub ( C >= A ) And ( C <= Z ) *) ToLower := Chr( Ord( C ) + 32 ) (* 32 dla kodu ASCII *) Else ToLower := C; (* Nic nie rób to nie duża litera *) Function ToUpper( C : Char ) : Char; If C In [ a.. z ] Then (* lub ( C >= a ) And ( C <= z ) *) ToLower := Chr( Ord( C ) - 32 ) (* 32 dla kodu ASCII *) Else ToLower := C; (* Nic nie rób to nie duża litera *) Copyright Roman Simiński Strona : 89
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ółowoPodstawy programowania
Podstawy programowania Część czwarta Wariacje na temat instrukcji iteracyjnych Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Bardziej szczegółowoPodstawy programowania
Podstawy programowania Część druga Pierwsze programy 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 tych materiałów
Bardziej szczegółowoPodstawy programowania
Podstawy programowania Część trzecia sterujące wykonaniem programu wprowadzenie Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści
Bardziej szczegółowoJę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ółowoProgramowanie 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ółowoINSTRUKCJA 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ółowoProgramowanie 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ółowoWprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część trzecia 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ółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Bardziej szczegółowoInformatyka 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ółowoLekcja 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ółowoPodstawy programowania
Podstawy programowania Część siódma Tablice różne zastosowania Zbiory 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ółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Bardziej szczegółowotyp 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ółowoJęzyki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Funkcje, przekazywanie parametrów, przykłady wykorzystania
Bardziej szczegółowoWstę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ółowoPodstawy 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ółowoPoniŜ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ółowoPascal 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ółowoPodstawy programowania
Podstawy programowania Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót treści wykładu,
Bardziej szczegółowoWykł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ółowoJęzyki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część druga Przetwarzanie tablic znaków Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim
Bardziej szczegółowoPodstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Bardziej szczegółowoPodstawy 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ółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziesiąta Rekordy w C/C++ struktury Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót
Bardziej szczegółowoInstrukcje 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ółowoWprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część druga Instrukcje sterujące przebiegiem programu Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Bardziej szczegółowoWIADOMOŚ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ółowoLaboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Bardziej szczegółowoDelphi Laboratorium 3
Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski
Bardziej szczegółowoJęzyki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie
Bardziej szczegółowoWykł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ółowoElż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ółowoProcedury 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ółowoInformatyka 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ółowoInformatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa
Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziesiąta Rekordy w C/C++ struktury Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Bardziej szczegółowoPodprogramy. Procedury
Podprogramy Turbo Pascal oferuje metody ułatwiające tworzenie struktury programu, szczególnie dotyczy to większych programów. Przy tworzeniu większego programu stosuje się jego podział na kilka mniejszych
Bardziej szczegółowoWrocław, dn. 19 kwietnia 2006 roku. Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu
Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu Wrocław, dn 19 kwietnia 2006 roku Czas trwania zajęć: 90 minut, przedmiot: informatyka Temat lekcji:
Bardziej szczegółowoPodstawy 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ółowoDIAGRAMY 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Ćwiczenia podstawowe, zestaw 5, część 1
Ćwiczenia podstawowe, zestaw 5, część 1 1 Napisz zestaw funkcji identyfikujących rodzaj znaku Należy napisać funkcje, pozwalające na identyfikowanie typu znaku przekazanego parametrem. Załóżmy, że tworzymy
Bardziej szczegółowo1. 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ółowo2.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ółowoInformatyka 1. Procedury i funkcje, struktura programu w Pascalu
Informatyka 1 Wykład V Procedury i funkcje, struktura programu w Pascalu Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: deklaracje procedury i funkcji, parametry procedur i funkcji, reguły użycia parametrów
Bardziej szczegółowoPASCAL 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ółowoWstę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ółowoWstę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ółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści
Bardziej szczegółowoJęzyki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
Bardziej szczegółowoPascal - 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ółowoSystemy ekspertowe. Wnioskowanie w systemach regułowych. Część piąta. Autor Roman Simiński.
Część piąta 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 nie zastąpi uważnego w nim uczestnictwa.
Bardziej szczegółowoProgramowanie 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ółowoPrzykł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ółowoWykł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ółowoSkrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać
MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Funkcje w języku C Zasięg zmiennych Przekazywanie
Bardziej szczegółowoWykład 2 Składnia języka C# (cz. 1)
Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu
Bardziej szczegółowoProgramowanie w języku C++
Programowanie w języku C++ Część dziewiąta 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 nie zastąpi
Bardziej szczegółowoP 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ółowoProgramowanie w języku C++
Programowanie w języku C++ Część siódma 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 tych materiałów nie zastąpi
Bardziej szczegółowoInformatyka 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ółowoWyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal
Bardziej szczegółowoUwagi 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ółowolekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Bardziej szczegółowoPodstawy 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ółowoPodstawy Programowania
Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl
Bardziej szczegółowoProgramowanie. 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#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Bardziej szczegółowoPodstawy 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ółowoProgramowanie 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ółowoProgramowanie 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ółowoPodstawy programowania
Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Bardziej szczegółowoZasady 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ółowoJerzy Nawrocki, Wprowadzenie do informatyki
Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego
Bardziej szczegółowo1 Wielokrotne powtarzanie tych samych operacji
1 Wielokrotne powtarzanie tych samych operacji Zadanie 1. roszę porównać następujące programy(efekt działania każdego z nich jest takisam). rzykład 1 przedstawia najbardziej typowy zapis, powodujący wykonanie
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowo#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Bardziej szczegółowoINSTRUKCJE 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ółowoPliki. 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ółowoWstęp do informatyki- wykład 11 Funkcje
1 Wstęp do informatyki- wykład 11 Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz, Opus magnum
Bardziej szczegółowoPascal. 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ółowoProgramowanie 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ółowoJerzy Nawrocki, Wprowadzenie do informatyki
Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego
Bardziej szczegółowoWykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe
Podstawy programowania Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe 1 Podstawy programowania Część I Łańcuchy znaków 2 I. Zmienne łańcuchowe Klasyfikacja zmiennych statycznych
Bardziej szczegółowoWstęp do informatyki- wykład 9 Funkcje
1 Wstęp do informatyki- wykład 9 Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz, Opus magnum
Bardziej szczegółowoJę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ółowoInstrukcja 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ółowoPodstawy programowania w języku JavaScript
Podstawy programowania w języku JavaScript Część trzecia Funkcje i programowanie sterowane zdarzeniami Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Bardziej szczegółowoWstęp do programowania
wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych
Bardziej szczegółowo#7 P r o g r a m... Rys Struktura zmiennej typu string
11. OPERACJE NA ŁAŃCUCHACH ZNAKOWYCH 11.1. Opis typu i deklarowanie zmiennych łańcuchowych Typ łańcuchowy o nazwie string opisuje strukturę danych, złożoną z 255 elementów typu Char. Jest ona przeznaczona
Bardziej szczegółowoAlgorytmy i struktury danych
Algorytmy i struktury danych Funkcje i procedury Zasięg zmiennych Rekurencja Witold Marańda maranda@dmcs.p.lodz.pl 1 Modularyzacja programu Algorytmy strukturalne moŝna redukować, zastępując złoŝone fragmenty
Bardziej szczegółowoPodstawy 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ółowomain( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!
Funkcja wysoce niezależny blok definicji i instrukcji programu (podprogram) Każdy program napisany w języku C/C++ zawiera przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Najczęściej wykorzystuje
Bardziej szczegółowoInstrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:
Instrukcje sterujące wer. 11 z drobnymi modyfikacjami! Wojciech Myszka 2017-07-05 10:53:09 +0200 Ala ma kota Część I Prosty przykład Problem 1. Zadanie polega na tym, żeby opracować algorytm który dla
Bardziej szczegółowoWprowadzenie 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ółowo1 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