Ročníková práce – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ročníková práce – Pascal – Fórum – Programujte.comRočníková práce – Pascal – Fórum – Programujte.com

 

David
~ Anonymní uživatel
177 příspěvků
19. 5. 2015   #1
-
0
-

Zdraví, dostal jsem následující zadání: 
Na vstupu je trojice čísel udávající prospěch jednotlivých žáků z českého jazyka, matematiky a programování. Vstup je ukončen trojicí 0,0,0.
1. průměrný prospěch třídy z PRG
2.kolik žáků má jedničku z Čj, kolik z M a kolik z PRG
3. KOlik žáků má jedničku ve všech předmětech
4. kolik žáků nemá 4 ani 5
5. kolik žáků propadá

Co byste použili na ukládání dat ? Záznam nebo pole? Kdyby byl někdo tak ochotný a trochu mi tu rozepsal jak co udělat. Pascal se učím asi týden a zatím toho moc nevím. Předem děkuji za odpovědi. 

Nahlásit jako SPAM
IP: 46.33.101.–
KIIV
~ Moderátor
+43
God of flame
19. 5. 2015   #2
-
0
-

Jak bych to ukladal? Asi takto:

1. jeden real (soucet znamek z prg) a jeden integer (pocet zaku) -> z toho se vypocita prumer delenim po dokonceni

2. tri integery

3. jeden integer

4. jeden integer

5. jeden integer

Nahlásit jako SPAM
IP: 94.113.93.–
Program vždy dělá to co naprogramujete, ne to co chcete...
JoDiK
~ Anonymní uživatel
987 příspěvků
19. 5. 2015   #3
-
0
-

#1 David
Použil bych na to dynamické objekty svázané ve spojovém seznamu, implementující asi obecný seznam...

Jo a propadne jeden žák, ten co měsíc před koncem školního roku začal pracovat na ročníkovém projektu a už celý týden se učí něco, co ostatní horko těžko začínají chápat po dvou až třech měsících studia.

Nahlásit jako SPAM
IP: 88.103.228.–
KIIV
~ Moderátor
+43
God of flame
19. 5. 2015   #4
-
0
-

#3 JoDiK
Jestli jsem neco neprehledl, tak spojovy seznam je naprosto zbytecny, jelikoz se vse da pocitat prubezne.

Nahlásit jako SPAM
IP: 94.113.93.–
Program vždy dělá to co naprogramujete, ne to co chcete...
JoDiK
~ Anonymní uživatel
987 příspěvků
19. 5. 2015   #5
-
0
-

#4 KIIV
Přehlédl jsi tu ironii... asi...

Nahlásit jako SPAM
IP: 88.103.228.–
KIIV
~ Moderátor
+43
God of flame
20. 5. 2015   #6
-
0
-

Tu zda se nevidim, ani kdyz vim, ze by tam byt mela :D

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
JoDiK
~ Anonymní uživatel
987 příspěvků
20. 5. 2015   #7
-
0
-

#6 KIIV
No, až teď mi došlo, že je tak dovedně ukrytá, že tazatel, pokud se sem vůbec ještě podívá, tak ty pojmy nezná a tudíž mu nedojde, že mu radím kanón na vrabce...

Nahlásit jako SPAM
IP: 88.103.236.–
David
~ Anonymní uživatel
177 příspěvků
20. 5. 2015   #8
-
0
-

Jde o to, že se to neučím ve škole, ale sám doma, kamarád mi pouze vysvětluje jak se co zapisuje a zbytek si dělám sám.

Nahlásit jako SPAM
IP: 46.33.101.–
JoDiK
~ Anonymní uživatel
987 příspěvků
20. 5. 2015   #9
-
0
-

#8 David
Nojo, to se učí blbě...

Tak když se zasekneš, tak sem vlož, cos zatím napsal a klidně se ptej...

Ale promiň, otázka "Co byste použili na ukládání dat ? Záznam nebo pole?" naznačuje, že nevíš o čem mluvíš, a na to se radí dost blbě.

Pro tohle zadání úplně stačí ukládat si v každém kroku jen tu jednu trojici známek do třech proměnných.

Každopádně jedna z možností je uložit ty známky jako záznamy do pole. To ale jen v případě, že bys ty známky na něco potřeboval mít uložené. A nebo to brát jako procvičení využití těchto struktur. K tomu bys ale měl vědět co to je a k čemu se to hodí. Jestli chceš nějaké další zdroje informací, zkus třeba:

Popis Pascalu...

Algoritmizace a několik vyřešených úloh v Pascalu...

Nahlásit jako SPAM
IP: 88.103.228.–
David
~ Anonymní uživatel
177 příspěvků
20. 5. 2015   #10
-
0
-

Omlouvám se, ale až teď jsem si všimnul, že mám v zadání chybu, mám tam napsané, že je pouze jedna trojice, avšak správně je zadáváno n trojic, které jsou ukončené trojicí nul

Nahlásit jako SPAM
IP: 46.33.101.–
JoDiK
~ Anonymní uživatel
987 příspěvků
20. 5. 2015   #11
-
0
-

#10 David
My víme, to je zadání, které se na školách používá furt dokola...

Spiš dej vědět, jak jsi daleko a s čím konkrétně si nevíš rady...

Nahlásit jako SPAM
IP: 88.103.228.–
David
~ Anonymní uživatel
177 příspěvků
22. 5. 2015   #12
-
0
-

Určitě jsem něco dám, ale nevím jak udělat, aby se načítání ukončilo po zadání 3x 0

Nahlásit jako SPAM
IP: 46.33.101.–
JoDiK
~ Anonymní uživatel
987 příspěvků
22. 5. 2015   #13
-
0
-

#12 David
No vzhledem k tomu, že budeš načítat údaje po trojicích, tak snad načítání ukončíš až budou všechny tři nulový ne?

Např.:

readln(zclj,zmat,zprog);

if zclj+zmat+zprog=0 then muzeme_koncit

Nahlásit jako SPAM
IP: 88.103.228.–
David
~ Anonymní uživatel
177 příspěvků
22. 5. 2015   #14
-
0
-

Zatím jsem udělal toto, nevím zda funguje

program trojice;
var znam: record cj: integer;
                  mat: integer;
                  prg: integer;
                  end;
    prum: real;
    a: record cj: integer;
            mat: integer;
            prg: integer;
    jedn, n, dob, prop: integer;

begin
    with a do begin
                    mat:0;
                    cj:=0;
                    prg:=0;
                end;
    prum:=0;
    n:=0;
    jedn:=0;
    dob:=0;
    prop:=0;
    write("Zadej známky jednotlivých žáků, ukončených čísly 0-0-0:");
    repeat 
        with znam do begin
                        n:= n+1;
                        (n,". tý žák");
                        write("Známka z matematiky:");
                        readln(mat);
                        while mat = 1 do a.mat:=a.mat + 1;
                        write("Známka z češtiny:");
                        readln(cj);
                        while cj = 1 do a.cj:=a.cj + 1;
                        write("Známka z programování:");
                        readln(prg);
                        while prg = 1 do a.prg:=a.prg + 1;
                        prum:= prum + prg;
                        while (mat <= 3) or (cj <= 3) or (prg <= 3) do  dob:= dob +1;
                        while (mat = 5) or (cj = 5) or (prg = 5) do  prop:= prop +1;
                        while (mat = 1) and (cj = 1) and (prg = 1) do  jedn:= jedn +1;
                    end;
    until (znam.mat = 0) and (znam.cj = 0) and (znam.prg = 0);
    prum:= prum/n;
    write("Průměr třídy z programování je :", prum);
    with a do begin
                    write("Jedničku z matematiky má", mat," žáků.");
                    write("Jedničku z češtiny má", cj," žáků.");
                    write("Jedničku z programování má", prg," žáků.");
                    write("Jedničku ve všech předmětech má", jedn," žáků.";
                    write(dob," žáků nemá ani 4 ani 5.");
                    write(prop," žáků propadá.");
                end;
    readln;
end.

Nahlásit jako SPAM
IP: 46.33.101.–
David
~ Anonymní uživatel
177 příspěvků
23. 5. 2015   #15
-
0
-

Může to někdo zkusit? nefunguje mi turbopascal..

Nahlásit jako SPAM
IP: 46.33.101.–
JoDiK
~ Anonymní uživatel
987 příspěvků
24. 5. 2015   #16
-
0
-

Dnes je (skoro) všechno onliine...

https://ideone.com/

Nahlásit jako SPAM
IP: 88.103.228.–
JoDiK
~ Anonymní uživatel
987 příspěvků
24. 5. 2015   #17
-
0
-

#16 JoDiK
A až si například v těch materiálech, co jsem ti dal odkazy, nastuduješ k čemu slouží jednotlivé příkazy, tak to možná i dotáhneš do konce...

Dejme tomu, že se do proměnné mat načte hodnota 1:

readln(mat);
while mat = 1 do a.mat:=a.mat + 1;

takže dokud je mat=1 tak to má k proměné a.mat přičítat jedničku? Jako donekonečna? To v počítači nefunguje, způsobí to chybu přetečení... Podívej se prosím na skutečný význam příkazu while - do a používej ho k tomu, k čemu je určen...

Nahlásit jako SPAM
IP: 88.103.228.–
miHan0
Návštěvník
25. 5. 2015   #18
-
0
-
Nahlásit jako SPAM
IP: 88.146.182.–
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, 7 hostů

Podobná vlákna

Ročníková práce — založil Vincek

Ročníková práce — založil Sopta

Rocnikova praca — založil Santas

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ý