Darmowe Forum
Maj 04, 2024, 06:55:27 *
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 5195 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

watahaloup noname justplay watahacemnejstrony forumszkoly