Darmowe Forum

Turbo Pascal => Podstawy Turbo Pascal => Wątek zaczęty przez: admin Marzec 07, 2011, 13:07:32



Tytuł: Funkcja - zwraca wartość
Wiadomość wysłana przez: admin 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;



Tytuł: Odp: Funkcja - zwraca wartość
Wiadomość wysłana przez: admin 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.



Tytuł: Odp: Funkcja - zwraca wartość
Wiadomość wysłana przez: admin 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.


Tytuł: Odp: Funkcja - zwraca wartość
Wiadomość wysłana przez: admin 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.


Tytuł: Odp: Funkcja - zwraca wartość
Wiadomość wysłana przez: admin 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.


Tytuł: Odp: Funkcja - zwraca wartość
Wiadomość wysłana przez: admin 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.


Tytuł: Odp: Funkcja - zwraca wartość
Wiadomość wysłana przez: admin 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.


Tytuł: Odp: Funkcja - zwraca wartość
Wiadomość wysłana przez: admin 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.




Polityka cookies
Darmowe Fora | Darmowe Forum

aplikacja2013 polishlife polskiserwerfreeplay unihokej maxplaying