Darmowe Forum
Maj 04, 2024, 19:42:58 *
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Forum zostało uruchomione!
 
   Strona główna   Pomoc Zaloguj się Rejestracja  
Strony: [1]
  Drukuj  
Autor Wątek: Pętla Repeat ...until  (Przeczytany 5785 razy)
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« : 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Administrator
Ekspert
*****
Wiadomości: 821


Email
« 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
Strony: [1]
  Drukuj  
 
Skocz do:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap

Polityka cookies
Darmowe Fora | Darmowe Forum

watahacemnejstrony watahaloup justplay planetside2grompl forumszkoly