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
Stránky: 1
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
Offline
↑ 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
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...
Offline
↑ 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?
Offline
↑ 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ý
Offline
↑ 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
Offline
↑ 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 :(((
Offline
↑ janca361:
hodnoty? to myslíš to 1 až 4?
Offline
↑ 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???
Offline

↑ Clown:
Nene.
Opět bude načítat ve for-cyklu.
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
Offline
↑ 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;
Offline

↑ Clown:
Ne.
Bude to takto:
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?
begin i := 1 to 4 do
Jinak ještě jsme dopsala proměnnou i
Offline
↑ 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.
Offline
Stránky: 1