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

Závěrečná práce – Pascal – Fórum – Programujte.comZávěrečná práce – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Honza
~ Anonymní uživatel
393 příspěvků
11. 5. 2011   #1
-
0
-

Zdravím vás :) ... Mám dělat závěrečnou práci. Zadání zní:
Vytvořte program s následující nabídkou:

a) Průměr známek

Vyhodnoťte klasifikaci z jedné písemné práce ve třídě. Je dán počet žáků a dále výsledná známka každého z žáků. Ošetřete zadání tak,
aby bylo možné zadat pouze známky v rozsahu <1;5>. Pro ostatní případy uživatele upozorněte např.: "Chybné zadání".
Určete počty žáků klasifikovaných jednotlivými známkami a průměr celé třídy.

b) Načtěte do pole N čísel. Vytvořte statistiku, kolikrát se opakují stejná čísla.

c) Ukončení Programu


Program mám napsany, ale jde mi o to, te kdyz zadam, ze chci jednicku, udela se program jedna, a pak zvolim ze ho nechci opakovat, tak bych chtel aby se miu to vratilo zase na to MENU... Jen nevim jak tam davat ty repeaty, a kam ty podminky, poradite?

program zaver;

uses wincrt;
type data = array [1..50] of integer;
var b,c:real;
pole,npole:array[0..500] of integer;
i,v,n,p1,p2,p3,p4,p5,h:integer;
a : data;
begin

Writeln('*********************************');
Writeln('********** M E N U **********');
Writeln('*********************************');
writeln;
writeln('1. Písemná práce');
Writeln('2. Pole');
writeln('3. Ukončit program');
Writeln;
repeat
Write('Zadejte číslo ');
readln(v);
IF ((v<>1) and (v<>2) and (v<>3)) then
writeln('Muzes zadat pouze cisla 1,2 nebo 3');
until ((v=1) or (v=2) or (v=3));
case v of 1:

begin
p1:=0; p2:=0; p3:=0; p4:=0; p5:=0;
repeat


Writeln('Tento program vyhodnotí písemnou práci ve třídě.');
writeln('Je dán počet žáku ve třídě a známka každého studenta.');
Writeln('Program poté vypíše počet žáku klasifikovaných jednotlivými známkami.');
writeln('Rovněž zjistí celkový průměr z celé třídy.');
writeln;

repeat
write('Zadejte počet žáku ve třídě ');
readln(n);
IF n<=0 then writeln('Zadal jsi špatné číslo, počet nemůže být nulový nebo zaporný.'); writeln;
until n>0;

For I:=1 to n do begin
repeat
write('Zadejte výslednou známku ',I,'. žáka '); readln(A[i]);
IF ((a[i]<>1) and (a[i] <>2) and (a[i] <>3) and (a[i] <>4) and (a[i] <>5))
then begin writeln('Chybné zadání, známku lze zadat v intervalu <1;5>.'); writeln; end;
until ((a[i]=1) or (a[i] =2) or (a[i] =3) or (a[i] =4) or (a[i] =5));
if a[i]=1 then p1:=p1+1;
if a[i]=2 then p2:=p2+1;
if a[i]=3 then p3:=p3+1;
if a[i]=4 then p4:=p4+1;
if a[i]=5 then p5:=p5+1;
end;
writeln;
writeln('************************************');
writeln('* *');
writeln('* Známku 1 dostalo celkem ',p1,' žáku *');
writeln('* Známku 2 dostalo celkem ',p2,' žáku *');
writeln('* Známku 3 dostalo celkem ',p3,' žáku *');
writeln('* Známku 4 dostalo celkem ',p4,' žáku *');
writeln('* Známku 5 dostalo celkem ',p5,' žáku *');
writeln('* *');
writeln('************************************');
writeln;
writeln('Celkový průměr známek ve třídě je ',((p1*1+p2*2+p3*3+p4*4+p5*5)/n):3:2);
writeln;
writeln('Pokud chcete ukoncit program Písemná Práce zmáčkněte 1');
writeln('Pokud zadáte libovolnou klávesu kromě 1, program Písemná Práce se restartuje');
write('Zadejte číslo ');
readln(b);
until b=1;
end;

2:
begin
repeat
Writeln('Načtěte do pole N čísel, program poté vypíše, kolikrát se dané číslo opakuje');
Writeln;
repeat
write('Zadejte počet prvků pole: '); {Zjisteni poctu prvku}
readln(N);
IF n <=0 then writeln('Zadat lze pouze čísla kladná nenulová čísla');
until n>0;
writeln;
for i:=0 to N-1 do begin {Nacitani hodnot do pole}
write('Zadejte ',i+1,'. číslo: ');
readln(pole[i]);
end;
for i:=0 to N-1 do inc(npole[pole[i]]); {Navysovani hodnot v novem poli}
writeln;
for i:=0 to 100 do begin {Vypis hodnot na nenulovych pozicich noveho pole}
if npole[i]>0 then writeln(i,' - ',npole[i],'x');
end;
writeln('Pokud chcete program Pole ukončit, zmáčkněte jedničku.');
writeln('Pokud zadáte jiné číslo než jedna, program se restartuje.');
write('Zadej číslo ');
readln(h);
until (h=1);
end;

3: writeln('konec programu');


end;
end.

Nahlásit jako SPAM
IP: 217.194.170.–
Reklama
Reklama
nervak0
Věrný člen
11. 5. 2011   #2
-
0
-

To je nějaké divné. Máš tam těch cyklů docela dost a najednou nevíš jak jeden přidat?

Nahlásit jako SPAM
IP: 213.211.51.–
JoDiK
~ Anonymní uživatel
981 příspěvků
11. 5. 2011   #3
-
0
-

To Honza :
Když chceš zpátky na menu, tak asi dáš repeat před něj ne?

Nahlásit jako SPAM
IP: 88.103.236.–
Honza
~ Anonymní uživatel
393 příspěvků
11. 5. 2011   #4
-
0
-

No jasný, že před začátek MENU. Ale nevim, kam mám dát tu podmínku until...

Nahlásit jako SPAM
IP: 217.194.170.–
JoDiK
~ Anonymní uživatel
981 příspěvků
11. 5. 2011   #5
-
0
-

To Honza :
Žeby na místo, odkud se to má vracet před menu?

Nahlásit jako SPAM
IP: 88.103.233.–
Honza
~ Anonymní uživatel
393 příspěvků
12. 5. 2011   #6
-
0
-

uz vim, dal jsem to pred end. a jede to ...

Nahlásit jako SPAM
IP: 217.194.170.–
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, 16 hostů

Moderátoři diskuze

 

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