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;
|
|
« Ostatnia zmiana: Listopad 15, 2010, 11:00:50 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #1 : 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.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #2 : 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.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #3 : 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.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #4 : 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.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #5 : 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.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #6 : 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.
|
|
« Ostatnia zmiana: Listopad 22, 2010, 09:10:48 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #7 : 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.
|
|
« Ostatnia zmiana: Listopad 22, 2010, 10:08:08 wysłane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #8 : 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.
|
|
|
Zapisane
|
|
|
|
|