helion kopia dla: Iwona Kruszynska
|
|
- Włodzimierz Orłowski
- 6 lat temu
- Przeglądów:
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
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ółowoTurbo 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ół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ółowoWprowadzenie 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ółowoFUNKCJA 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ółowoWszystkie 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ółowoz 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ół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ół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ół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ół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ół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ół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ółowoPodstawy 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ółowoPo 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ół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ół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ół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ółowoPodstawy 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ółowoWprowadzenie 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ół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 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ółowoWszystkie 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ółowoCw.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ółowoWarsztaty 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ółowoPASCAL. 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ółowoPzetestuj 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ół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ół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ółowodo 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ółowoLXIV 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ółowoOperacje 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ół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ółowoprzedmiot 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ółowoProcedury 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ółowoWszystkie 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ółowoInformacja 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ół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ółowoPROGRAMOWANIE 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ółowoKURS 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ół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ółowoMetody 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ółowo3. 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ół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ółowoLiczby 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ółowoWszystkie 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ółowoALGORYTMY 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ółowo3. 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ółowoInstrukcje 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ółowoMATEMATYKA 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ół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ółowoLaboratorium 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ółowoKonstrukcje 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ółowoInstrukcje 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ółowoPę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ółowoPython 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ółowoWykł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ółowoWHILE (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ółowoNaukę 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ółowoWarunki 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ółowoJAVAScript 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ółowoWykł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ółowo4. 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ółowoLibreOffice 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ółowoJAVAScript 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ółowoPrzykł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ółowoProgram 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ółowoProste 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ółowoInstrukcja 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ółowoPodstawy 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ół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ółowoWstę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ółowoJAVAScript 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ółowoSpis 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ółowoPowtó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ół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ółowoWHILE (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ółowoWszystkie 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ółowoMETODY 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ółowoTEMAT: 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ółowo1. 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ółowoWstę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ółowoNazwa 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ółowoProgramowanie, 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ół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ółowoWiadomoś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ół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ółowoBukiety 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ół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ółowoInstrukcja 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ółowoIteracje. 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ółowoLuty 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ółowoAlgorytm. 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ółowoPHP 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ółowoPodstawy 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ółowoWidoczność 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ółowoZakres 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ółowoStruktura 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ółowoC++ 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