Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 06. 06. 2011 08:28 — Editoval Clown (06. 06. 2011 08:34)

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Pascal - tvorba algoritmu

Zdravíčko, ve škole jsem dostal jeden úkol a vůbec nevím co s ním, zkoušel jsem to vytvořit sám ale bezvýsledku.. poradíte mi prosím? nevím jak ten algoritmus sestrojit:

V průběhu roku jste si zaznamenali náklady na provoz domácnosti v každém čtvrtletí. Na základě zaznamenaných údajů (t.j. čtyř čísel) vypište celkové náklady za rok (použijte cyklus) a určete ve kterém čtvrtletí byly náklady nejvyšší, a ve kterém nejnižší a kolik činily. Hodnoty o jednotlivých čtvrtletích uchovejte v poli hodnot.


jedná se o FreePascal


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

  • (téma jako vyřešené označil(a) Clown)

#2 06. 06. 2011 09:27

Honzc
Příspěvky: 4647
Reputace:   248 
 

Re: Pascal - tvorba algoritmu

↑ Clown:
A co ti na tom není jasné?
Nadefinuješ pole o 4 prvcích a do něj dáš náklady na jednotlivá čtvrtletí.
To uděláš tím požadovaným cyklem for i := 1 to 4 do ...
Pak ty náklady sečteš (opět pole, mohlo by to být i v tom prvním)
Potom budeš porovnávat náklady na jednotlivá čtvrtletí zase cyklus, na začátku bude maximum to první čtvrtletí a toto číslo budeš porovnávat se druhým, pokud to druhé bude větší než první, tak mu přiřadíš maximum. Tak to provedeš až do 4.čtvrtletí - v proměnné maximum budeš mít tu největší hodnotu. Pak opět v cyklu budeš porovnávat tu maximální hodnotu s prvky pole a až se bude maximální hodnota rovnat hodnotě určitého čtvrtletí, tak si zapíšeš při jakém indexu pole to nastalo. Pokud budeš mít cyklus číslovaný od 1 do 4, pak číslo bude udávat hodnotu příslušného čtvrtletí. (Budeš tedy mít čtvrtletí a k němu i jeho výši)
To samé uděláš pro zjištění minima. (pouze samozřejmě hledáš menší hodnotu)
A to je vše.

Offline

 

#3 06. 06. 2011 16:26

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Pascal - tvorba algoritmu

jojo to mi je docela jasné, já jen nevím jak to sestrojit.. jestli mě chápeš myslím to takhle

Program Domacnost


Integer; i := 1 to 4 do
clrscr

begin i := 1 to 4 do

"něco bude tady"........



end.

a dál...


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

 

#4 06. 06. 2011 17:16

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
Stejný příklad tady. Třeba tam něco najdeš.

Offline

 

#5 06. 06. 2011 18:18

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Pascal - tvorba algoritmu

↑ janca361:

takže pokud to "chápu" bude to vypadat nějak takhle?
Program Domacnost

integer;
begin

for i:=1 to 4 do celkem:=celkem+pole[i]
for i:=2 to 4 do celkem:=celkem+pole[i]
for i:=3 to 4 do celkem:=celkem+pole[i]
for i:=4 to 4 do celkem:=celkem+pole[i]

atd?


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

 

#6 06. 06. 2011 18:22 — Editoval janca361 (06. 06. 2011 18:23)

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
Ne. Pro sečtení celkových nákladů stačí

Code:

for i:=1 to 4 do celkem:=celkem+pole[i]

Poznámka: proměnnou celkem je před cyklem nutné nastavit na 0

Umíš for-cyklus nebo ne? Pokud ne, je třeba hledat jiné řešení.

Offline

 

#7 06. 06. 2011 18:24

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Pascal - tvorba algoritmu

↑ janca361:

někdy přemýšlím proč jsem se hlásil na IT školu když mi prográmko nejde......... asi umím ten FOR, je to celý nějaký špatný


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

 

#8 06. 06. 2011 18:27

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
Jinak ano toto není dobře.

Code:

Integer; i := 1 to 4 do

Připadá mi to jako nepovedená deklarace proměnné.


Code:

begin i := 1 to 4 do

Nejspíš pokus o for-cyklus

O co se má jednat?

Offline

 

#9 06. 06. 2011 18:27

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
Nějak to dáme do hromady. Jen musíš říct, kde je problém.

Offline

 

#10 06. 06. 2011 18:29

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Pascal - tvorba algoritmu

↑ janca361:

já nevím o co se má jednat, já si furt čtu to zadání učitele a nechápu to a nejlepší je na tom že já mám ještě 2 takovýhle podobný úkoly a fakt nevím jak na to....
jinak, s tím co jsi mi napsala zkusím něco udělat, uvidím co dám dohromady


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

 

#11 06. 06. 2011 18:30

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
Ok, určitě to nějak dáme dohromady ;)

Offline

 

#12 06. 06. 2011 18:36 — Editoval Clown (06. 06. 2011 18:41)

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Pascal - tvorba algoritmu

↑ janca361:
byl bych rád :) pro mě je ten pascal fakt nebe a dudy Problém je ten že asi nevím co je proměná, deklarovat a jak ten algoritmus dát dohromady, já fakt nevím :( už od odpoledne nad tím sedím a fakt nevím! :( učitel to vysvětluje úplně na pí*u a myslí si jakej je programátor. Já už nevím :(((


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

 

#13 06. 06. 2011 18:49

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
Tak tedy od začátku:

Deklarace:

Code:

program domacnost;
var pole:array[1..4]of integer; {pole pro zaznam nakladu}
  max,min,celkem:integer;

Zvládneš do pole načíst hodnoty?

Offline

 

#14 06. 06. 2011 18:52

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Pascal - tvorba algoritmu

↑ janca361:

hodnoty? to myslíš to 1 až 4?


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

 

#15 06. 06. 2011 19:01

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
Nene, 1 až 4 je označení čtvrtletí

Představit si to můžeš jako tabulku:

Čtvrtletí  |    1.  |    2.  |    3.  |    4.  |
Náklady  |         |         |        |         |

Hodnotami jsme myslela náklady. (2. řádek tabulky)

Offline

 

#16 06. 06. 2011 19:07 — Editoval Clown (06. 06. 2011 19:09)

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Pascal - tvorba algoritmu

↑ janca361:
takže nějak Writeln( 'ctvrtleti 1')
                  Readln(vysledek)?

promiň že tě tím tolik zatěžuju :(... načíst hodnoty? to můžu jakýkoliv číslo? nebo co myslíš těma hodnotama???


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

 

#17 06. 06. 2011 19:14

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
Nene.
Opět bude načítat ve for-cyklu.

Code:

for i:=1 to 4 do 
  begin
    write('Zadej naklady za ',i,'. ctvrtleti: ';
    readln(pole[i]);
  end;

do deklarace je potřeba ještě přidat proměnnou i:integer



Nyní máš načteny hodnoty do pole. Je možné s nimi pracovat.

Teď už zbývá "jen" s nimi něco udělat.

1) určit jejich součet - už máš výše
2) určit nejnižší a nejvyšší náklady
3) určit ve kterém čtvrtletí  byly náklady nejvyšší a nejnižší

Offline

 

#18 06. 06. 2011 19:19

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

2) určit nejnižší a nejvyšší náklady

Obecně to máš tady.

Pro tvůj případ to bude takto:

Offline

 

#19 06. 06. 2011 19:21

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Pascal - tvorba algoritmu

↑ janca361:

takže to bude asi takhle?


program domacnost;

var pole:array[1..4]of integer; {pole pro zaznam nakladu}
  max,min,celkem:integer;

begin i := 1 to 4 do

for i:=1 to 4 do
  begin
    write('Zadej naklady za ',i,'. ctvrtleti: ';
    readln(pole[i]);
  end;


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

 

#20 06. 06. 2011 19:23 — Editoval janca361 (06. 06. 2011 19:24)

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
Ne.
Bude to takto:

Code:

program domacnost;

var pole:array[1..4]of integer; {pole pro zaznam nakladu}
  max,min,celkem,i:integer;

begin 

for i:=1 to 4 do 
  begin
    write('Zadej naklady za ',i,'. ctvrtleti: ';
    readln(pole[i]);
  end;



end.

Proč toto?

Code:

begin i := 1 to 4 do

Jinak ještě jsme dopsala proměnnou i

Offline

 

#21 06. 06. 2011 19:30

Clown
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Pascal - tvorba algoritmu

↑ janca361:

Jančo, já ti děkuju za tvou velkou pomoc, zkusím si s tím pohrát... a snad jsem tě moc neotravoval protože jsi první kdo mi to takhle polopatě vysvětlil. Už tě nechci obtěžovat a kdybych ZASE něco nevěděl tak založím nové téma.


Když se to zasekne, pomozme tomu silou. Když se to ulomí, stejně to tam nemělo co dělat.
Kdo neumí, učí. A kdo neumí učit, učí tělák

Offline

 

#22 06. 06. 2011 19:32

janca361
.
Příspěvky: 3284
 

Re: Pascal - tvorba algoritmu

↑ Clown:
K tomuto úkolu pokračuj tady.
Nic se neděje, kdybych nechtěla pomoct, neměla čas, nepíšu sem.
Hodně zdaru.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson