Darmowe Forum
Maj 03, 2024, 01:29:35 *
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: Instrukcja warunkowa IF -Pascal  (Przeczytany 18626 razy)
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« : Październik 18, 2010, 12:12:45 »

Struktura instrukcji:if (warunek) then polecenie else polecenie;
Przykład:
if (x>10) then write('Liczba jest większa od 10') else write('to jednak inna liczba');
« Ostatnia zmiana: Październik 22, 2010, 07:07:57 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #1 : Październik 18, 2010, 12:20:46 »

Listing programu nr 2

program qwerty;
uses crt,dos;
var i,n:string;
x,y,z:integer;
begin
clrscr;
write('Podaj imie: ');readln(i);
write('Podaj swoje nazwisko: ');readln(n);
write('Podaj swoj wiek: ');readln(x);
if(x<18) then
writeln(i,' ',n,'Jestes niepelnoletni do pelnoletnosci masz ',18-x,' lat')
else
if(x>=65) then writeln(i,' ',n,'Jestes emerytem od ',x-65, ' lat')
else
writeln(i,' ', n, ' jestes pelnoletni od ',x-18,' lat');

if(x>=80) then writeln ('Przekroczyles srednia krajowa wieku o ',x-80,' lat');

   readkey;
end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #2 : Październik 24, 2010, 16:01:49 »

Zadanie 2:Proszę napisać program który prosi o podanie dwóch liczb. Jeżeli druga podana liczba jest =0 wtedy wyświetla komunikat "nie dzielę przez 0" w pozostałych wypadkach wykonuje dzielenie i wynik wyświetla na ekranie.
Program zadanie_2;
uses crt, dos;
var x,y:real;
begin
clrscr;
write('Podaj pierwsza liczbe: ');readln(x);
write('Podaj druga  liczbe: ');readln(y);
if (y=0) then writeln('Nie dziele przez 0!!!!!') else
writeln( x:0:2,' / ',y:0:2,' = ',x/y:0:2);
readkey;
end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #3 : Październik 24, 2010, 16:08:05 »

Zadanie 3. Podobnie jak w przypadku zadania 2 program prosi o podanie dwóch liczb. Jeżeli druga podana liczba jest = 0 wtedy zamienia je miejscami i wykonuje dzielenie. Np. podano liczby 3 i 2, wtedy program wykona działanie 3/2. Jeżeli podane zostaną liczby 3 i 0, wtedy program zamieni ich kolejność i wykona działanie 0/3.

Program zadanie_2;
uses crt, dos;
var x,y:real;
begin
clrscr;
write('Podaj pierwsza liczbe: ');readln(x);
write('Podaj druga  liczbe: ');readln(y);
if (y=0) then writeln( y:0:2,' / ',x:0:2,' = ',y/x:0:2)  else
writeln( x:0:2,' / ',y:0:2,' = ',x/y:0:2);
readkey;
end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #4 : Październik 24, 2010, 16:14:12 »

Zadanie 4. Program prosi o podanie trzech liczb. Oblicza ich sumę i jeżeli suma jest większa od 24 wtedy wyświetla napis: "Suma większa od 24", jeżeli suma jest mniejsza od 24 wtedy wyświetla komunikat:"suma jest mniejsza od 24 i =", tutaj wyświetlany jest wynik dodawania.

Program zadanie_4;
uses crt, dos;
var x,y,z,a:real;
begin
clrscr;
write('Podaj pierwsza liczbe: ');readln(x);
write('Podaj druga  liczbe: ');readln(y);
write('Podaj druga  liczbe: ');readln(z);
a:=x+y+z;
if (a>24) then writeln( y:0:2,' + ',x:0:2,' + ',z:0:2,' = ',a:0:2)  else
writeln( 'suma liczb jest mniejsza od 24 i = ',a:0:2);
readkey;
end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #5 : Październik 24, 2010, 16:41:22 »

Zadanie 5. Proszę napisać program który prosi o podanie dwóch liczb. Następnie wyświetla je w porządku rosnącym. Np. podano liczby w kolejności 4 2. Po działaniu programu wyświetlane są w odwrotnej kolejności, czyli: 2 4.

Program zadanie_5;
uses crt, dos;
var x,y,z,a:real;
begin
clrscr;
write('Podaj pierwsza liczbe: ');readln(x);
write('Podaj druga  liczbe: ');readln(y);

if (x>y) then writeln( y:0:2,'  ',x:0:2)  else
writeln(x:0:2, '  ',y:0:2);
readkey;
end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #6 : Październik 24, 2010, 17:13:01 »

Zadanie 6. Proszę napisać program który zada 2 pytania:"Kto odkrył Amerykę?", " w którym roku była bitwa pod Grunwaldem?" w przypadku udzielenia poprawnej odpowiedzi na pytanie wyświetlany jest komunikat: "brawo, poprawnie", w przypadku niepoprawnej odpowiedzi pojawi się komunikat:"zla odpowiedz". Przypominam dla europy Amerykę odkrył Kolumb, a bitwa pod Grunwaldem miała miejsce w 1410 roku.
Program zadanie_6;
uses crt, dos;
var x,y:integer;
a,b,c:string;
begin
clrscr;   y:=1410; a:='kolumb';b:='Kolumb';
write('Podaj rok w ktorym odbyla sie bitwa pod Grunwaldem?: ');readln(x);
if (x=y) then writeln('Masz racje, poprawna odpowiedz') else
writeln('Niestety podales nieporawny rok');
writeln('Podaj nazwisko odkrywcy Ameryki: ');readln(c);
if (c=a)then write('Podales poprawna odpowiedz!!!') else
if (c=b)then write('Podales poprawna odpowiedz!!!') else
writeln('Podales niepoprawna odpowiedz');
readkey;
end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #7 : Październik 24, 2010, 17:18:15 »

Zadanie 7. Zmodyfikuj zadanie 6 w ten sposób aby na końcu  pojawiała się informacja o liczbie poprawnych odpowiedzi.

Program zadanie_7;
uses crt, dos;
var x,y,licznik:integer;
a,b,c:string;
begin
clrscr;   y:=1410; a:='kolumb';b:='Kolumb'; licznik:=0;
write('Podaj rok w ktorym odbyla sie bitwa pod Grunwaldem?: ');readln(x);
if (x=y) then
begin writeln('Masz racje, poprawna odpowiedz');licznik:=licznik+1;end
else
writeln('Niestety podales nieporawny rok');
write('Podaj nazwisko odkrywcy Ameryki: ');readln(c);
if (c=a)then
begin write('Podales poprawna odpowiedz!!!'); licznik:=licznik+1;end else
if (c=b)then
begin writeln('Podales poprawna odpowiedz!!!'); licznik:=licznik+1; end else
writeln('Podales niepoprawna odpowiedz');
writeln('calkowita liczba poprawnych odpowiedzi= ',licznik);
readkey;
end.

UWAGA: W programie zastosowano zmienną o nazwie licznik, zmienna zlicza poprawne odpowiedzi.
Po poleceniu if... znajduje się omawiana na ćwiczeniach instrukcja grupująca: begin ....end;
Wszystkie polecenia które znajdą się pomiędzy słowami begin ...end; będą odczytywane przez kompilator jako jedno polecenie!!!
Dlaczego zachodzi taka potrzeba? Niestety kompilator Pascal pozwala na umieszczenie tylko jednego polecenia w instrukcji warunkowej. Wstawiając instrukcję grupującą kompilator przyjmie ją jako jedno polecenie.
« Ostatnia zmiana: Październik 24, 2010, 17:27:10 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #8 : Październik 25, 2010, 04:15:30 »

Zadanie 9
Napisz program proszący o podanie trzech liczb całkowitych. Po podaniu trzech liczb całkowitych zostaną one wyświetlone w porządku rosnącym. Czyli jeżeli podamy liczby w kolejności: 3, 1, 2 to zostaną na ekranie wyświetlone w porządku: 1,2,3.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #9 : Październik 25, 2010, 04:21:03 »

Zadanie 10.
Napisz program proszący o podanie dwóch liczb i znaku operacji arytmetycznej (+,-,*,/). Program wykona takie działanie jakie wybrano wyświetlając jego wynik w postaci np. 5+3=8.
Jeżeli druga wprowadzona liczba jest = 0 , program nie wykona dzielenia. Jeżeli podany zostanie znak inny niż; +,-,/,* program wyświetla komunikat "podano zły znak".
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #10 : Listopad 08, 2010, 10:39:35 »

program spr_8_11;
uses crt,dos;
var i:integer;
imie,nazw:string;
begin
clrscr;
write('Podaj swoje imie: ');readln(imie);
write('Podaj swoje nazwisko: '); readln(nazw);
write('Podaj swoj wiek: ');readln(i);
if (i<3) then
begin  writeln(imie,' ',nazw);writeln('Niemowlak!!!!!!'); end else
if (i<7) then
begin  writeln(imie,' ',nazw);writeln('Przedszkolak!!!!!!'); end
else
if(i<12) then begin  writeln(imie,' ',nazw);writeln('PODSTAWOWKA!!!!!!'); end
else
if(i<16) then
begin  writeln(imie,' ',nazw);writeln('PODSTAWOWKA!!!!!!'); end
 else
if(i<18) then
begin  writeln(imie,' ',nazw);writeln('LICEUM!!!!!!'); end
 else
begin writeln('Do roboty'); writeln(' do emerytury zostao',65-i,' lat');end;
readkey;


end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #11 : Listopad 08, 2010, 10:48:32 »

Zadanie 8.
Napisz program proszący o podanie imienia i nazwiska, po wczytaniu imienia i nazwiska umieszcza podane imię i nazwisko w czterech rogach ekranu. Wykorzystać do realizacji tego celu polecenie gotoxy(x,y). Polecenie to zostało podane w materiałach które Państwo otrzymaliście.

PROGRAM ZAD8;
uses crt,dos;
var imie,nazw:string;
begin
clrscr;
gotoxy(10,10);write('Podaj imie: ');readln(imie);
gotoxy(10,11);write('Podaj nazwisko: ');readln(nazw);

gotoxy(1,1);write(imie,' ',nazw);
gotoxy(60,1);write(imie,' ',nazw);
gotoxy(60,21);write(imie,' ',nazw);
gotoxy(1,21);write(imie,' ',nazw);
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

santera endermanpl garage cybersteam amazonsolidarnosc