Ziomaleq [ impossible is nothing ]
interpretacja prostego kodu-pascal
witam...
czy moglby mi ktos opisac ten kod? w stylu: (po / opis linijki)
Program srednia;
var suma, liczba, aktualna: integer; /deklarujemy zmienne
begin
suma := 0;
liczba
repeat /deklarujemy petle
write('Podaj liczbe (0 = koniec): ');
readln(aktualna);
if aktualna <> 0 then
begin
suma := suma + aktualna;
liczba := liczba + 1;
end;
until aktualna = 0;
write('Srednia podanych liczb to ', (suma/liczba):0:2);
readln;
end.
Likfidator [ Konsul ]
A czego nie rozumiesz?
Program srednia;
var suma, liczba, aktualna: integer; /deklarujemy zmienne to nie jest komentarz
begin
suma := 0;
liczba := 0; bez poprawy nawet się nie skompiluje
repeat /deklarujemy petle
write('Podaj liczbe (0 = koniec): ');
readln(aktualna);
if aktualna <> 0 then
begin
suma := suma + aktualna;
liczba := liczba + 1;
end;
until aktualna = 0;
write('Srednia podanych liczb to ', (suma/liczba):0:2);
readln;
end.
Ten program liczy średnią arytmetyczną, ale kod, który podałeś, nawet się nie skompiluje.
Komentarze w pascalu podaje się
‹ to jest komentarz ›
/* To również jest komentarz */
Komentarz // jest używany m.in. w C++.
Widzę, że masz poważne braki, skoro masz problem z tak elementarnym programem. Lepiej zacznij uczyć się od samego początku, bo jak nie będziesz wszystkiego rozumiał (a widać, że nie bardzo wiesz o co chodzi), to dalej na pewno nie dasz rady.
" i " to nawiasy klamrowe, tylko na forum są tak dziwnie wyświetlane.
One.man.zoo [ Centurion ]
Program srednia;
var suma, liczba, aktualna: integer; /deklarujemy zmienne
begin
suma := 0; /mowimy programowi ze suma jest 0
liczba
repeat /deklarujemy petle
write('Podaj liczbe (0 = koniec): '); /wykakuje Ci napis na ekranie "podaj liczbe" jesli podasz 0 prog zakonczy dzialanie
readln(aktualna); wczytuje podana liczbe i bedzie ona przypisana do "aktualnej"
if aktualna <> 0 then /rozpoczyna sie petla "jesli aktualna rozna od 0 wtey startuje "wlasciwa
" czesc programu
begin
suma := suma + aktualna;
liczba := liczba + 1;
end;
until aktualna = 0; /pentla wykonuj sie tak dlugo az nie wyjdzie 0
write('Srednia podanych liczb to ', (suma/liczba):0:2); wyswietlan "Srednia liczb to" i obok wyskoczy Ci obliczona srednia.
readln;
end.
pablo397 [ sport addicted ]
Program srednia;
var suma, liczba, aktualna: integer; /deklarujemy zmienne
begin /poczatek programu
suma := 0; /nadanie zmiennej 'suma' wartosc 0
liczba /chodzilo Ci o nadanie wartosci bazowej? zrob jak wyzej
repeat /deklarujemy petle /petli sie nie deklaruje, co najwyzej zaczyna :p
write('Podaj liczbe (0 = koniec): '); /wyswietlenie komunikatu na ekranie
readln(aktualna); /wczytanie wartosci zmiennej 'aktualna' od uzytkownika; 'ln' to bodajze przeskok o linijke w dol
if aktualna <> 0 then /porownanie wartosci zmiennej 'aktualna' z wartoscia '0'; jesli rozna wtedy start instrukcji nizej
begin /poczatek instrukcji
suma := suma + aktualna; /sumowanie zmiennych
liczba := liczba + 1; /podnieszenie wartosci zmiennej 'liczba' o 1
end; /koniec instrukcji
until aktualna = 0; /warunek petli, jesli zmienna 'aktualna' nie rowna sie '0' petla jest powtarzana
write('Srednia podanych liczb to ', (suma/liczba):0:2); /wydrukowanie na ekranie tekstu i wartosci zmiennych
readln; /pauza programu
end. /koniec programu
tyle co sobie przypominam. zawsze cos
Blendon [ Generaďż˝ ]
jezeli chcesz mala optymalizacje to zrob:
var suma, liczba, aktualna: integer; /deklarujemy zmienne
begin
suma := 0;
liczba := 0;
write('Podaj liczbe (0 = koniec): ');
readln(aktualna);
while(aktualna <> 0)
begin
suma := suma + aktualna;
liczba := liczba + 1;
write('Podaj liczbe (0 = koniec): ');
readln(aktualna);
end;
write('Srednia podanych liczb to ', (suma/liczba):0:2);
readln;
end.
Albo cos takiego. Nie ma instrukacji if, co daje mniej porownan.
Poza tym ten program i tak nie dziala. Jezeli jako pierwsza liczbe dasz zero to wyrzuci runtime error przy dzieleniu przez 0 przy ostatnim write. musisz dodac tam warunek
if (liczba != 0)