[ Pobierz całość w formacie PDF ]
Przykłady pętli "repeat" i "while"
oprac. Robert Tomaszewski
while (x>0) and (y=1) do begin {dopóki warunki x<>0 ORAZ y=1 są
prawdziwe wykonuj}
x:=x-1;
... {dowolne inne instrukcje programu}
if (x mod 2 = 0) then y:=1; {jeżeli x jest parzyste to przypisz
y:=1, a tym samym zakończ pętlę while}
end;
repeat
x:=x-1;
... {dowolne inne instrukcje programu}
if (x mod 2 = 0) then y:=1; {jeżeli x jest parzyste to przypisz
y:=1, a tym samym zakończ pętlę repeat}
until (x>0) or (y=1); {jeżeli warunki x<>0 LUB y=1 są prawdziwe
opuść pętlę}
>>>> Zadanie 1
Napisz program pozwalający użytkownikowi wprowadzić 'n' liczb do
tablicy ('n' podaje użytkownik) a następnie wyznaczający element
maksymalny, minimalny oraz najbliższy średniej arytmetycznej
wszystkich elementów tablicy.
Rozbuduj program - oprócz wartości maksymalnej, minimalnej i
najbliższej średniej podaj również ich indeksy (czyli pozycje w
tablicy). Wskazówka - będą potrzebne dodatkowe zmienne w rodzaju
'max','min','sr' i 'blisko_sr'.
Podobne zmienne będą potrzebne na wartości indeksów odnalezionych
elementów tablicy. Znalezienie 'max' to przejrzenie całej tablicy
w pętli FOR i porównywanie elementów z bieżącą wartością 'max' (na
początku 'max' musi być ustawione na wartość np. pierwszego
elementu w tablicy). Jeśli bieżący element tablicy jest większy od
'max' to znaleźliśmy nową wartość 'max' i przeglądamy tablicę w
ten sposób do końca. Analogicznie szukamy 'min' i wartości
najbliższej średniej.
blisko_sr:=abs(sr-x[i]); {x - nasza tablica, abs - wartość
absolutna}
>>>> Zadanie 2
Napisz program obliczający średnią arytmetyczną z podanych przez
użytkownika liczb (dodatnie, ujemne, całkowite, rzeczywiste –
według własnego uznania). Użytkownik nie podaje ile liczb
wprowadzi do tablicy, podanie przez niego liczby 0 kończy to
wprowadzanie. Wskazówka - posłuż się pętlą 'while' lub 'repeat'.
Zauważ, że teraz zmienne nie mogą się znaleźć w tablicy, bo nie
wiemy ile liczb poda użytkownik. Trzeba więc dosumowywać liczby na
bieżąco oraz je zliczać (potrzebne zmienne to "suma" oraz
"licznik").
>>>> Zadanie 3
Napisz program odwracający porządek elementów w tablicy i
wyświetlający tablicę przed i po operacji odwracania. Użytkownik
określa, ile elementów wprowadzi do tablicy. Zwróć uwagę, że
odwrócenie porządku elementów to NIE TO SAMO co wyświetlenie
tablicy od końca!
Przykład wydruku z programu:
Tablica WE:
1 2 3 4 5
Tablica WY:
5 4 3 2 1
Wykonaj powyższe zadanie z wykorzystaniem tablicy znaków (zmienna
typu String[n]). Pamiętaj, że pod indeksem "0" kryje się
informacja o rozmiarze łańcucha a nie żaden ze znaków! Przykład
użycia poniżej:
var
tekst: String[20];
dl: Byte;
begin
tekst:='przyklad';
dl:=Byte(tekst[0]);{bieżąca długość tekstu, czyli 8}
dl:=Length(tekst);{to samo co linijka wyżej}
>>>> Zadanie 4
Napisz program pozwalający użytkownikowi wprowadzić 'n' liczb do
pierwszej tablicy ('n' podaje użytkownik), a następnie
przepisujący do drugiej tablicy jedynie elementy spod parzystych
indeksów tablicy pierwszej (np. a[0], a[2], a[4], itd.).
Wyświetl obie tablice. Wskazówka - będą potrzebne dwie zmienne
tablicowe. Zauważ, że druga tablica może być o połowę mniejsza niż
pierwsza. Do wyznaczenia parzystości/nieparzystości indeksu można
użyć operatora reszty z dzielenia "mod", np. parzystość sprawdza
następująca konstrukcja: if (i mod 2 = 0) then ...
>>>> Zadanie 5
Napisz program pozwalający użytkownikowi wprowadzić 'n' imion do
pierwszej tablicy ('n' podaje użytkownik), a następnie
przepisujący do drugiej tablicy wszystkie imiona kończące się
literą 'a'. Wyświetl obie tablice. Wskazówka - tablica imion musi
być typu 'array[x..y] of String[z]' (x,y,z – liczby całkowite).
Pamiętaj, że zmienna typu String to też tablica - można ją
indeksować i w ten sposób dostawać się do poszczególnych znaków
(liter). Aktualną długość zmiennej typu String zwraca funkcja
'Length(...)' - wykorzystaj tą informację do uzyskania ostatniego
znaku w Stringu (wyznaczenia indeksu ostatniego znaku).
>>>> Zadanie domowe
Zapoznaj się z deklarowaniem i zasadami używania (indeksowania)
tablic dwuwymiarowych. Zapoznaj się/powtórz podstawowe zasady
deklarowania, definiowania i używania procedur i funkcji.
[ Pobierz całość w formacie PDF ]
© 2009 Po zniszczeniu przeszłości przyszedł czas na budowanie przyszłości. - Ceske - Sjezdovky .cz. Design downloaded from free website templates