program v pascale

Programovacie jazyky, rady, poradňa...
igce
Novice
Novice
Používateľov profilový obrázok
Príspevky: 2
Registrovaný: 16 máj 2008, 11:07

program v pascale

Príspevok od používateľa igce »

:? Ahojte všetci.
Potreboval by som napisať program v pascale.Najde sa niekto , kto tomu rozumie a pomôže mi . Vopred Ďakujem

Zostavte algoritmus a program, ktorý po zadaní desiatich hodnôt z klávesnice do poľa zistí minimálnu hodnotu v poli, maximálnu hodnotu v poli, vypočíta priemer a nájde číslo ktoré je najbližšie k vypočítanému priemeru.

Zadanie vypracujte nasledovne:

1. Vykonajte analýzu všetkých potrebných vstupných a výstupných premenných. Stanovte ich dátový typ.

2. Zostavte štruktogram.

3. Zostrojte program v Pascale.
morfeusko
Medium Star
Medium Star
Príspevky: 395
Registrovaný: 19 mar 2008, 15:21
Bydlisko: Nitra
Kontaktovať používateľa:

Príspevok od používateľa morfeusko »

popozeraj si strasie temy taketo veci sa tu uz vela krat riesili...staci len pohladat

Je to uplne jednoduchy program to musis zvladnut ked sa nadtym trochu zamyslis :wink:
roxan
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 31
Registrovaný: 18 sep 2005, 11:14
Kontaktovať používateľa:

Príspevok od používateľa roxan »

program igce;
uses crt;
const x= 10;
var a: array [1..x] of integer;
min,max,i,suc :integer ;
priemer :real;
begin
suc:=0;
min:=maxint;
max:=-maxint;
clrscr;
writeln ('Zadaj ',x,' cisel');
for i:=1 to x do begin
readln (a);
if (a < min) then min:=a;
if (a > max) then max:=a;
suc:=suc + a;
end;
priemer:=suc/x;
writeln ('Najvacsie cislo je ',max,' najmensie je ',min,' a priemer je ',priemer:8:2);
end.


snad je tam dobry syntax ... nemam tu prekladac jazyka : -)
igce
Novice
Novice
Používateľov profilový obrázok
Príspevky: 2
Registrovaný: 16 máj 2008, 11:07

Príspevok od používateľa igce »

Veľmi pekne ďakujem ROXAN. Moc tomu nerozumiem ,ale asi tam chýba ešte tá posledná časť kde vyhľadá najbližšie číslo k priemeru .Dalo by sa s tým niečo urobiť.Ešte raz dík
sundevil
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4169
Registrovaný: 18 mar 2005, 12:03
Bydlisko: BA

Príspevok od používateľa sundevil »

len par pripomienok:
var a: array [1..x] of integer; hmm...odkedy je x cislo? kedze pocet cisel je 10 tak ziadne x ale bude tam 10
navyse naco nacitavat pocet cisel ked v zadani je jasne dane ze tych cisel bude 10:
Zostavte algoritmus a program, ktorý po zadaní desiatich hodnôt z klávesnice do poľa

a ten posledny bod, ako zistit ktore cislo je najblizsie priemeru, nechce sa mi pisat cely zdrojak ale dam ti navod ako to bude fungovat
nadefinujes si dalsie pole napr pole2[1..10] do ktoreho postupne naukladas absolutne hodnoty rozdielu priemeru(ten uz mas vyratany) a hodnoty pola-a

toto nove pole bude treba definovat ako real

a potom asi takto:

Kód: Vybrať všetko

for i:=1 to 10 do pole2[i]:=abs(a[i]-priemer)  a-je to zakladne pole
a najdenie najblizsej hodnoty k priemeru:

Kód: Vybrať všetko

nablizsie_cislo:=pole2[1];
minpozicia=1;

for i:=2 to 10 do 
begin
  if pole2[i] < najblizsie_cislo then 
  begin
    najblizsie_cislo=pole[i];
    minpozicia:=i;
  end;
end;
write: najblizsie cislo k priemeru je cislo: pole[minpozicia] a od priemeru je vzdialene : pole2[minpozicia]
je to len tak narychlo, zrejme to bude este potrebovat nejake upravy
zaggi
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 314
Registrovaný: 04 feb 2007, 19:32

Príspevok od používateľa zaggi »

sundevil napísal:...len par pripomienok:
var a: array [1..x] of integer; hmm...odkedy je x cislo? kedze pocet cisel je 10 tak ziadne x ale bude tam 10
navyse naco nacitavat pocet cisel ked v zadani je jasne dane ze tych cisel bude 10...
ale on tam nic nenacitava, keby si cital ten kod poriadne vidis ze tych 10 ma definovane dobre

Kód: Vybrať všetko

const x= 10; 
var a: array [1..x] of integer;
zmysel to ma taky ze ked bude chciet zmenit pocet cisel tak to zmeni na jednom mieste v konstante a nie na 10tich miestach v zdrojaku ...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

To x sa dá riešiť aj inak (tuším pomocou funkcie length alebo high). Ak sa tam použije konštanta, tak by mala mať nejaký rozumný názov (x je príliš všeobecné a teda neprehľadné).
sundevil
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4169
Registrovaný: 18 mar 2005, 12:03
Bydlisko: BA

Príspevok od používateľa sundevil »

zaggi napísal:ale on tam nic nenacitava, keby si cital ten kod poriadne vidis ze tych 10 ma definovane dobre

Kód: Vybrať všetko

const x= 10; 
var a: array [1..x] of integer;
zmysel to ma taky ze ked bude chciet zmenit pocet cisel tak to zmeni na jednom mieste v konstante a nie na 10tich miestach v zdrojaku ...
sorry, konstantu som prehliadol, ale myslim ze pre takyto pripad tam natvrdo dam 1..1000 a nebude to nijako vadit a rozsah to bude viac ako dostatocny
johny_sk
Professional
Professional
Príspevky: 1343
Registrovaný: 15 máj 2008, 21:56

Príspevok od používateľa johny_sk »

s konstantou. Ked sa mlady naucit pouzivat konstanty, bude len dobre a vyhne sa velkemu mnozstvu chyb a neprehladnosti vo vacsich zdrojakoch. Zakladom je spravne pomenovanie konstanty. Uznavam, ze x je malo hovoriace, na druhu stranu ale, pomenovanie konstant je individualne.
Ak si ju pomenuje napr.

const pocet = 10;

bude v zdrojaku vzdy vediet, co "pocet" znamena, ako keby mal hladat chybu a premyslal by, co znamena tych "10" a odkial sa vzali...

K hladaniu cisla najblizsie k priemeru, nepotrebujes dalsie pole, staci ti pamatat si AKTUALNE najblizsie cislo a cele to spravit na jeden cyklus prejdenia pola. Na to ale urcite prides aj sam...

//autoeditácia príspevku ( 19 May 2008, 17:58 )
sundevil napísal:sorry, konstantu som prehliadol, ale myslim ze pre takyto pripad tam natvrdo dam 1..1000 a nebude to nijako vadit a rozsah to bude viac ako dostatocny
keby sa programy robili s takymto pristupom, tak by ti ani 4GB Ramky nestacili na windowsy...

Je mi jasne, ze v tomto pripade je to vsetko v malinkych hodnotach a pamatove naroky su zanedbatelne, ale ked sa to uci, nech sa to uci aspon poriadne. Myslim, ze sa to prejavi aj na hodnoteni, ci pouzije pole 1..1000, alebo 1..pocet
petkooo103
Novice
Novice
Príspevky: 2
Registrovaný: 19 nov 2008, 22:02

program

Príspevok od používateľa petkooo103 »

caute vsetci vedel by mi niekto pomoct s tymto???

Pretekár automobilových závodov dosiahol po niekoľkých pretekoch určitý bodový zisk (za každý pretek určitý počet bodov).

Úloha 1: Vypočítajte programom a zobrazte na obrazovke všetky možnosti (kombinácie), ako bolo možné dosiahnuť aktuálny bodový zisk z jednotlivých pretekov (nezáleží na poradí).

Úloha 2: Vypočítajte programom a zobrazte na obrazovke "najúspešnejšiu" možnosť (alebo možnosti), v ktorom (ktorých) získal pretekár najväčší počet prvých umiestnení v pretekoch.

Poznámka: Riešenie musí zobraziť výstup na obrazovke spôsobom, ako je ukázané nižšie. Nemeňte svojvoľne výstup programu, sťažujete tým kontrolu správnych výsledkov.

Konkrétne zadanie

Celkový dosiahnutý bodový zisk: 19 bodov

Počet pretekov, ktorých sa pretekár zúčastnil: 4

Počet bodovaných miest v každom preteku: 5

Bodovanie za poradie v preteku: 1. miesto=7 bodov, 2. miesto=5 bodov, 3. miesto=4 body, 4. miesto=3 body, 5. miesto=2 body, ostatné miesta sú nebodované

dakujem vopred Shocked
Napísať odpoveď