Darmowe Forum
Grudzieñ 21, 2024, 18:24:47 *
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: Funkcja - zwraca warto¶æ  (Przeczytany 5470 razy)
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« : Marzec 07, 2011, 13:07:32 »

Procedura wymienia dane z wywo³uj±cym poprzez listê parametrów, nie daje jednak mo¿liwo¶ci zwrócenia pojedynczej warto¶ci (liczby).
Dlatego w Pascalu wprowadzono pojecie funkcji. Jest ona rodzajem procedury, która po wywo³aniu zwraca obliczon± przez siebie warto¶æ.


Function nazwa(lista_parametrów):typ_wyniku;
{deklaracje sta³ych i zmiennych typów}
Begin
{tre¶æ funkcji, i przypisanie}
Nazwa:=obliczona_warto¶æ_wyniku;
End;

Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #1 : Marzec 07, 2011, 13:08:53 »

Przyk³ad 1.

Program a1;
Var c, d:real;
function suma:real;
begin
suma:=c+d;
end;
Begin
Write(‘podaj  a =’);readln (c);
Write(podaj b= ‘);readln (d);
Writeln(’suma liczb wynosi  ‘,suma);
readkey;
End.

« Ostatnia zmiana: Marzec 14, 2011, 11:23:45 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #2 : Marzec 14, 2011, 12:02:22 »

Zadanie 2. Napisaæ program w którym funkcje bêd± oblicza³y sumê ,ró¿nicê, iloraz i iloczyn dwóch wprowadzonych liczb.

program a1;
uses crt,dos;
var c,d:integer;
function suma:real;
begin
suma:=c+d;
end;
function roznica:real;
begin
roznica:=c-d;
end;
function  iloraz:real;
 begin
  iloraz:=c/d;
 end;
function iloczyn:real;
begin
iloczyn:=c*d;
end;

begin clrscr;
write('Podaj a= ');readln(c);
write('Podaj b= ');readln(d);
writeln('Suma liczb= ',suma:0:2);
writeln('Roznica liczb= ',roznica:0:2);
writeln('Iloczyn liczb= ',iloczyn:0:2);
writeln('Iloraz liczb= ',iloraz:0:2);
readkey;
end.
Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #3 : Marzec 14, 2011, 12:21:02 »

Zadanie 3. Program wykorzystuj±cy twierdzenie Talesa do obliczenia wysoko¶ci budynku. Korzystaj±c z trójk±ta Talesa napisaæ program który wyliczy wysoko¶æ budynku. a- d³ugo¶æ podstawy trójk±ta, b- wysoko¶æ trójk±ta, c- odleg³o¶æ od budynku, d- wysoko¶æ budynku (do obliczenia).

program a1;
uses crt,dos;
var a,b,c:real;
function tales:real;
begin
tales:=b/a*c;
end;
begin clrscr;
a:=0.2;
write('Podaj w m b= ');readln(b);
write('Podaj odleglosc od obiektu c= ');readln(c);
writeln('Wysokosc budynku= ',tales:0:2, ' m');
readkey;
end.
« Ostatnia zmiana: Marzec 14, 2011, 12:32:54 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #4 : Marzec 14, 2011, 12:36:55 »

Zadanie 4. Napisz program który korzystaj±c z  funkcji troj obliczy pole powierzchni trójk±ta wprowadzaj±c z klawiatury dane: a - d³ugo¶æ podstawy trójk±ta, h - wysoko¶æ trójk±ta.
« Ostatnia zmiana: Marzec 14, 2011, 12:46:38 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #5 : Marzec 14, 2011, 13:30:41 »

Zadanie 5.
program a1;
uses crt,dos;
var imie:string;
x,y:integer;
 procedure podaj;
 begin
 gotoxy(10,1);write('Podaj imie: ');readln(imie);
 end;

function ile: integer;
begin
ile :=length(imie);
end;
procedure slupek (ile:integer);
var x:integer;
begin
 for x:=1 to ile do begin
  gotoxy(20+y,20-x); write(chr(178));delay(300);
 end;
     end;

begin clrscr;y:=1;
 repeat podaj;slupek(ile);readkey;inc(y); until ile=10;

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


Email
« Odpowiedz #6 : Marzec 21, 2011, 09:14:55 »

program a2;
uses crt,dos;
var a,b:real;
function roznica:real;
begin
roznica:=a-b;
end;
begin
readkey;
end.
-----------------------------------------------------------------

program a2;
uses crt,dos;
var a,b:real;
function srednia:real;
begin
srednia:=(a+b)/2;
end;
begin
clrscr;
write('Podaj pierwsza zmienna: ');readln(a);
write('Podaj druga  zmienna: ');readln(b);
write('srednia z liczb: ',a:0:2,' ',b:0:2,' = ',srednia:0:2);
readkey;
end.
----------------------------------------------------------
program a2;
uses crt,dos;
var c,d:real;
function srednia(a,b:real):real;
begin
srednia:=(a+b)/2;
end;
begin
clrscr;
write('Podaj pierwsza zmienna: ');readln(c);
write('Podaj druga  zmienna: ');readln(d);
write('srednia z liczb: ',c:0:2,' ',d:0:2,' = ',srednia(c,d):0:2);
readkey;
end.
« Ostatnia zmiana: Marzec 21, 2011, 09:38:57 wys³ane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« Odpowiedz #7 : Kwiecieñ 04, 2011, 10:18:29 »

Zadanie 4. 4.04.2011

program r7;
uses crt,dos;
var x,y,z:real;
procedure dziel;
begin clrscr;
write('Podaj pierwsza liczbe: ');readln(x);
write('Podaj druga liczbe: ');readln(y);
end;

function dziela(a,b:real): real;
begin
if (b=0) then writeln('Nie dziele przez zerooooooooo!!!!!!') else
dziela:=a/b;
end;


begin
   dziel;write(dziela(x,y):0:2); readkey;
end.


« Ostatnia zmiana: Kwiecieñ 04, 2011, 10:20:41 wys³ane przez admin » 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

zlotasiodemka moikrewni gang-nd shaggydogss articz