Rychlosti NALÉHAVÉ – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Rychlosti NALÉHAVÉ – Pascal – Fórum – Programujte.comRychlosti NALÉHAVÉ – Pascal – Fórum – Programujte.com

 

17. 4. 2008   #1
-
0
-

Ahoj dostal jsem od učitelky úkol, abych udělal program přes cyklus. Učili jsme se zatím jen FOR, REPEAT a WHILE. Já si nevím rady tak mi ten program prosím někdo napište. Zadání je: Vypočítej průměrné rychlosti 10 aut a pak by měl program vybrat maximální a minimální rychlost. Tak to prosím někdo zkuste spěchá to. Díky

Nahlásit jako SPAM
IP: 195.113.181.–
Chrasty
~ Redaktor
+4
Posthunter
17. 4. 2008   #2
-
0
-

Obávám se, že úkoly tu za tebe nikdo psát nebude. Pošli část kódu kterou už máš a řekni co ti nefunguje, poradíme:)

Nahlásit jako SPAM
IP: 193.179.196.–
Mircosoft+1
Věrný člen
17. 4. 2008   #3
-
0
-

To Cherokee007 :
To hlavní ti řekl Chrasty. Já jen doplním:
- Víc cyklů než for, repeat a while neexistuje, takže znáš všechno, co potřebuješ.
- Pro ukládání rychlostí bude nejvhodnější pole čísel (array).
- Hledání největší a nejmenší hodnoty už se tu řešilo mockrát, hledej.
- Výpočet průměrné rychlosti znamená sečíst všechny rychlosti a podělit počtem aut.

Nahlásit jako SPAM
IP: 147.32.160.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
25. 4. 2008   #4
-
0
-

Tak tady je to co mi nejde hází to všelijaké chyby a nejde to tak nějak celkově tak se mi na to prosím někdo mrkněte díky.

program vypocet;


{$APPTYPE CONSOLE}

uses
SysUtils;

var s,t,i:integer;
v: array[1..10] of real;
sucet,priemer:real;

procedure bubblesort;
var k,l:integer;
p:real;
begin
for k := 1 to 10 do begin
for l := 1 to 9 do begin
if v[l] < v[l+1] then begin
p := v[l];
v[l] := v[l+1];
v[l+1] := p;
end;
end;




end;
end;

begin
{ TODO -oUser -cConsole Main : Insert code here }
for i := 1 to 10 do begin

write('Zadaj ' + inttostr(i) + '. zaznam v tvare drahaMEDZERAcas: ');
read(s, t);
{hned prepocitam na rychlost a zapisem do pola, nech si nemusim pamatat vela veci naraz}
v[i] := s / t;
writeln('Rychlost: ',v[i]:0:2);
end;
bubblesort;
for i := 1 to 10 do begin
sucet := sucet + v[i];
end;
priemer := sucet / 10;
writeln('Sucet: ',sucet:0:2,', priemer: ',priemer:0:2,', najvacsia rychlost: ',v[1]:0:2,'.');
readln;
readln; {neviem preco treba 2x readln}


end.

Nahlásit jako SPAM
IP: 85.70.182.–
Tocimanko0
Grafoman
25. 4. 2008   #5
-
0
-

Mircosoft napsal:
To Cherokee007 :
To hlavní ti řekl Chrasty. Já jen doplním:
- Víc cyklů než for, repeat a while neexistuje, takže znáš všechno, co potřebuješ.
- Pro ukládání rychlostí bude nejvhodnější pole čísel (array).
- Hledání největší a nejmenší hodnoty už se tu řešilo mockrát, hledej.
- Výpočet průměrné rychlosti znamená sečíst všechny rychlosti a podělit počtem aut.


A čo povieš na foreach ?? ;)

Nahlásit jako SPAM
IP: 195.91.54.–
Mircosoft+1
Věrný člen
25. 4. 2008   #6
-
0
-

>Tocimanko: na foreach povím, že v Pascalu není :smile3:

>Cherokee:
- nevím, jestli má FP ve standardní výbavě (nebo v té jednotce Sysutils) funkci Inttostr. Jestli ti na ní hlásí chybu "unknown identifier", tak ten řádek přepiš na:

write('Zadaj ',i,'. zaznam v tvare drahaMEDZERAcas: ');


- Dráhu a čas (s, t) bych dal radši reálné (uživatel určitě nebude zadávat jen celá čísla).

- Místo Read(s,t) použij radši Readln(t,s) (Readln je stavěná na čtení z klávesnice, Read moc ne). Možná že se tím vyřeší problém s Readln na konci programu a bude stačit jedno.

- Před počítáním součtu musíš proměnnou Součet vynulovat, jinak se ti do ní připočítá nějaká nedefinovaná hodnota, která v ní byla před začátkem cyklu (globální proměnné sice bývají obvykle na začátku programu nulové, ale nespoléhal bych se na to)

- Nejmenší rychlost najdeš na opačném konci pole než jsi našel tu největší.

Zbytek mi připadá v pořádku.

Nahlásit jako SPAM
IP: 85.132.158.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Tocimanko0
Grafoman
25. 4. 2008   #7
-
0
-

To Mircosoft : No fuj. Čo to je za prog. jazyk, ktorý nemá foreach? :D :D Inak nechápem, ako sa dnes ešte môže učiť pascal. Veď to je už prežitok. Ble.

Nahlásit jako SPAM
IP: 195.91.54.–
25. 4. 2008   #8
-
0
-

To Tocimanko : Jeden důvod, proč by měl být Pascal přežitek? Řeší se to tady asi 10krát do roka :-). Pascal je IMHO srozumitelnej a jednoduchounkej programovací jazyk, jehož kód může normální člověk číst jako knihu :-). Neznám žádný druhý takový. A Pascal dokáže vše, jako jiné programovací jazyky. Jenom vědět, jak na to. Jestli máš něco proti, zkus si naprogramovat podmínku s else větví v Brainfucku a pak teprve komentuj.

Nahlásit jako SPAM
IP: 83.240.78.–
Podpis: Do podpisu nelze vložit obrázky ani HTML kód. Je podporován nový řádek tagem
.
Tomik
~ Anonymní uživatel
62 příspěvků
25. 4. 2008   #9
-
0
-

To Garret Raziel: co třeba python to je taky dobrý programovací jazyk a stejně lehký jako pascal.

Nahlásit jako SPAM
IP: 213.220.231.–
Tocimanko0
Grafoman
25. 4. 2008   #10
-
0
-

Dnes sa pascal používa skôr len na vyučovanie programovania niekde v školách, ale nevidel som dávno nejakú poriadnu komerčnú aplikáciu v pascali. Delphi je o inom, ale aj tak celý pascalovský kód na mňa pôsobí tak... divne :(

Nahlásit jako SPAM
IP: 195.91.54.–
Tomik
~ Anonymní uživatel
62 příspěvků
25. 4. 2008   #11
-
0
-

Pascalovský kod neni nijak divný a je lehky a srozumitelny

Nahlásit jako SPAM
IP: 213.220.231.–
Tocimanko0
Grafoman
25. 4. 2008   #12
-
0
-

To Tomik : To je asi každého osobitná vec, či sa mu pascal páči alebo nie :) Poznám veľa ľudí, ktorí nenávidia pascal :D Ale je fakt, že má celkom jasné príkazy ... Každopádne na VB nemá :)

Nahlásit jako SPAM
IP: 195.91.54.–
Tomik
~ Anonymní uživatel
62 příspěvků
25. 4. 2008   #13
-
0
-

jasné příkazy to má, ale VB jsem nepochopil vůbec i ktyž jsem hledal na internetu všelijaký návod vůbec mi nic nefungovalo ani nevim proč

Nahlásit jako SPAM
IP: 213.220.231.–
Tocimanko0
Grafoman
25. 4. 2008   #14
-
0
-

ktyž jsem hledal na internetu všelijaký návod vůbec mi nic nefungovalo ani nevim proč


Keď si skúšal na .NET platforme príklady z VB 4/5/6 alebo inej verzie, tak pochopiteľne to nefungovalo... Inak je to strašne jednoduchý a pochopiteľný jazyk

Nahlásit jako SPAM
IP: 195.91.54.–
Laaca0
Stálý člen
26. 4. 2008   #15
-
0
-

Zpět k tématu.
Cherokee007, tvůj program funguje, nedodělky uprav podle toho, co psal Mircosoft a bude to dobrý.
Ještě doporučuju, upozornit na začátku programu uživatele, že bude zadávat 10 hodnot. Ono když člověk zadává už šestou hodnotu a neví, kdy to bude končit, tak je to dost frustrující.

Dále, smyčka FOR s jedním příkazem. V takovém případě není třeba uzavírat tento příkaz do bloku BEGIN END. Tedy, místo
for i := 1 to 10 do begin sucet := sucet + v[i];end;
stačí for i := 1 to 10 do sucet := sucet + v[i];

Zbytečně také používáš proceduru BubbleSort. To je učebnicový příklad tzv. použití kanónu na vrabce. Ty přece nepotřebuješ setřídit pole, ale jen vybrat největší hodnotu.

Nahlásit jako SPAM
IP: 81.0.253.–
DOS-u-akbar
Laaca0
Stálý člen
26. 4. 2008   #16
-
0
-

Jinak, ForEach v pascalu (včetně TP 6.0 a TP 7.0) je. (je to metoda objektu TCollection, jednotka Objects)

Nahlásit jako SPAM
IP: 81.0.253.–
DOS-u-akbar
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Podobná vlákna

Pomoc v nouzi je to nalehave — založil Lama pls help

Pád rychlosti na AP/Switchi — založil Dominik

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý