Forum CDRinfo.pl

Forum CDRinfo.pl (https://forum.cdrinfo.pl/)
-   Off topic (https://forum.cdrinfo.pl/f5/)
-   -   Delphi i kod zrodlowy do programu (https://forum.cdrinfo.pl/f5/delphi-kod-zrodlowy-programu-58314/)

Voytek 01.11.2005 19:05

Delphi i kod zrodlowy do programu
 
Witam
Mam problem (jak zwykle z czym¶) z napisaniem w Delphi programu do obliczania sredniej arytmetyczniej. Nie wiem jak za to sie wziac. Zastanawia mnie fakt jak to zrobic prosto.....bo dopiero zaczynam zabawe z Delphi.
Jak powinien wygl±dać kod zrodlowy aby po wpisaniu ciagu cyfr np 5656 nastepowalo sumowanie 5+6+5+6 i dzielenie wyniku przez 4 zgonie ze wzorem na srednia arytmetyczna.

Proszę o pomoc
Voytek

andy 01.11.2005 21:15

Aplikacja konsolowa będzie wygl±dała tak:
Kod:

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  a, b, c: integer;
begin
  Write('Podaj pierwsza liczbe: ');
        Readln(a);
  Write('Podaj drug± liczbe: ');
        Readln(b);
  Write('Podaj trzeci± liczbę: ');
        Readln(c);
  Writeln('¦rednia arytmetyczna liczb ' ,a,' ',b,' ',c,' wynosi: ',((a+b+c)/3):0:2);
        Readln;
end.

Jeżeli chcesz zrobić na przyciskach i editach to podpinasz zmienne do nich.

Posłany 01.11.2005 22:18

Pewnie Tobie chodziło aby to była dowolna liczba, np. 84328746327865432646523 ;)
A więc to proste, dzi¶ napisze jak to zrobić, a jutro, jakby¶ nie dał rady napisać sam to napisze tu(dzi¶ już czasu nie mam ;) )
Zapisujesz liczbę do stringa, następnia sprawdzasz długo¶ć stringa (Count bodajże), i zaopetlasz to w for.
Co jedno przejscie pętli for zmienna licznik(integer) zwieksza się o 1, a do zmiennej suma dodaje sie aktualna liczba:
suma:=suma+StrToInt(liczba[index_pętli_for]);

potem dzielisz i tyle ;) Aha - typ wyniku daj jako real ;)

Voytek 02.11.2005 09:58

Cytat:

Napisany przez @ndy
Aplikacja konsolowa będzie wygl±dała tak:
Kod:

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  a, b, c: integer;
begin
  Write('Podaj pierwsza liczbe: ');
        Readln(a);
  Write('Podaj drug± liczbe: ');
        Readln(b);
  Write('Podaj trzeci± liczbę: ');
        Readln(c);
  Writeln('¦rednia arytmetyczna liczb ' ,a,' ',b,' ',c,' wynosi: ',((a+b+c)/3):0:2);
        Readln;
end.

Jeżeli chcesz zrobić na przyciskach i editach to podpinasz zmienne do nich.

@ndy tez tak chciałem zrobic i dzieki za checi i podpowiedz, ale myslalem
o tym co Posłany


Cytat:

Napisany przez Posłany
Pewnie Tobie chodziło aby to była dowolna liczba, np. 84328746327865432646523 ;)
A więc to proste, dzi¶ napisze jak to zrobić, a jutro, jakby¶ nie dał rady napisać sam to napisze tu(dzi¶ już czasu nie mam ;) )
Zapisujesz liczbę do stringa, następnia sprawdzasz długo¶ć stringa (Count bodajże), i zaopetlasz to w for.
Co jedno przejscie pętli for zmienna licznik(integer) zwieksza się o 1, a do zmiennej suma dodaje sie aktualna liczba:
suma:=suma+StrToInt(liczba[index_pętli_for]);

potem dzielisz i tyle ;) Aha - typ wyniku daj jako real ;)

Poprosze jak bedziesz mial czas o kod bo debugowanie mi wyskakuje....
Pozdrawim
Voytek

Voytek 02.11.2005 19:19

Zrobilem :idea: ....tak

program Zadanie1;

{$APPTYPE CONSOLE}

uses
SysUtils;
var a,x,suma,ile:integer;
srednia:real;
begin
writeln('Obliczanie sredniej n-liczb naturalnych');
writeln;
writeln;
writeln('Podaj ciag liczb naturalnych zakonczony zerem: ');
writeln;
ile:=0;
x:=0;
repeat
readln(a);
suma:=x+a;
x:=suma;
ile:=ile+1;
until a=0;
srednia:=x/(ile-1);
writeln;
writeln(srednia:8:2);
readln
end.


Wszystkie czasy w strefie CET. Aktualna godzina: 07:54.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.