Tytuł: Pętla Repeat ...until Wiadomość wysłana przez: admin Listopad 15, 2010, 07:46:44 Podstawową cechą pętli repeat ..until jest to, że przynajmniej raz musi zostać wykonania. W porównaniu z pętlą for... należy zadeklarować warunek wyjścia z pętli.
Przykład deklaracji pętli repeat ... until..... Wyrażenie stojące za słowem until decyduje o wyjściu z pętli. Jeżeli wyrażenie to jest spełnione program opuszcza pętlę. program rurka; uses crt,dos; var x,y,a,c:integer; begin x:=0; clrscr; repeat x:=x+1; writeln(x); until x>=10; readkey; end. Program powinien wyświetlić liczby od 1 do 10; Tytuł: Odp: Pętla Repeat ...until Wiadomość wysłana przez: admin Listopad 15, 2010, 12:35:32 Zadanie 1. Napisz program który prosi o podanie nr PIN jeżeli trzykrotnie podany numer jest niepoprawny, program zawiesi się.
program rurka; uses crt,dos; var x,y,a,c,d:integer; begin x:=0; y:=1234; clrscr; repeat clrscr; gotoxy(30,10);write('Podaj PIN: ');readln(a); x:=x+1; if x=3 then repeat c:=random(50);d:=random(20);clrscr;gotoxy(c,d);write('ERROR');delay(20); until keypressed; until a=y; readkey; end. Tytuł: Odp: Pętla Repeat ...until Wiadomość wysłana przez: admin Listopad 15, 2010, 14:38:47 Zadanie 1 a.Podobne jak wyżej ale po błędnym podaniu hasła wyświetla na całym ekranie napis ERROR
program a1; uses crt,dos; var x,y,z:integer; begin x:=0; clrscr; repeat if x=3 then repeat z:=random(15); textcolor(z);write('ERROR!!!');delay(5); until keypressed; clrscr; gotoxy(30,10);write('Podaj haslo:');readln(y); x:=x+1; until y=1234; end. Tytuł: Odp: Pętla Repeat ...until Wiadomość wysłana przez: admin Listopad 15, 2010, 14:55:01 Zadanie 3. Bałaganiarska odbijanka z imion.
program a1; uses crt,dos; var x,y,z,s,x1:integer; begin x:=30;y:=10;z:=1; clrscr; s:=1; x1:=55; repeat x:=x+z; x1:=x1+s; if(x>70) or (x<2) then z:=-z; if(x1>70) or (x1<2) then s:=-s; gotoxy(x,y);write('Adam'); gotoxy(70-x,y+2);write('Ewa'); gotoxy(x1,y+1);write('Marta'); gotoxy(70-x1,y+3);write('Kaska'); delay(30);clrscr; until keypressed; end. Tytuł: Odp: Pętla Repeat ...until Wiadomość wysłana przez: admin Listopad 22, 2010, 08:36:43 Zadanie 4. Napisać program który prosi o podanie hasła. Po trzykrotnym błędnym wprowadzeniu hasła, ekran zaczyna migotać zmieniając kolor do chwili wciśnięcia dowolnego klawisza.
program a1; uses crt,dos; var x:string; y:byte; begin y:=0; repeat if y=3 then begin y:=0; repeat textbackground(y);y:=y+1;clrscr; until keypressed; textbackground(green); y:=0; end; clrscr; gotoxy(10,10);write('Podaj haslo: ');readln(x); y:=y+1; until x='adam'; end. Tytuł: Odp: Pętla Repeat ...until Wiadomość wysłana przez: admin Listopad 22, 2010, 08:58:34 Losowanie. W języku T.P. istnieje możliwość wylosowania liczby. Taka procedura wymaga wywołania instrukcji losowania liczby pseudolosowej. Polecenie x:= random(5); oznacza,że do zmiennej x zostanie przypisana wylosowana wartość z przedziału 0..5. Aby możliwe było przeprowadzenie losowania wcześniej należy zainicjować funkcję losową poleceniem randomize;
Przykład program zzz; uses crt,dos; var x:integer; begin randomize; x:=random(5); write(x); readkey; end. Tytuł: Odp: Pętla Repeat ...until Wiadomość wysłana przez: admin Listopad 22, 2010, 09:00:16 Zadanie 5. Proszę napisać program który losuje liczbę z przedziału 1..10. Następnie prosi o jej odgadnięcie. Użytkownik ma możliwość wykonania trzech prób odgadnięcia wylosowanej liczby.
program a1; uses crt,dos; var x,y,z:byte; begin clrscr; randomize; x:=1+random(9); y:=0; repeat if y=3 then repeat z:=random(60);y:=random(20); gotoxy(z,y);write('WYLOSOWANO LICZBE: ',x); delay(10);clrscr;until keypressed; gotoxy(20,10);write('Podaj jaka liczbe wylosowano: '); gotoxy(50,10); write(' ');gotoxy(50,10); readln(z); y:=y+1; until z=x; end. Tytuł: Odp: Pętla Repeat ...until Wiadomość wysłana przez: admin Listopad 22, 2010, 09:56:02 Zadanie 6. Proszę napisać program, który na ekranie wyświetli 100 gwiazdek w losowo wybranym miejscu i kolorze.
program rebacz; uses crt,dos; var x,y,z,a: integer; begin z:=0; clrscr; randomize; repeat x:=1+random(75);y:=1+random(25); a:=1+random(14); gotoxy(x,y); textcolor(a);write('*');z:=z+1; delay(10); until z>1000; readkey; end. Tytuł: Odp: Pętla Repeat ...until Wiadomość wysłana przez: admin Listopad 22, 2010, 10:27:37 Zadanie 6a
program rebacz; uses crt,dos; var x,y,z,a: integer; begin z:=0; textbackground(black); clrscr; randomize; repeat x:=1+random(75);y:=1+random(25); a:=1+random(14); if(x>3*y) then begin gotoxy(x,y); textcolor(a);write('*');z:=z+1; delay(10); end; until z>1000; readkey; end. |