helion kopia dla: Iwona Kruszynska

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

Download "helion kopia dla: Iwona Kruszynska"

Transkrypt

1

2 962a78eb15d2230b22be7b0aa45 Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszehnianie ałośi lub fragmentu niniejszej publikaji w jakiejkolwiek postai jest zabronione. Wykonywanie kopii metodą kserografizną, fotografizną, a także kopiowanie książki na nośniku filmowym, magnetyznym lub innym powoduje naruszenie praw autorskih niniejszej publikaji. Wszystkie znaki występująe w tekśie są zastrzeżonymi znakami firmowymi bądź towarowymi ih właśiieli. Autor oraz Wydawnitwo HELION dołożyli wszelkih starań, by zawarte w tej książe informaje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialnośi ani za ih wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowyh lub autorskih. Autor oraz Wydawnitwo HELION nie ponoszą również żadnej odpowiedzialnośi za ewentualne szkody wynikłe z wykorzystania informaji zawartyh w książe. Redaktor prowadząy: Ewelina Burska Projekt okładki: Radosław Zbytniewski Materiały grafizne na okłade zostały wykorzystane za zgodą istokphoto In. Wydawnitwo HELION ul. Kośiuszki 1, GLIWICE tel , helion@helion.pl WWW: (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli hesz oenić tę książkę, zajrzyj pod adres Możesz tam wpisać swoje uwagi, spostrzeżenia, reenzję. Kody wykorzystane w książe można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/tpzada.zip ISBN: Nr katalogowy: 6887 Copyright Helion 2011 Printed in Poland. Poleć książkę na Faebook.om Kup w wersji papierowej Oeń książkę Księgarnia internetowa Lubię to!» Nasza społezność

3 962a78eb15d2230b22be7b0aa45 Spis treśi Od autora 5 Rozdział 1. Proste operaje wejśia-wyjśia 7 Instrukje wyjśia 7 Instrukje wejśia 8 Rozdział 2. Podejmujemy deyzje w programie 17 Rozdział 3. Iteraje 29 Rozdział 4. Tablie 57 Tablie jednowymiarowe 57 Tablie dwuwymiarowe 61 Rozdział 5. Podprogramy 81 Proedury 81 Funkje 101 Rozdział 6. Programowanie obiektowe 105 Rozdział 7. Pliki tekstowe 117

4 962a78eb15d2230b22be7b0aa45 4 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami

5 962a78eb15d2230b22be7b0aa45 Od autora Trójzbiór Zadania z programowania z rozwiązaniami to pierwszy w Polse zbiór zadań adresowany do wszystkih osób zainteresowanyh programowaniem, które w krótkim zasie, poprzez analizę zaproponowanyh rozwiązań, hiałyby nauzyć się solidnyh podstaw programowania w trzeh językah: Turbo Pasalu, C++ oraz Javie. Składa się on z trzeh zbiorów zadań: Turbo Pasal. Zadania z programowania z przykładowymi rozwiązaniami. C++. Zadania z programowania z przykładowymi rozwiązaniami. Java. Zadania z programowania z przykładowymi rozwiązaniami. Choiaż każda z powyższyh książek tworzy odrębną ałość, to zostały one napisane w taki sposób, aby ten sam lub bardzo podobny problem programistyzny (np. napisz program, który obliza pole prostokąta) został rozwiązany w trzeh językah programowania: Turbo Pasalu, C++ i Javie, strukturalnie i obiektowo. Tak skonstruowany trójzbiór Zadania z programowania uzyskuje zupełnie nowy wymiar dydaktyzny w naue tyh trzeh języków. Zadania z programowania można również wykorzystać jako uzupełnienie wiedzy zazerpniętej z innyh książek do nauki programowania. Zakres i stopień trudnośi zadań pokrywa się z tradyyjnym proesem nauzania wymienionyh języków. Zbiór ten może też pełnić rolę podręznej pomoy dla pozątkująyh programistów, w której szybko znajdą oni potrzebne im rozwiązanie.

6 962a78eb15d2230b22be7b0aa45 6 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Trójzbiór adresowany jest również do maturzystów, studentów, nauzyieli informatyki oraz osób zainteresowanyh programowaniem lub rozpozynająyh naukę programowania w języku Turbo Pasal. Uzniowie tehników informatyznyh mogą zbiory zadań wykorzystać do szybkiej powtórki przed egzaminem zawodowym. W trakie pisania tej książki korzystałem z tzw. aplikaji konsolowyh (ang. onsole appliation) i kompilatora firmy Borland (Turbo Pasal). Mirosław J. Kubiak

7 962a78eb15d2230b22be7b0aa45 1 Proste operaje wejśia-wyjśia W tym rozdziale zamieszzono proste zadania z przykładowymi rozwiązaniami ilustrująe, w jaki sposób komputer komunikuje się z użytkownikiem w języku Turbo Pasal. Każda aplikaja powinna posiadać możliwość komunikowania się z użytkownikiem. Wykorzystują prosty przykład pokażemy, w jaki sposób program napisany w języku Turbo Pasal komunikuje się z nim poprzez standardowe operaje wejśia-wyjśia. Instrukje wyjśia Do wyprowadzania danyh na ekran służą dwie instrukje (proedury 1 standardowe): Writeln i Write. Instrukja Writeln powoduje wyprowadzenie danyh na ekran monitora i automatyzne przejśie kursora do nowej linii. Jej ogólna postać jest następująa: Writeln(lista argumentów); gdzie lista argumentów może być iągiem znaków stałyh, zmiennyh lub wyrażeń oddzielonyh od siebie przeinkami. 1 Więej informaji o proedurah znajdzie zytelnik w rozdziale 5.

8 962a78eb15d2230b22be7b0aa45 8 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Instrukja Write umożliwia wyprowadzenie danyh na ekran monitora, nie powodują automatyznego przejśia kursora do nowej linii. Jej ogólna postać to: Write(lista argumentów); gdzie lista argumentów również może być iągiem znaków stałyh, zmiennyh lub wyrażeń oddzielonyh za pomoą przeinków. Instrukje wyjśia Writeln i Write umożliwiają przedstawienie lizb w postai sformatowanej, tj. z określoną lizbą miejs przed i po krope dziesiętnej. Aby uzyskać sformatowaną postać lizby rzezywistej, należy argument tyh funkji uzupełnić o określenie szerokośi pól w następująej postai: : szerokość pola: lizba miejs po krope Zapis Write(suma:6:2) oznaza, że wartość zmiennej suma zostanie wyświetlona w polu o szerokośi sześiu znaków z dwoma yframi po krope. Instrukje wejśia Do wprowadzania zmiennyh do uruhomionego programu w Turbo Pasalu służą dwie instrukje (proedury standardowe): Read i Readln. Instrukja Read umożliwia wprowadzenie do uruhomionego programu wartośi zmiennyh z klawiatury, nie powodują automatyznego przejśia kursora do nowej linii. Jej ogólna postać jest następująa: Read(lista argumentów); gdzie lista argumentów może być iągiem znaków stałyh, zmiennyh lub wyrażeń oddzielonyh od siebie przeinkami. Readln również jest instrukją umożliwiająą wprowadzenie do uruhomionego programu wartośi zmiennyh z klawiatury, powoduje ona jednak (po wprowadzeniu danyh) automatyzne przejśie kursora do nowej linii. Jej ogólna postać jest następująa: Readln(lista argumentów); gdzie lista argumentów może być iągiem znaków stałyh, zmiennyh lub wyrażeń oddzielonyh od siebie przeinkami.

9 962a78eb15d2230b22be7b0aa45 Rozdział 1. Proste operaje wejś ia-wyjś ia 9 Z A D A N I E 1.1 Napisz program, który obliza pole prostokąta. Wartośi boków a i b wprowadzamy z klawiatury. W programie należy przyjąć, że zmienne a i b oraz pole są typu Real (rzezywistego). Dla zmiennyh tyh przyjmujemy format wyświetlania ih na ekranie w polu zteroznakowym z dwoma miejsami po krope. Przykładowe rozwiązanie listing 1.1 program Projet1; // Zadanie 1.1 {$APPTYPE CONSOLE} uses SysUtils; a, b, pole: Real; // deklarujemy zmienne typu Real Writeln('Program obliza pole prostokata.'); Writeln('Podaj bok a.'); Readln(a); Writeln('Podaj bok b.'); Readln(b); pole := a*b; // oblizamy pole prostokata Write('Pole prostokata o boku a = ', a:4:2, ' i boku b = ', b:4:2); Write(' wynosi ', pole:4:2, '.'); Readln; // zeka na naisnieie klawisza Enter Zmienne określonego typu deklarujemy w programie za pomoą słowa kluzowego. Linijki kodu a, b, pole: Real; // deklarujemy zmienne typu Real umożliwiają deklaraję zmiennyh a, b i pole. Wszystkie te zmienne są typu rzezywistego Real. Instrukja Writeln('Program obliza pole prostokata.'); wyświetla na ekranie komputera komunikat Program obliza pole prostokata. Instrukja Readln(a) zeka na wprowadzenie z klawiatury lizby, która następnie zostanie przypisana zmiennej a. Pole prostokąta zostaje oblizone w instrukji

10 962a78eb15d2230b22be7b0aa45 10 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami pole := a*b; // oblizamy pole prostokata Za wyświetlenie wartośi zmiennyh a, b oraz pole wraz z odpowiednim opisem odpowiedzialne są następująe linijki kodu: Instrukja Write('Pole prostokata o boku a = ', a:4:2, ' i boku b = ', b:4:2); Write(' wynosi ', pole:4:2, '.'); Readln; // zeka na naisnieie klawisza Enter zeka na użyie klawisza Enter, aby po jego naiśnięiu zamknąć ekran działająego programu. Komentarze oznazamy w programie dwoma ukośnikami lub dwoma nawiasami klamrowymi: // to jest komentarz do kodu {to też jest komentarz do kodu} Komentarze są ignorowane przez kompilator w proesie kompilaji. Rezultat działania programu można zobazyć na rysunku 1.1. Program obliza pole prostokata. Podaj bok a. 1 Podaj bok b. 2 Pole prostokata o boku a = 1.00 i boku b = 2.00 wynosi Rysunek 1.1. Efekt działania programu Zadanie 1.1 Z A D A N I E 1.2 Napisz program, który wyświetla na ekranie komputera wartość predefiniowanej stałej π = 3,14 Należy przyjąć format wyświetlania jej w polu 10-znakowym z ośmioma miejsami po krope. Przykładowe rozwiązanie listing 1.2 program Projet1; // Zadanie 1.2 {$APPTYPE CONSOLE} uses SysUtils;

11 962a78eb15d2230b22be7b0aa45 Rozdział 1. Proste operaje wejś ia-wyjś ia 11 Writeln('Program wyswietla wartos predefiniowanej stalej pi'); Writeln('z dokladnosia osmiu miejs po krope.'); Writeln('Pi = ', pi:10:8); Readln; // zeka na naisnieie klawisza Enter Rezultat działania programu można zobazyć na rysunku 1.2. Program wyswietla wartos predefiniowanej stalej pi z dokladnosia osmiu miejs po krope. Pi = Rysunek 1.2. Efekt działania programu Zadanie 1.2 Z A D A N I E 1.3 Napisz program, który wyświetla na ekranie komputera pierwiastek kwadratowy z wartośi predefiniowanej π = 3,14 Należy przyjąć format wyświetlania wyniku w polu 10-znakowym z ośmioma miejsami po krope. Przykładowe rozwiązanie listing 1.3 program Projet1; // Zadanie 1.3 {$APPTYPE CONSOLE} uses SysUtils; Writeln('Program wyswietla pierwiastek kwadratowy z wartosi predefiniowanej pi'); Writeln('z dokladnosia osmiu miejs po krope.'); Writeln('Sqrt(pi) = ', Sqrt(pi):10:8); Readln; // zeka na naisnieie klawisza Enter Pierwiastek kwadratowy ze stałej pi oblizamy za pomoą funkji Sqrt(). Rezultat działania programu można zobazyć na rysunku 1.3.

12 962a78eb15d2230b22be7b0aa45 12 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Program wyswietla pierwiastek kwadratowy z wartosi predefiniowanej pi z dokladnosia osmiu miejs po krope. Sqrt(pi) = Rysunek 1.3. Efekt działania programu Zadanie 1.3 Z A D A N I E 1.4 Napisz program, który obliza objętość kuli o promieniu r. Wartość promienia wprowadzamy z klawiatury. W programie należy przyjąć, że promień r jest typu Real (rzezywistego). Dla zmiennyh r oraz objetos przyjmujemy format wyświetlania ih na ekranie w polu zteroznakowym z dwoma miejsami po krope. Przykładowe rozwiązanie listing 1.4 program Projet1; // Zadanie 1.4 {$APPTYPE CONSOLE} uses SysUtils; r, objetos: Real; Writeln('Program obliza objetos kuli o promieniu r.'); Writeln('Podaj promien r.'); Readln(r); objetos := 4*Pi*r*r*r/3; Write('Objetos kuli o promieniu r = ', r:4:2); Writeln(' wynosi ', objetos:4:2,'.'); Readln; // zeka na naisnieie klawisza Enter Objętość kuli obliza następująa linijka kodu: objetos := 4*Pi*r*r*r/3; gdzie potęgowanie zamieniono na mnożenie. Rezultat działania programu można zobazyć na rysunku 1.4.

13 962a78eb15d2230b22be7b0aa45 Rozdział 1. Proste operaje wejś ia-wyjś ia 13 Program obliza objetos kuli o promieniu r. Podaj promien r. 1 Objetos kuli o promieniu r = 1.00 wynosi Rysunek 1.4. Efekt działania programu Zadanie 1.4 Z A D A N I E 1.5 Napisz program oblizająy wynik dzielenia ałkowitego bez reszty dwóh lizb a = 37 i b = 11. Wskazówka Należy zastosować operator dzielenia ałkowitego bez reszty div. Umożliwia on uzyskanie ałkowitej wartośi lizbowej z wyniku dzielenia, podzas gdy reszta jest odrzuana. Przykładowe rozwiązanie listing 1.5 program Projet1; // Zadanie 1.5 {$APPTYPE CONSOLE} uses SysUtils; onst a = 37; b = 11; Writeln('Program obliza wynik dzielenia alkowitego bez reszty dwoh lizb.'); Writeln; // wyswietlenie pustej linii Writeln('Dla lizb a = ', a, ' i b = ', b); Writeln(a, ' div ', b, ' = ', a div b, '.'); Readln; // zeka na naisnieie klawisza Enter Stałe a i b definiujemy w programie za pomoą słowa kluzowego onst, tak jak pokazują następująe linijki kodu: onst a = 37; b = 11;

14 962a78eb15d2230b22be7b0aa45 14 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Rezultat działania programu można zobazyć na rysunku 1.5. Program obliza wynik dzielenia alkowitego bez reszty dwoh lizb. Dla lizb a = 37 i b = div 11 = 3. Rysunek 1.5. Efekt działania programu Zadanie 1.5 Z A D A N I E 1.6 Napisz program, który obliza resztę z ałkowitego dzielenia dwóh lizb a = 37 i b = 11. Wskazówka Należy zastosować operator reszty z ałkowitego dzielenia mod (modulo). Umożliwia on uzyskanie tylko reszty z dzielenia, natomiast ałkowita wartość lizbowa jest odrzuana. Przykładowe rozwiązanie listing 1.6 program Projet1; // Zadanie 1.6 {$APPTYPE CONSOLE} uses SysUtils; onst a = 37; b = 11; Writeln('Program obliza reszte z alkowitego dzielenia dwoh lizb.'); Writeln; Writeln('Dla lizb a = ', a, ' i b = ', b); Writeln(a, ' mod ', b, ' = ', a mod b, '.'); Readln; // zeka na naisnieie klawisza Enter Rezultat działania programu można zobazyć na rysunku 1.6.

15 962a78eb15d2230b22be7b0aa45 Rozdział 1. Proste operaje wejś ia-wyjś ia 15 Program obliza reszte z alkowitego dzielenia dwoh lizb. Dla lizb a = 37 i b = mod 11 = 4. Rysunek 1.6. Efekt działania programu Zadanie 1.6 Z A D A N I E 1.7 Napisz program, który obliza sumę, różnię, ilozyn i iloraz dwóh lizb x i y wprowadzanyh z klawiatury. W programie należy przyjąć, że lizby x i y są typu Real (rzezywistego). Dla zmiennyh x, y, suma, roznia, ilozyn i iloraz przyjmujemy format wyświetlania ih na ekranie w polu zteroznakowym z dwoma miejsami po krope. Przykładowe rozwiązanie listing 1.7 program Projet1; // Zadanie 1.7 {$APPTYPE CONSOLE} uses SysUtils; x, y : Real; suma, roznia, ilozyn, iloraz : Real; Writeln('Program obliza sume, roznie, ilozyn i iloraz dwoh lizb.'); Writeln('Podaj x.'); Readln(x); Writeln('Podaj y.'); Readln(y); suma := x+y; roznia := x-y; ilozyn := x*y; iloraz := x/y; Writeln('Dla x = ', x:4:2, ' i y = ', y:4:2); Writeln; // wyswietlenie pustej linii Writeln('suma = ',suma:4:2, ','); Writeln('roznia = ', roznia:4:2, ',');

16 962a78eb15d2230b22be7b0aa45 16 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Writeln('ilozyn = ', ilozyn:4:2, ','); Writeln('iloraz = ', iloraz:4:2, '.'); Readln; // zeka na naisnieie klawisza Enter Za oblizenie w programie sumy, różniy, ilozynu i ilorazu odpowiadają następująe linijki kodu: suma := x+y; roznia := x-y; ilozyn := x*y; iloraz := x/y; Rezultat działania programu można zobazyć na rysunku 1.7. Program obliza sume, roznie, ilozyn i iloraz dwoh lizb. Podaj x. 3 Podaj y. 2 Dla x = 3.00 i y = 2.00 suma = 5.00, roznia = 1.00, ilozyn = 6.00, iloraz = Rysunek 1.7. Efekt działania programu Zadanie 1.7

17 962a78eb15d2230b22be7b0aa45 2 Podejmujemy deyzje w programie W tym rozdziale przedstawimy typowe zadania wraz z przykładowymi rozwiązaniami z wykorzystaniem instrukji warunkowej if... then oraz instrukji wyboru ase. W języku Turbo Pasal istnieją dwie instrukje warunkowe: instrukja warunkowa if... then, instrukja wyboru ase. Instrukja if... then służy do sprawdzania poprawnośi wyrażenia warunkowego i w zależnośi od tego, zy dany warunek jest prawdziwy, zy nie, pozwala na wykonanie różnyh bloków programu. Jej ogólna postać jest następująa: lub if warunek then // instrukje do wykonania, kiedy warunek jest prawdziwy if warunek then // instrukje do wykonania, kiedy warunek jest prawdziwy end

18 962a78eb15d2230b22be7b0aa45 18 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami else // instrukje do wykonania, kiedy warunek jest fałszywy Uwaga Po słowie kluzowym end znajdująym się bezpośrednio przed słowem kluzowym else nie występuje średnik. Instrukja wyboru ase pozwala w wygodny i przejrzysty sposób sprawdzić iąg warunków i wykonywać kod w zależnośi od tego, zy są one prawdziwe, zy fałszywe. Jej ogólna postać jest następująa: lub ase wyrażenia of wybór_1; wybór_2;... wybór _n ase wyrażenia of wybór_1; wybór_2;... wybór _n else instrukja; Z A D A N I E 2.1 Napisz program, który dla trzeh długośi boków wprowadzonyh z klawiatury sprawdza, zy tworzą one trójkąt prostokątny (zakładamy, że a > 0, b > 0, > 0). Przykładowe rozwiązanie listing 2.1 program Projet1; // Zadanie 2.1 {$APPTYPE CONSOLE} uses SysUtils; a, b, : Integer; Writeln('Podaj bok a.');

19 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 19 Readln(a); Writeln('Podaj bok b.'); Readln(b); Writeln('Podaj bok.'); Readln(); if (a*a+b*b) = (*) then Writeln('Boki a = ', a, ', b = ', b, ', = ',,' tworza trojkat prostokatny.') else Writeln('Boki a = ', a, ', b = ', b, ', = ',,' nie tworza trojkata prostokatnego.'); Readln; // zeka na naisnieie klawisza Enter Sprawdzenie twierdzenia Pitagorasa dla wzytanyh boków a, b i zostało zawarte w następująyh linijkah kodu: if (a*a+b*b) = (*) then Writeln('Boki a = ', a, ', b = ', b, ', = ',,' tworza trojkat prostokatny.') else Writeln('Boki a = ', a, ', b = ', b, ', = ',,' nie tworza trojkata prostokatnego.'); Łatwo sprawdzić, że boki a = 3, b = 4, = 5 są bokami trójkąta prostokątnego (lizby te spełniają twierdzenie Pitagorasa), i na ekranie pojawi się komunikat Boki tworza trojkat prostokatny, natomiast boki a = 1, b = 2, = 3 nie utworzą trójkąta prostokątnego (twierdzenie Pitagorasa dla tyh lizb nie jest spełnione), wię na ekranie zostanie wyświetlony komunikat Boki nie tworza trojkata prostokatnego. Rezultat działania programu dla a = 3, b = 4, = 5 można zobazyć na rysunku 2.1. Podaj bok a. 3 Podaj bok b. 4 Podaj bok. 5 Boki a = 3, b = 4, = 5 tworza trojkat prostokatny. Rysunek 2.1. Efekt działania programu Zadanie 2.1

20 962a78eb15d2230b22be7b0aa45 20 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Z A D A N I E 2.2 Napisz program, który z wykorzystaniem instrukji warunkowej if obliza pierwiastki równania kwadratowego ax 2 +bx+ = 0, gdzie zmienne a, b, to lizby rzezywiste wprowadzane z klawiatury. Dla zmiennyh a, b,, x1 oraz x2 należy przyjąć format wyświetlania ih na ekranie w polu zteroznakowym z dwoma miejsami po krope. Przykładowe rozwiązanie listing 2.2 program Projet1; // Zadanie 2.2 {$APPTYPE CONSOLE} uses SysUtils; a, b,, delta, x1, x2: Real; Writeln('Program obliza pierwiastki rownania kwadratowego dla dowolnyh wspolzynnikow a, b,.'); Writeln('Podaj a.'); Readln(a); if (a = 0) then Writeln('Niedozwolona wartos wspolzynnika a. Naisnij klawisz Enter.') else Writeln('Podaj b.'); Readln(b); Writeln('Podaj.'); Readln(); Writeln('Dla wprowadzonyh lizb:'); Writeln('a = ', a:4:2, ','); Writeln('b = ', b:4:2, ','); Writeln(' = ', :4:2, ','); delta := b*b-4*a*; if delta < 0 then Writeln('brak pierwiastkow rzezywistyh.') else if delta = 0 then x1 := -b/(2*a);

21 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 21 Writeln('trojmian ma jeden pierwiastek podwojny x1 = ', x1:4:2, '.'); end else x1 := (-b-sqrt(delta))/(2*a); x2 := (-b+sqrt(delta))/(2*a); Writeln('trojmian ma dwa pierwiastki:'); Writeln('x1 = ', x1:4:2, ','); Writeln('x2 = ', x2:4:2, '.'); Readln; // zeka na naisnieie klawisza Enter W pierwszej zęśi programu sprawdzamy, zy wartość współzynnika a jest równa zero. Ilustrują to następująe linijki kodu: if (a = 0) then Writeln('Niedozwolona wartos wspolzynnika a. Naisnij klawisz Enter.') else... Jeśli a = 0, to zostanie wyświetlony komunikat Niedozwolona wartos wspolzynnika a i program zostanie zakońzony. Dla a różnego od zera program będzie ozekiwał na wprowadzenie wartośi b i. Po ih wpisaniu zostanie oblizona delta według wzoru delta := b*b-4*a*; Jeśli delta < 0, zostanie wyświetlony komunikat brak pierwiastkow rzezywistyh. W przypadku gdy delta = 0, równanie kwadratowe ma pierwiastek podwójny, który oblizymy ze wzoru x1 := -b/(2*a); Jeśli delta > 0, równanie ma dwa pierwiastki, które zostaną oblizone przy użyiu wzorów x1 := (-b-sqrt(delta))/(2*a); x2 := (-b+sqrt(delta))/(2*a); Przykładowo dla a = 1, b = 5 i = 4 wartośi pierwiastków równania to odpowiednio x1 = -4 i x2 = -1.

22 962a78eb15d2230b22be7b0aa45 22 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Dla a = 1, b = 4 i = 4 trójmian ma z kolei jeden pierwiastek podwójny x1 = -2. Dla współzynników a = 1, b = 2 oraz = 3 trójmian nie ma pierwiastków rzezywistyh. Rezultat działania programu dla a = 1, b = 5, = 4 można zobazyć na rysunku 2.2. Program obliza pierwiastki rownania kwadratowego dla dowolnyh wspolzynnikow a, b,. Podaj a. 1 Podaj b. 5 Podaj. 4 Dla wprowadzonyh lizb: a = 1.00, b = 5.00, = 4.00, trojmian ma dwa pierwiastki: x1 = -4.00, x2 = Rysunek 2.2. Efekt działania programu Zadanie 2.2 Z A D A N I E 2.3 Napisz program, który z wykorzystaniem instrukji wyboru ase obliza pierwiastki równania kwadratowego ax 2 +bx+ = 0, gdzie zmienne a, b, to lizby rzezywiste wprowadzane z klawiatury. Dla zmiennyh a, b,, x1 oraz x2 należy przyjąć format wyświetlania ih na ekranie w polu zteroznakowym z dwoma miejsami po krope. Wskazówka Należy wprowadzić do programu zmienną pomonizą Lizba_Pierwiastkow.

23 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 23 Przykładowe rozwiązanie listing 2.3 program Projet1; // Zadanie 2.3 {$APPTYPE CONSOLE} uses SysUtils; a, b,, delta, x1, x2 : Real; Lizba_Pierwiastkow : Byte; // zmienna pomoniza Writeln('Program obliza pierwiastki rownania kwadratowego dla dowolnyh wspolzynnikow a, b,.'); Writeln('Podaj a.'); Readln(a); if (a = 0) then Writeln('Niedozwolona wartos wspolzynnika a. Naisnij klawisz Enter.') else Writeln('Podaj b.'); Readln(b); Writeln('Podaj.'); Readln(); Writeln('Dla wprowadzonyh lizb:'); Writeln('a = ', a:4:2, ','); Writeln('b = ', b:4:2, ','); Writeln(' = ', :4:2, ','); delta := b*b-4*a*; if delta < 0 then Lizba_Pierwiastkow := 0; if delta = 0 then Lizba_Pierwiastkow := 1; if delta > 0 then Lizba_Pierwiastkow := 2; ase Lizba_Pierwiastkow of 0 : Writeln('brak pierwiastkow rzezywistyh.'); 1 : x1 := -b/(2*a); Writeln('trojmian ma jeden pierwiastek podwojny x1 = ', x1:4:2, '.'); 2 : x1 := (-b-sqrt(delta))/(2*a); x2 := (-b+sqrt(delta))/(2*a); Writeln('trojmian ma dwa pierwiastki:'); Writeln('x1 = ', x1:4:2, ','); Writeln('x2 = ', x2:4:2, '.');

24 962a78eb15d2230b22be7b0aa45 24 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Readln; // zeka na naisnieie klawisza Enter Rezultat działania programu dla a = 1, b = 4 i = 4 można zobazyć na rysunku 2.3. Program obliza pierwiastki rownania kwadratowego dla dowolnyh wspolzynnikow a, b,. Podaj a. 1 Podaj b. 4 Podaj. 4 Dla wprowadzonyh lizb: a = 1.00, b = 4.00, = 4.00, trojmian ma jeden pierwiastek podwojny x1 = Rysunek 2.3. Efekt działania programu Zadanie 2.3 Z A D A N I E 2.4 Napisz program, który obliza wartość x z równania ax+b =. Wartośi a, b oraz należą do zbioru lizb rzezywistyh i są wprowadzane z klawiatury. Dodatkowo należy zabezpiezyć program na wypadek sytuaji, kiedy wprowadzona wartość a jest równa zero. Dla zmiennyh a, b, oraz x należy przyjąć format wyświetlania ih na ekranie w polu zteroznakowym z dwoma miejsami po krope. Przykładowe rozwiązanie listing 2.4 program Projet1; // Zadanie 2.4 {$APPTYPE CONSOLE}

25 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 25 uses SysUtils; a, b,, x : Real; Writeln('Program obliza wartos x z rownania liniowego ax+b =.'); Writeln('Podaj wartos a.'); Readln(a); if (a = 0) then Writeln('Niedozwolona wartos a. Naisnij klawisz Enter.') else Writeln('Podaj wartos b.'); Readln(b); Writeln('Podaj wartos.'); Readln(); x := (-b)/a; Write('Dla: a = ', a:4:2, ','); Write(' b = ', b:4:2, ','); Write(' = ', :4:2, ','); Write(' wartos x jest rowna ',x:4:2, '.'); Readln; // zeka na naisnieie klawisza Enter Rezultat działania programu można zobazyć na rysunku 2.4. Program obliza wartos x z rownania liniowego ax+b =. Podaj wartos a. 1 Podaj wartos b. 2 Podaj wartos. 3 Dla: a = 1.00, b = 2.00, = 3.00, wartos x jest rowna Rysunek 2.4. Efekt działania programu Zadanie 2.4

26 962a78eb15d2230b22be7b0aa45 26 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Z A D A N I E 2.5 Napisz program będąy prostą grą komputerową, w której użytkownik zgaduje lizbę losową z przedziału od 0 do 9 generowaną przez komputer. Wskazówka W programie należy zastosować funkję pseudolosową random(). Przykładowe rozwiązanie listing 2.5 program Projet1; // Zadanie 2.5 {$APPTYPE CONSOLE} uses SysUtils; losuj_lizbe, zgadnij_lizbe : Integer; Writeln('Program losuje lizbe od 0 do 9. Zgadnij ja.'); randomize(); losuj_lizbe := random(10); Readln(zgadnij_lizbe); if zgadnij_lizbe = losuj_lizbe then Writeln('Gratulaje! Zgadles lizbe!') else Writeln('Bardzo mi przykro, ale wylosowana lizba to ', losuj_lizbe, '.'); Readln; // zeka na naisnieie klawisza Enter Za losowanie lizby przez komputer odpowiadają w programie następująe linijki kodu: randomize(); losuj_lizbe := random(10); Funkja random(10) zwraa lizbę pseudolosową z zakresu od 0 do 9 (tj. 10 1). Proedura randomize() inijalizuje generator lizb pseudolosowyh (tzn. ustala jego wartość pozątkową).

27 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 27 Rezultat działania programu można zobazyć na rysunku 2.5. Program losuje lizbe od 0 do 9. Zgadnij ja. 9 Bardzo mi przykro, ale wylosowana lizba to 8. Rysunek 2.5. Efekt działania programu Zadanie 2.5

28 962a78eb15d2230b22be7b0aa45 28 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami

29 962a78eb15d2230b22be7b0aa45 3 Iteraje W tym rozdziale przedstawimy typowe zadania wraz z rozwiązaniami z wykorzystaniem iteraji, zyli popularnyh pętli. O ile młodzi programiśi nie mają problemu z programami, w któryh zastosowano instrukję for, to zamiana jej na repeat... until oraz while nastręza pewnyh trudnośi. Proste przykłady z użyiem instrukji for zostały wię rozwiązane zarówno z instrukją repeat... until, jak i while. Iteraja (ła. iteratio powtarzanie) to zynność powtarzania (najzęśiej wielokrotnego) tej samej albo wielu różnyh instrukji w pętli. W języku Turbo Pasal istnieją trzy instrukje iterayjne: for... to (downto)... do (dla), repeat... until (powtarzaj), while (dopóki). Instrukja for... to... do określa dokładnie, ile razy zostanie powtórzony dany iąg instrukji. Jej ogólna postać jest następująa: for zmienna := wartość_pozątkowa to wartość_końowa do // iąg instrukji

30 962a78eb15d2230b22be7b0aa45 30 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Zmienna nazywana jest zmienną sterująą pętlą for. Musi być ona typu ałkowitego, znakowego lub logiznego 1. Podzas wykonywania pętli for instrukja (prosta lub złożona) wyszzególniona po słowie kluzowym do powtarzana jest tyle razy, ile wartośi znajduje się w przedziale wartość_pozątkowa wartość_końowa Instrukja for może również przyjmować inną postać: for zmienna := wartość_pozątkowa downto wartość_końowa do // iąg instrukji Warto pamiętać, że zmienna sterująa przyjmuje tu kolejną wartość mniejszą od wynikająej z przedziału wartość_pozątkowa wartość_końowa Kolejną instrukją iterayjną jest repeat... until. Jej ogólna postać jest następująa: repeat instrukja_1; instrukja_2;... instrukja_n; until warunek; Cehą harakterystyzną tej pętli jest to, że bez względu na wartość warunku musi ona przynajmniej raz zostać wykonana. Wykonywanie instrukji pomiędzy słowami kluzowymi repeat i until końzy się, jeśli warunek osiąga wartość true (prawda). W przeiwnym wypadku instrukje te są ponownie powtarzane. Ostatnią instrukją iterayjną jest while... do. Oto jej ogólna postać: while warunek do instrukja_1; instrukja_2;... instrukja_n; 1 Przykładowo w języku C++, w przeiwieństwie do Turbo Pasala, zmienna sterująa pętlą for nie musi być typu ałkowitego, znakowego lub logiznego. Może być ona również typu np. float.

31 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 31 Jej ehą harakterystyzną jest sprawdzenie warunku jeszze przed wykonaniem iągu instrukji poniżej: instrukja_1; instrukja_2;... instrukja_n; W szzególnym przypadku pętla może nie zostać wale wykonana. Instrukja while... do powoduje wykonywanie instrukji instrukja_1; instrukja_2;... instrukja_n; tak długo, dopóki warunek jest spełniony. Z A D A N I E 3.1 Napisz program, który za pomoą instrukji for dla danyh wartośi x zmieniająyh się od 0 do 10 obliza wartość funkji y = 3x. Przykładowe rozwiązanie listing 3.1 program Projet1; // Zadanie 3.1 {$APPTYPE CONSOLE} uses SysUtils; x, y : Integer; Writeln('Program obliza wartos funkji y = 3x dla x zmieniajaego sie od 0 do 10.'); for x := 0 to 10 do y := 3*x; Writeln('x = ', x, #9, 'y = ', y); Readln; // zeka na naisnieie klawisza Enter

32 962a78eb15d2230b22be7b0aa45 32 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami W pętli for x := 0 to 10 do y := 3*x; Writeln('x = ', x, #9, 'y = ', y); kolejne wartośi x zmieniająe się automatyznie od 0 (wartość_ pozątkowa) do 10 (wartość_końowa) z krokiem równym 1 będą podstawiane do wzoru y := 3*x; a następnie zostaną wyświetlone na ekranie. #9 to znak tabulaji. Rezultat działania programu można zobazyć na rysunku 3.1. Program obliza wartos funkji y = 3x dla x zmieniajaego sie od 0 do 10. x = 0 y = 0 x = 1 y = 3 x = 2 y = 6 x = 3 y = 9 x = 4 y = 12 x = 5 y = 15 x = 6 y = 18 x = 7 y = 21 x = 8 y = 24 x = 9 y = 27 x = 10 y = 30 Rysunek 3.1. Efekt działania programu Zadanie 3.1 Z A D A N I E 3.2 Napisz program, który za pomoą instrukji repeat... until dla danyh wartośi x zmieniająyh się od 0 do 10 obliza wartość funkji y = 3x. Przykładowe rozwiązanie listing 3.2 program Projet1; // Zadanie 3.2 {$APPTYPE CONSOLE}

33 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 33 uses SysUtils; x, y : Integer; Writeln('Program obliza wartos funkji y = 3x dla x zmieniajaego sie od 0 do 10.'); x := 0; repeat y := 3*x; Writeln('x = ', x, #9, 'y = ', y); x := x+1; until x > 10; Readln; // zeka na naisnieie klawisza Enter Pętla repeat... until nie posiada wbudowanego mehanizmu zmiany zmiennej sterująej nią, dlatego musimy do niej ten mehanizm dobudować. Rolę zmiennej sterująej pełni tutaj zmienna x. repeat y := 3*x; Writeln('x = ', x, ' x := x+1; until x > 10; y = ', y); Tę zmienną powinniśmy przed pętlą wyzerować, zatem x := 0; Następnie zmienną x należy zwiększać o krok, który w naszym przypadku wynosi 1. Ilustruje to poniższa linijka kodu. x := x+1; Pętla będzie powtarzana tak długo, aż zmienna x będzie większa od 10. Zwróćmy uwagę, że warunek sprawdzająy zakońzenie działania pętli, tzn. until x > 10, znajduje się na jej końu. Z A D A N I E 3.3 Napisz program, który za pomoą instrukji while... do dla danyh wartośi x zmieniająyh się od 0 do 10 obliza wartość funkji y = 3x.

34 962a78eb15d2230b22be7b0aa45 34 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Przykładowe rozwiązanie listing 3.3 program Projet1; // Zadanie 3.3 {$APPTYPE CONSOLE} uses SysUtils; x, y : Integer; Writeln('Program obliza wartos funkji y = 3x dla x zmieniajaego sie od 0 do 10.'); x := 0; while x <= 10 do y := 3*x; Writeln('x = ', x, #9, 'y = ', y); x := x+1; Readln; // zeka na naisnieie klawisza Enter Pętla while... do, podobnie jak repeat... until, nie posiada wbudowanego mehanizmu modyfikaji sterująej nią zmiennej, musimy wię go w nią wbudować. Rolę zmiennej sterująej pełni tutaj x. while x <= 10 do y := 3*x; Writeln('x = ', x, ' x := x+1; y = ', y); Zmienną x powinniśmy przed pętlą wyzerować, zatem x := 0; Następnie zmienną x należy zwiększać o krok, który w naszym przypadku wynosi 1. Ilustruje to linijka kodu poniżej. x := x+1; Pętla będzie powtarzana tak długo, dopóki zmienna x będzie mniejsza bądź równa 10. Zwróćmy uwagę, że warunek sprawdzająy zakońzenie działania pętli, tzn. while x <= 10 do, znajduje się na jej pozątku.

35 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 35 Z A D A N I E 3.4 Napisz program, który za pomoą instrukji for wyświetla lizby ałkowite od 1 do 20. Przykładowe rozwiązanie listing 3.4 program Projet1; // Zadanie 3.4 {$APPTYPE CONSOLE} uses SysUtils; i : Integer; Writeln('Program wyswietla lizby alkowite od 1 do 20.'); for i := 1 to 20 do if i < 20 then Write(i, ', ') else Write(i, '.'); Readln; // zeka na naisnieie klawisza Enter Rezultat działania programu można zobazyć na rysunku 3.2. Program wyswietla lizby alkowite od 1 do 20. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20. Rysunek 3.2. Efekt działania programu Zadanie 3.4 Z A D A N I E 3.5 Napisz program, który za pomoą instrukji repeat... until wyświetla lizby ałkowite od 1 do 20. Przykładowe rozwiązanie listing 3.5 program Projet1; // Zadanie 3.5 {$APPTYPE CONSOLE}

36 962a78eb15d2230b22be7b0aa45 36 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami uses SysUtils; i : Integer; Writeln('Program wyswietla lizby alkowite od 1 do 20.'); i := 0; repeat i := i+1; if i < 20 then Write(i, ', ') else Write(i, '.'); until i >= 20; Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.6 Napisz program, który za pomoą instrukji while... do wyświetla lizby ałkowite od 1 do 20. Przykładowe rozwiązanie listing 3.6 program Projet1; // Zadanie 3.6 {$APPTYPE CONSOLE} uses SysUtils; i : Integer; Writeln('Program wyswietla lizby alkowite od 1 do 20.'); i := 0; while i < 20 do i := i+1; if i < 20 then Write(i, ', ') else

37 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 37 Write(i, '.'); Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.7 Napisz program, który za pomoą instrukji for sumuje lizby ałkowite w przedziale od 1 do 100. Przykładowe rozwiązanie listing 3.7 program Projet1; // Zadanie 3.7 {$APPTYPE CONSOLE} uses SysUtils; i, suma : Integer; Writeln('Program sumuje lizby alkowite w przedziale od 1 do 100.'); suma := 0; for i := 1 to 100 do suma := suma+i; Writeln('Suma lizb alkowityh w przedziale od 1 do 100 wynosi ', suma, '.'); Readln; // zeka na naisnieie klawisza Enter Za sumowanie lizb ałkowityh w przedziale od 1 do 100 odpowiedzialne są następująe linijki kodu: for i := 1 to 100 do suma := suma+i; Ozywiśie przed pętlą zmienna suma musi zostać wyzerowana. suma := 0; Rezultat działania programu można zobazyć na rysunku 3.3.

38 962a78eb15d2230b22be7b0aa45 38 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Program sumuje lizby alkowite w przedziale od 1 do 100. Suma lizb alkowityh od 1 do 100 wynosi Rysunek 3.3. Efekt działania programu Zadanie 3.7 Z A D A N I E 3.8 Napisz program, który za pomoą instrukji repeat... until sumuje lizby ałkowite w przedziale od 1 do 100. Przykładowe rozwiązanie listing 3.8 program Projet1; // Zadanie 3.8 {$APPTYPE CONSOLE} uses SysUtils; i, suma : Integer; Writeln('Program sumuje lizby alkowite w przedziale od 1 do 100.'); suma := 0; i := 0; repeat suma := suma+i; i := i+1; until i > 100; Writeln('Suma lizb alkowityh w przedziale od 1 do 100 wynosi ', suma, '.'); Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.9 Napisz program, który za pomoą instrukji while... do sumuje lizby ałkowite w przedziale od 1 do 100. Przykładowe rozwiązanie listing 3.9 program Projet1; // Zadanie 3.9 {$APPTYPE CONSOLE}

39 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 39 uses SysUtils; i, suma : Integer; Writeln('Program sumuje lizby alkowite w przedziale od 1 do 100.'); suma := 0; i := 0; while i <= 100 do suma := suma+i; i := i+1; Writeln('Suma lizb alkowityh w przedziale od 1 do 100 wynosi ', suma, '.'); Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.10 Napisz program, który za pomoą instrukji for sumuje lizby parzyste w przedziale od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo mod. Przykładowe rozwiązanie listing 3.10 program Projet1; // Zadanie 3.10 {$APPTYPE CONSOLE} uses SysUtils; i, suma : Integer; Writeln('Program sumuje lizby parzyste w przedziale od 1 do 100.'); suma := 0;

40 962a78eb15d2230b22be7b0aa45 40 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami for i := 1 to 100 do if (i mod 2) = 0 then suma := suma+i; Writeln('Suma lizb parzystyh w przedziale od 1 do 100 wynosi ', suma, '.'); Readln; // zeka na naisnieie klawisza Enter Za sumowanie lizb parzystyh z przedziału od 1 do 100 odpowiedzialne są następująe linijki kodu: for i := 1 to 100 do if (i mod 2) = 0 then suma := suma+i; Do tego elu wykorzystaliśmy właśiwośi operatora modulo oznazonego jako mod. Zapis (i mod 2) = 0 oznaza, że w wyniku dzielenia ałkowitego i mod 2 reszta wynosi zero, a wię mamy do zynienia z lizbą parzystą, którą następnie dodajemy do zmiennej suma. Rezultat działania programu można zobazyć na rysunku 3.4. Program sumuje lizby parzyste w przedziale od 1 do 100. Suma lizb parzystyh w przedziale od 1 do 100 wynosi Rysunek 3.4. Efekt działania programu Zadanie 3.10 Z A D A N I E 3.11 Napisz program, który za pomoą instrukji repeat... until sumuje lizby parzyste w przedziale od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo mod. Przykładowe rozwiązanie listing 3.11 program Projet1; // Zadanie 3.11 {$APPTYPE CONSOLE} uses SysUtils;

41 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 41 i, suma : Integer; Writeln('Program sumuje lizby parzyste w przedziale od 1 do 100.'); suma := 0; i := 0; repeat if (i mod 2 = 0) then suma := suma+i; i := i+1; until i > 100; Writeln('Suma lizb parzystyh w przedziale od 1 do 100 wynosi ', suma, '.'); Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.12 Napisz program, który za pomoą instrukji while... do sumuje lizby parzyste w przedziale od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo mod. Przykładowe rozwiązanie listing 3.12 program Projet1; // Zadanie 3.12 {$APPTYPE CONSOLE} uses SysUtils; i, suma : Integer; Writeln('Program sumuje lizby parzyste w przedziale od 1 do 100.'); suma := 0; i := 0; while i <= 100 do

42 962a78eb15d2230b22be7b0aa45 42 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami if (i mod 2 = 0) then suma := suma+i; i := i+1; Writeln('Suma lizb parzystyh w przedziale od 1 do 100 wynosi ', suma, '.'); Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.13 Napisz program, który za pomoą instrukji for sumuje lizby nieparzyste z przedziału od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo mod i operatora negaji not. Przykładowe rozwiązanie listing 3.13 program Projet1; // Zadanie 3.13 {$APPTYPE CONSOLE} uses SysUtils; i, suma : Integer; Writeln('Program sumuje lizby nieparzyste w przedziale od 1 do 100.'); suma := 0; for i := 1 to 100 do if not (i mod 2 = 0) then suma := suma+i; Writeln('Suma lizb nieparzystyh w przedziale od 1 do 100 wynosi ', suma, '.'); Readln; // zeka na naisnieie klawisza Enter

43 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 43 Za sumowanie lizb nieparzystyh z przedziału od 1 do 100 odpowiedzialne są następująe linijki kodu: for i := 1 to 100 do if not (i mod 2 = 0) then suma := suma+i; Do tego elu wykorzystaliśmy właśiwośi operatora modulo oznazonego jako mod oraz operatora negaji oznazonego jako not. Operator not przekształa warunek prawdziwy w fałszywy, a fałszywy w prawdziwy. Zapis not (i mod 2) = 0 oznaza, że w wyniku dzielenia ałkowitego zmiennej i mod 2 reszta jest różna od zera, a wię mamy do zynienia z lizbą nieparzystą, którą następnie dodajemy do zmiennej suma. Rezultat działania programu można zobazyć na rysunku 3.5. Program sumuje lizby nieparzyste w przedziale od 1 do 100. Suma lizb nieparzystyh w przedziale od 1 do 100 wynosi Rysunek 3.5. Efekt działania programu Zadanie 3.13 Z A D A N I E 3.14 Napisz program, który za pomoą instrukji repeat... until sumuje lizby nieparzyste z przedziału od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo mod i operatora negaji not. Przykładowe rozwiązanie listing 3.14 program Projet1; // Zadanie 3.14 {$APPTYPE CONSOLE} uses SysUtils; i, suma : Integer; Writeln('Program sumuje lizby nieparzyste w przedziale od 1 do 100.'); suma := 0; i := 0;

44 962a78eb15d2230b22be7b0aa45 44 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami repeat if not (i mod 2 = 0) then suma := suma+i; i := i+1; until i > 100; Writeln('Suma lizb nieparzystyh w przedziale od 1 do 100 wynosi ', suma, '.'); Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.15 Napisz program, który za pomoą instrukji while... do sumuje lizby nieparzyste z przedziału od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo mod i operatora negaji not. Przykładowe rozwiązanie listing 3.15 program Projet1; // Zadanie 3.15 {$APPTYPE CONSOLE} uses SysUtils; i, suma : Integer; Writeln('Program sumuje lizby nieparzyste w przedziale od 1 do 100.'); suma := 0; i := 0; while i <= 100 do if not (i mod 2 = 0) then suma := suma+i; i := i+1;

45 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 45 Writeln('Suma lizb nieparzystyh w przedziale od 1 do 100 wynosi ', suma, '.'); Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.16 Napisz program, który za pomoą instrukji for znajduje największą i najmniejszą lizbę ze zbioru n ałkowityh lizb losowyh (w programie ilos_lizb = 5) z przedziału od 0 do 99 oraz obliza średnią ze zbioru wszystkih wylosowanyh lizb. Przykładowe rozwiązanie listing 3.16 program Projet1; // Zadanie 3.16 {$APPTYPE CONSOLE} uses SysUtils; onst ilos_lizb = 5; i, lizba, suma, min, max : Integer; Writeln('Program losuje ', ilos_lizb, ' lizb alkowityh z przedzialu od 0 do 99,'); Writeln('a nastepnie znajduje najmniejsza i najwieksza'); Writeln('oraz obliza srednia ze wszystkih wylosowanyh lizb.'); suma := 0; Randomize(); min := Random(100); Writeln; Write('Wylosowano lizby: '); Write(min, ', '); max := min; suma := suma+max; for i := 1 to ilos_lizb-1 do lizba := Random(100); if i < ilos_lizb-1 then Write(lizba, ', ')

46 962a78eb15d2230b22be7b0aa45 46 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami else Write(lizba, '.'); if max < lizba then max := lizba; if lizba < min then min := lizba; suma := suma+lizba; Writeln; Writeln('Najwieksza lizba to ', max, '.'); Writeln('Najmniejsza lizba to ', min, '.'); Writeln('Srednia wynosi ', suma/ilos_lizb:4:2, '.'); Readln; // zeka na naisnieie klawisza Enter Najpierw losujemy w programie pierwszą lizbę i przypisujemy jej wartość min. min := Random(100); W kolejnym kroku wartośi max nadajemy wartość min. max := min; Następnie w pętli pomniejszonej o 1 (pierwsza lizba została już wylosowana): for i := 1 to ilos_lizb-1 do lizba := Random(100); if i < ilos_lizb-1 then Write(lizba, ', ') else Write(lizba, '.'); if max < lizba then max := lizba; if lizba < min then min := lizba; suma := suma+lizba; sprawdzamy, zy kolejna wylosowana lizba jest większa od poprzedniej. Jeśli tak, to staje się ona największą lizbą (max); w przeiwnym wypadku przypisujemy jej wartość min. Ilustrują to następująe linijki kodu:

47 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 47 if max < lizba then max := lizba; if lizba < min then min := lizba; Sumę wszystkih lizb wylizają następująe linijki kodu: suma := suma+max (przed pętlą) i suma := suma+lizba (w pętli). Średnia ze wszystkih wylosowanyh lizb jest natomiast oblizana i wyświetlana na ekranie przez następująa linijkę: Writeln('Srednia wynosi ', suma/ilos_lizb:4:2, '.'); Rezultat działania programu dla przykładowyh wylosowanyh lizb można zobazyć na rysunku 3.6. Program losuje 5 lizb alkowityh z przedzialu od 0 do 99, a nastepnie znajduje najmniejsza i najwieksza oraz obliza srednia ze wszystkih wylosowanyh lizb. Wylosowano lizby: 22, 57, 77, 29, 16. Najwieksza lizba to 77. Najmniejsza lizba to 16. Srednia wynosi Rysunek 3.6. Efekt działania programu Zadanie 3.16 Z A D A N I E 3.17 Napisz program, który za pomoą instrukji repeat... until znajduje największą i najmniejszą lizbę ze zbioru n ałkowityh lizb losowyh (w programie ilos_lizb = 5) z przedziału od 0 do 99 oraz obliza średnią ze zbioru wszystkih wylosowanyh lizb. Przykładowe rozwiązanie listing 3.17 program Projet1; // Zadanie 3.17 {$APPTYPE CONSOLE} uses SysUtils; onst ilos_lizb = 5;

48 962a78eb15d2230b22be7b0aa45 48 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami i, lizba, suma, min, max : Integer; Writeln('Program losuje ', ilos_lizb, ' lizb alkowityh z przedzialu od 0 do 99,'); Writeln('a nastepnie znajduje najmniejsza i najwieksza'); Writeln('oraz obliza srednia ze wszystkih wylosowanyh lizb.'); suma := 0; i := 0; Randomize(); min := Random(100); Writeln; Write('Wylosowano lizby: '); Write(min,', '); max := min; suma := suma+max; repeat lizba := Random(100); if i < ilos_lizb-2 then Write(lizba, ', ') else Write(lizba, '.'); if max < lizba then max:= lizba; if lizba < min then min := lizba; suma := suma+lizba; i := i+1; until (i = ilos_lizb-1); Writeln; Writeln('Najwieksza lizba to ', max, '.'); Writeln('Najmniejsza lizba to ', min, '.'); Writeln('Srednia wynosi ', suma/ilos_lizb:4:2, '.'); Readln; // zeka na naisnieie klawisza Enter

49 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 49 Z A D A N I E 3.18 Napisz program, który za pomoą instrukji while... do znajduje największą i najmniejszą lizbę ze zbioru n ałkowityh lizb losowyh (w programie ilos_lizb = 5) z przedziału od 0 do 99 oraz obliza średnią ze zbioru wszystkih wylosowanyh lizb. Przykładowe rozwiązanie listing 3.18 program Projet1; // Zadanie 3.18 {$APPTYPE CONSOLE} uses SysUtils; onst ilos_lizb = 5; i, lizba, suma, min, max : Integer; Writeln('Program losuje ', ilos_lizb, ' lizb alkowityh z przedzialu od 0 do 99,'); Writeln('a nastepnie znajduje najmniejsza i najwieksza'); Writeln('oraz obliza srednia ze wszystkih wylosowanyh lizb.'); suma := 0; i := 1; Randomize(); min := Random(100); Writeln; Write('Wylosowano lizby: '); Write(min, ', '); max := min; suma := suma+max; while (i <= ilos_lizb-1) do lizba:= Random(100); if i < ilos_lizb-1 then Write(lizba, ', ') else Write(lizba, '.'); if max < lizba then max := lizba; if lizba < min then

50 962a78eb15d2230b22be7b0aa45 50 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami min := lizba; suma := suma+lizba; i := i+1; Writeln; Writeln('Najwieksza lizba to ', max, '.'); Writeln('Najmniejsza lizba to ', min, '.'); Writeln('Srednia wynosi ', suma/ilos_lizb:4:2, '.'); Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.19 Napisz program wyświetlająy tablizkę mnożenia dla lizb od 1 do 100 z wykorzystaniem podwójnej pętli for. Przykładowe rozwiązanie listing 3.19 program Projet1; // Zadanie 3.19 {$APPTYPE CONSOLE} uses SysUtils; onst n = 10; wiersze, kolumny : Integer; Writeln('Program wyswietla tablizke mnozenia dla lizb od 1 do 100.'); Writeln; for wiersze := 1 to n do for kolumny := 1 to n do Write(wiersze*kolumny, #9); Writeln; Readln; // zeka na naisnieie klawisza Enter

51 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 51 Rezultat działania programu można zobazyć na rysunku 3.7. Program wyswietla tablizke mnozenia dla lizb od 1 do Rysunek 3.7. Efekt działania programu Zadanie 3.19 Z A D A N I E 3.20 Napisz program wyświetlająy tablizkę mnożenia dla lizb od 1 do 100 z wykorzystaniem podwójnej pętli repeat... until. Przykładowe rozwiązanie listing 3.20 program Projet1; // Zadanie 3.20 {$APPTYPE CONSOLE} uses SysUtils; onst n = 10;

52 962a78eb15d2230b22be7b0aa45 52 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami wiersze, kolumny : Integer; Writeln('Program wyswietla tablizke mnozenia dla lizb od 1 do 100.'); Writeln; wiersze := 1; repeat kolumny := 1; repeat Write(wiersze*kolumny, #9); kolumny := kolumny+1; until (kolumny > n); Writeln; wiersze := wiersze+1; until (wiersze > n); Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.21 Napisz program wyświetlająy tablizkę mnożenia dla lizb od 1 do 100 z wykorzystaniem podwójnej pętli while... do. Przykładowe rozwiązanie listing 3.21 program Projet1; // Zadanie 3.21 {$APPTYPE CONSOLE} uses SysUtils; onst n = 10; wiersze, kolumny : Integer; Writeln('Program wyswietla tablizke mnozenia dla lizb od 1 do 100.'); Writeln; wiersze := 1; while (wiersze <= n) do kolumny := 1;

53 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 53 while (kolumny <= n) do Write(wiersze*kolumny, #9); kolumny := kolumny+1; Writeln; wiersze := wiersze+1; Readln; // zeka na naisnieie klawisza Enter Z A D A N I E 3.22 Napisz program, który wyświetla duże litery alfabetu od A do Z i od Z do A z wykorzystaniem pętli for. Przykładowe rozwiązanie listing 3.22 program Projet1; // Zadanie 3.22 {$APPTYPE CONSOLE} uses SysUtils; znak : har; Writeln('Program wyswietla duze litery alfabetu od A do Z i od Z do A.'); Writeln; for znak := 'A' to 'Z' do if znak < 'Z' then Write(znak, ', ') else Write(znak, '.'); Writeln; for znak := 'Z' downto 'A' do if znak >= 'B' then Write(znak, ', ') else Write(znak, '.'); Readln; // zeka na naisnieie klawisza Enter

54 962a78eb15d2230b22be7b0aa45 54 Turbo Pasal. Zadania z programowania z przykł adowymi rozwiązaniami Rezultat działania programu można zobazyć na rysunku 3.8. Program wyswietla duze litery alfabetu od A do Z i od Z do A. A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z. Z, Y, X, W, V, U, T, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A. Rysunek 3.8. Efekt działania programu Zadanie 3.22 Z A D A N I E 3.23 Napisz program, który wyświetla duże litery alfabetu od A do Z i od Z do A z wykorzystaniem pętli repeat... until. Przykładowe rozwiązanie listing 3.23 program Projet1; // Zadanie 3.23 {$APPTYPE CONSOLE} uses SysUtils; znak : har; Writeln('Program wyswietla duze litery alfabetu od A do Z i od Z do A.'); Writeln; znak := 'A'; Write(znak, ', '); repeat znak := su(znak); if znak < 'Z' then Write(znak, ', ') else Write(znak, '.'); until znak = 'Z'; Writeln; znak := 'Z'; Write(znak, ', ');

helion kopia dla: Iwona Kruszynska

helion kopia dla: Iwona Kruszynska 962a78eb15d2230b22be7b0aa45 Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszehnianie ałośi lub fragmentu niniejszej publikaji w jakiejkolwiek postai jest zabronione. Wykonywanie kopii metodą kserografizną,

Bardziej szczegółowo

Turbo Pascal. Zadania z programowania z przykładowymi rozwiązaniami

Turbo Pascal. Zadania z programowania z przykładowymi rozwiązaniami Idź do Spis treści Przykładowy rozdział Katalog książek Katalog online Zamów drukowany katalog Twój koszyk Dodaj do koszyka Cennik i informacje Zamów informacje o nowościach Zamów cennik Czytelnia Fragmenty

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

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

FUNKCJA KWADRATOWA. Poziom podstawowy

FUNKCJA KWADRATOWA. Poziom podstawowy FUNKCJA KWADRATOWA Poziom podstawowy Zadanie ( pkt) Wykres funkji y = ax + bx+ przehodzi przez punkty: A = (, ), B= (, ), C = (,) a) Wyznaz współzynniki a, b, (6 pkt) b) Zapisz wzór funkji w postai kanoniznej

Bardziej szczegółowo

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,

Bardziej szczegółowo

z programowania z przykładowymi rozwiązaniami

z programowania z przykładowymi rozwiązaniami Idź do Spis treści Przykładowy rozdział Katalog książek Katalog online Zamów drukowany katalog Twój koszyk Dodaj do koszyka Cennik i informacje Zamów informacje o nowościach Zamów cennik Czytelnia Fragmenty

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

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

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

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

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 w języku Visual Basic dla Aplikacji (VBA)

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

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Podstawy programowania

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

Bardziej szczegółowo

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

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 do programowania w języku Visual Basic. Podstawowe instrukcje języka

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

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 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ół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

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,

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

Warsztaty dla nauczycieli

Warsztaty dla nauczycieli WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne

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

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Zadania pętla while i do...while: 1. Napisz program, który wczytuje od użytkownika liczbę całkowitą, dopóki podana liczba jest mniejsza

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

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

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

LXIV Olimpiada Matematyczna

LXIV Olimpiada Matematyczna LXIV Olimpiada Matematyzna Rozwiązania zadań konkursowyh zawodów stopnia drugiego 22 lutego 203 r. (pierwszy dzień zawodów) Zadanie. Dane są lizby ałkowite b i oraz trójmian f(x) = x 2 +bx+. Udowodnić,

Bardziej szczegółowo

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5. Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach

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

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni, Baltie Zadanie 1. Budowanie W trybie Budowanie wybuduj domek jak na rysunku. Przedmioty do wybudowania domku weź z banku 0. Zadanie 2. Czarowanie sterowanie i powtarzanie W trybie Czarowanie z pomocą czarodzieja

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,

Bardziej szczegółowo

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania

Bardziej szczegółowo

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

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

Bardziej szczegółowo

PROGRAMOWANIE W C++ ZADANIA

PROGRAMOWANIE W C++ ZADANIA PROGRAMOWANIE W C++ ZADANIA Włodzimierz Gajda Rozdział 7 PĘTLE 7.1 PĘTLA FOR: rysowanie wzorków. ZADANIE 7.1.1 Napisz program drukujący na ekranie 19 gwiazdek: ******************* ZADANIE 7.1.2 Napisz

Bardziej szczegółowo

KURS PASCAL A. 1.Wprowadzenie

KURS PASCAL A. 1.Wprowadzenie KURS PASCAL A 1.Wprowadzenie Pascal jest językiem wyŝszego poziomu, posiada gotowe biblioteki i moduły, co ułatwia programowanie. Z drugiej strony jest on bardziej wymagający pod względem estetyki programowania

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

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

3. Instrukcje warunkowe

3. Instrukcje warunkowe . Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include

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

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

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

Bardziej szczegółowo

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi. nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi. nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe Autorstwo: Paulina Mechło (rozdziały 1-4), Jolanta Grzelka (rozdziały 1-4). Wszelkie Autorstwo: prawa Paulina zastrzeżone. Mechło (rozdziały Nieautoryzowane 1-4), Jolanta rozpowszechnianie Grzelka (rozdziały

Bardziej szczegółowo

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012 Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012 if (warunek) instrukcja1; if (warunek) instrukcja1; else instrukcja2; if (warunek) instrukcja1; else if (warunek2)

Bardziej szczegółowo

MATEMATYKA WYDZIAŁ MATEMATYKI - TEST 1

MATEMATYKA WYDZIAŁ MATEMATYKI - TEST 1 Wszelkie prawa zastrzeżone. Rozpowszechnianie, wypożyczanie i powielanie niniejszych testów w jakiejkolwiek formie surowo zabronione. W przypadku złamania zakazu mają zastosowanie przepisy dotyczące naruszenia

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

Laboratorium nr 1. i 2.

Laboratorium nr 1. i 2. Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych

Bardziej szczegółowo

Konstrukcje warunkowe Pętle

Konstrukcje warunkowe Pętle * Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity

Bardziej szczegółowo

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający

Bardziej szczegółowo

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

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

Bardziej szczegółowo

WHILE (wyrażenie) instrukcja;

WHILE (wyrażenie) instrukcja; INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while

Bardziej szczegółowo

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

Bardziej szczegółowo

Warunki logiczne instrukcja if

Warunki logiczne instrukcja if Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y

Bardziej szczegółowo

JAVAScript w dokumentach HTML (2)

JAVAScript w dokumentach HTML (2) Informatyka ćw.6 JAVAScript w dokumentach HTML (2) Interakcyjne wprowadzanie danych Jednym ze sposobów jest stosowanie metody prompt dla wbudowanego obiektu window: zmienna= prompt("tekst zachęty, np.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

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

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML - przypomnienie Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w

Bardziej szczegółowo

Przykładowerozwiązania.

Przykładowerozwiązania. Przykładowerozwiązania. 1. Napisz program, w którym przy użyciu instrukcji case będzie możliwy następujący wybór: 1-wypelnia tablice jednowymiarową liczbami pseudolosowymi z zakresu od 0 do 100 2- wypisuje

Bardziej szczegółowo

Program nauczania przeznaczony dla IV etapu edukacyjnego.

Program nauczania przeznaczony dla IV etapu edukacyjnego. Program nauczania przeznaczony dla IV etapu edukacyjnego. Program nauczania dostosowany do nowej podstawy programowej zgodnie z rozporządzeniem Ministra Edukacji Narodowej z dnia 23 grudnia 2008 r. w sprawie

Bardziej szczegółowo

Proste programy w C++ zadania

Proste programy w C++ zadania Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna

Bardziej szczegółowo

Instrukcja warunkowa i złoŝona.

Instrukcja warunkowa i złoŝona. Instrukcja warunkowa i złoŝona. Budowa pętli warunkowej. JeŜeli mielibyśmy przetłumaczyć instrukcję warunkową to brzmiałoby to mniej więcej tak: jeŝeli warunek jest spełniony, to wykonaj jakąś operację

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 11 1 / 52 Pętla for # i n c l u d e

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

Bardziej szczegółowo

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka Kod przedmiotu: ESC00 009 (studia stacjonarne)

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy

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

WHILE (wyrażenie) instrukcja;

WHILE (wyrażenie) instrukcja; INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while

Bardziej szczegółowo

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR

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

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki dr hab. Bożena Woźna-Szcześniak, prof. AJD bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 8 1 / 32 Instrukcje iteracyjne

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for

Bardziej szczegółowo

Programowanie, algorytmy i struktury danych

Programowanie, algorytmy i struktury danych 1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania

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

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

Podstawy Programowania

Podstawy 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ółowo

Bukiety matematyczne dla gimnazjum

Bukiety matematyczne dla gimnazjum Bukiety matematyczne dla gimnazjum http://www.mat.uni.torun.pl/~kolka/ 1 X 2002 Bukiet I Dany jest prostokąt o bokach wymiernych a, b, którego obwód O i pole P są całkowite. 1. Sprawdź, że zachodzi równość

Bardziej szczegółowo

1 Wielokrotne powtarzanie tych samych operacji

1 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ółowo

Instrukcja warunkowa i wyboru

Instrukcja warunkowa i wyboru Instrukcja warunkowa i wyboru projektowanie algorytmów instrukcje sterujące języka Pascal instrukcja warunkowa operatory relacyjne i logiczne instrukcja wyboru echniki programowania I s.3-1 Projektowanie

Bardziej szczegółowo

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

Bardziej szczegółowo

Algorytm. a programowanie -

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

Bardziej szczegółowo

PHP w-3. Sterowanie w PHP

PHP w-3. Sterowanie w PHP PHP w-3 Sterowanie w PHP 1 INSTRUKCE STERUJĄCE W PHP podobnie jak w innych językach programowania wykorzystuje się instrukcje sterujące: 1. Instrukcja warunkowa If-else 2. Instrukcja wyboru Switch 3. Pętla

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Iteracja warunkowadopóki(while) Blok instrukcji. Pascal: begin instrukcja1; C: { end;

Podstawy Informatyki. Inżynieria Ciepła, I rok. Iteracja warunkowadopóki(while) Blok instrukcji. Pascal: begin instrukcja1; C: { end; Podstawy Informatyki Inżyria Ciepła, I rok Wykład 8 Algorytmy, cd Instrukcja decyzyjna wybierz Zda wybierz służy do wyboru jednej z kilku możliwości Ma ono postać: wybierz przełącznik z wartość_1: zda_1

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

Zakres wykładu INFORMATYKA. dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel

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

Bardziej szczegółowo

Struktura pliku projektu Console Application

Struktura pliku projektu Console Application Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku

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