Napisz program w języku Turbo Pascal na podstawie podanej procedury (przekształć) tak aby liczyła również liczby ujemne i napisać drugą która obliczy silnię i umieścić komentarze.

procedure potega;
(podstawa:integer;
wykladnik:integer;
var wykladnik:integer);
var licznik;

begin
licznik:=1;
while(licznik<=wykladnik)do
begin
wynik:=wynik*podstawa
licznik:=licznik+1
end;
end;


Proszę o szybkie rozwiązanie bo muszę mieć to na jutro rano

1

Odpowiedzi

Najlepsza Odpowiedź!
2009-12-15T19:01:48+01:00
Program zadanie;
uses crt; { Deklaracja modulu CRT }
var { Deklaracja zmiennych }
title:string; { Deklaracja zmiennej lancuchowej }
wynik,l1,l2,n:longint; { Deklaracja zmiennych liczbowych }

procedure potega(podstawa,wykladnik:integer); { Procedura }
var { Deklaracja zmiennych }
licznik:integer; { Deklaracja zmiennej liczbowej }
begin { Poczatek procedury }
licznik:=1; { Przypisanie wartosci do zmiennej }
wynik:=1; { Przypisanie wartosci do zmiennej }
while licznik <= wykladnik do { Petla wykonujaca czynnosci dopoki licznik jest wiekszy lub rowny wykladnikowi }
begin { Poczatek petli }
wynik:=wynik*podstawa; { Przypisanie zmiennej jej wartosci pomnozonej przez podstawe }
licznik:=licznik+1; { Zwiekszenie wartosci zmiennej o 1 }
end; { Koniec petli }
Writeln(podstawa,'^',wykladnik,'=',wynik); { Wydrukowanie na ekranie wyniku potegowania }
end; { Koniec procedury }

Procedure silnia(liczba:integer); { Procedura }
var { Deklaracja zmiennych }
i:integer; { Deklaracja zmiennej liczbowej }
begin { Poczotek procedury }
wynik:=1; { Przypisanie wartosci zmiennej }
for i:=2 to liczba do { Petla liczaca silnie }
wynik:=wynik*i; { Przypisanie do zmiennej jej wartosci pomnozonej przez kolejna licze }

Writeln(n,'!',' = ',wynik); { Wydrukowanie na ekranie silni dla podanego n }
end; { Koniec procedury }


begin { Poczatek programu glownego }
clrscr; { Wyczyszczenie ekranu }
title:='Potegi'; { Przypisanie wartosci do zmiennej lancuchowej }
gotoxy(40-length(title) div 2,1); { Ustawienie kursora na srodku wiersza }
Write(title); { Wydrukowanie na ekranie zmiennej }
Writeln; { Przeniesienie kursora o wiersz nizej }
Write('Podaj podstawe: '); { Zapytanie o podstawe }
readln(l1); { Przypisanie podstawy do zmiennnej }
Write('Podaj wykladnik: '); { Zapytanie o wykladnik }
readln(l2); { Przypisanie wykladnika do zmiennej }
potega(l1,l2); { Wywolanie procedury ze wczesiej ustalonymi parametrami }

readkey; { Oczekiwanie na dowolny klawisz }

clrscr; { Wyczyszczenie ekranu }
title:='Silnia'; { Przypisanie wartosci do zmiennej lacuchowej }
gotoxy(40-length(title) div 2,1); { Ustawienie kursora na srodku ekranu }
Write(title); { Wydrukowanie na ekranie zmiennej }
Writeln; { Przeniesienie kursora o wiersz nizej }
Write('Dla jakiego n! chcesz policzyc silnie? '); { Zapytanie o n! }
Readln(n); { Przypisanie do zmiennej wartosci podanej przez uzytkownika }
silnia(n); { Wywolanie procedury }

readkey; { Oczekiwanie na dowolny klawisz }
end. { Koniec programu }
1 5 1