Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.05.13
Prihlásený: 08.05.13
Príspevky: 5
Témy: 1
Príspevok NapísalOffline : 08.05.2013 15:29

prosím potrebujem pomoc s ulohou do školy máme príklady v programe turbo pascal

1. je dana postupnosť 15 nahodnych cisel, spocitajte kolko z nich je parnych.
2. vytvorte program na vypocitanie priemernej znamky ziakov zo slovenskeho jazyka. 0 a 6 ukonci nacitavanie znamky ziakov. na zaver sa vypise priemerna znamka zo slovenskeho jazyka. ziakov je 10.
3. vytvorte program na vypocet obvodu a obsahu stvorca, povrchu a objemu kocky

a potrebujem ich urobiť tak aby:
-boli pomocou procedur a funkcii
-v hlavnom programe bude len pomocou CASE monost vyberu niektoreho z tych troch programov, mozete si teda vyberať z moznosti a ked nejaku vyberiete vykona sa zadana procedura alebo funkcia
-pri kazdej vetve budete mať aj moznost zadania pismenka, ak napr. zadame pismeno a, tak si znova mozeme vybrať vykonanie nejakehoprikladu, ak zadame pismeno b, program skončí. teda zapis bude asi nasleovný:
if z=a then goto skok
else if z=b then writeln (koniec programu);
-v case pouzite aj vetvu else, ktora ponukne moznost skoku, ak sme stlacili napr ine cislo

prosím vás ak mi to dáky dobrý človek vie vypracovať ja som v tom uplne stratená ://


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 08.05.2013 15:36

Pána, čo je tu toľko žien zrazu? Už tretia registrovaná behom troch dní a kvôli programovaniu... To má nejaká dievčenská trieda na priemyslovke záverečné práce, či čo?

No každopádne celé ti to asi nikto nevypracuje (ibažeby tu bol nejaký zúfalý programátor, ktorý si pomyslí, že náhodná žena z fóra mu za vypracovanie spraví čo bude chcieť)
Za celé zadanie ponúkni nejakú odmenu, alebo sa do toho pusti a môžme to tu poriešiť spolu. Ale s tým, že budeš mať aj ty nejakú iniciatívu a budeš sa tomu venovať :)

Že si v tom úplne stratená? No podmienky očividne používať vieš, tak skús začať, alebo sa spýtaj, čo ti nie je jasné.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.05.13
Prihlásený: 08.05.13
Príspevky: 5
Témy: 1
Príspevok Napísal autor témyOffline : 08.05.2013 15:45

no príklady vypracované mám lenže absolutne to neviem prerobiť do tých funkcíí :/


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 08.05.2013 15:52

To je potom už ľahké :)

Máš k dispozícií procedúry. Tie si môžeš predstaviť jednoducho ako "náhdrada za dlhší úsek kódu"
Ak mám program, ktorý mi vie hľadať v 15ich číslach tie párne, tak zoberiem tie riadky, ktoré toto robia a jednoducho ich prasknem do procedúry.
Tzn. že z kódu napr.
Kód:
Begin
  WriteLn( 'Nieco...' );
  ReadLn( Nieco );
  este nejaky vypocet...
End.

urobím kód:
Kód:
procedure mojaProcedura;
Begin
  WriteLn( 'Nieco...' );
  ReadLn( Nieco );
  este nejaky vypocet...
End; { pozor tu je podkociarka! }

Begin { toto je ten hlavny begin }
  mojaProcedura;
End.


A vykoná to úplne to isté. Akoby som skopíroval kód z procedúry a dal ho fyzicky tam, kde ju volám.
Tu, myslím, budeš potrebovať len procedúry, funkcie asi veľmi nie. Možno na ten priemer, ak tam musí nejaká byť. To spravíme neskôr, keď tak.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.05.13
Prihlásený: 08.05.13
Príspevky: 5
Témy: 1
Príspevok Napísal autor témyOffline : 08.05.2013 15:59

no tu mám príklad na ten priemer

program abc;
uses crt;
var znamka,pocet,sucet:integer;
priemer: real;
begin
clrscr;
writeln('Postupne zadavajte znamky ziakov, ukoncite zadanim 0 alebo 6.');
repeat
readln(znamka);
pocet:=pocet+1;
sucet:=sucet+znamka;
clrscr;
until (znamka=0) or (znamka=6);
priemer:=sucet/pocet;
writeln ('Priemerna znamka zo slovenskeho jazyka je', priemer:0:2,'.');
readln;
clrscr;
writeln('Pre ukoncenie stlacte enter.');
readln;
end.

ak je teda dobre môžeš mi to prerobiť cez funkcie?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 08.05.2013 16:04

Funkcia na to bude vyzerať takto:
Kód:
function spocitajPriemer : Real;
var znamka,pocet,sucet:integer;
  priemer: real;
begin
  clrscr;
  writeln('Postupne zadavajte znamky ziakov, ukoncite zadanim 0 alebo 6.');
  repeat
    readln(znamka);
    pocet:=pocet+1;
    sucet:=sucet+znamka;
    clrscr;
  until (znamka=0) or (znamka=6);
  priemer:=sucet/pocet;

  spocitajPriemer := priemer; { Toto je dlezite! }
end.

Návratovú hodnotu funkcie musíš uložiť do premennej, ktorá má meno rovnaké, ako meno funkcie. Takáto premenná sa vytvorí automaticky (nemusíš ju deklarovať vo var)

V kóde potom hodnotu priradíš premennej jednoducho
piemer := spocitajPriemer;
a môžeš ju veselo vypísať ako výsledok.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.05.13
Prihlásený: 08.05.13
Príspevky: 5
Témy: 1
Príspevok Napísal autor témyOffline : 08.05.2013 17:30

može to byť tak?

program abc;
uses crt;
function spocitajPriemer : Real;
var znamka,pocet,sucet:integer;
priemer: real;
begin
clrscr;
writeln('Postupne zadavajte znamky ziakov, ukoncite zadanim 0 alebo 6.');
repeat
readln(znamka);
pocet:=pocet+1;
sucet:=sucet+znamka;
clrscr;
until (znamka=0) or (znamka=6);
priemer:=sucet/pocet;
spocitajPriemer := priemer;
end;
begin
priemer := spocitajPriemer;
writeln ('Priemerna znamka zo slovenskeho jazyka je', priemer:0:2,'.');
readln;
clrscr;
writeln('Pre ukoncenie stlacte enter.');
readln;
end.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 08.05.2013 17:34

No ak to funguje, tak áno, však? :)







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.05.13
Prihlásený: 08.05.13
Príspevky: 5
Témy: 1
Príspevok Napísal autor témyOffline : 08.05.2013 17:40

no práveže neviem lebo moj windows alebo čo nieje kompatibilný s programom ;) musím to písať len tak vo worde


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 08.05.2013 17:47

Á, to je blbé, to nenapíšeš :D
A mohlo ma to napadnúť, keď máš v názve témy turbo pascal, ten je moc starý.
Stiahni si Free Pascal odtiaľto: http://www.freepascal.org/down/i386/win32-hungary.var alebo priamo ftp://ftp.hu.freepascal.org/pub/fpc/dis ... -win32.exe

Potom, keď si to nainštaluješ, nájdi si adresár, kde to je (typicky to bude niečo ako C:\FPC\2.6.2\bin\i386-win32 ) a nájdi tam fpc.exe
Vytvor si zástupcu tohoto tam, kde máš ten svoj súbor s programom (napr. na ploche, alebo kdekoľvek, klikneš na to pravým, dáš Vytvoriť odkaz a ten tam premiestniš)
Program následne skompiluješ tak, že ho chytíš myšou a normálne presunieš nad ikonku toho fpc.exe (odkazu!!!) a pustíš :) Vytvorí sa ti exe hneď pri tom.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.04.10
Prihlásený: 18.02.14
Príspevky: 47
Témy: 2
Príspevok NapísalOffline : 08.05.2013 21:06

A co takto?
- nespravne vstupy (nie vsade) si osetri sama
Kód:
program ZADANIE;
uses Crt;
const
  generovani = 15; {pocet generovani pre prvu ulohu}
  pocet_ziakov = 10; {pocet ziakov pre priemerovanie}
var
  priemer: array[1..pocet_ziakov] of Real;
  stlkla: Char;
  strana: Real;

function Parne_cisla(pocet: Byte):Byte;
var
  cislo,parne,i: Byte;
begin
  ClrScr;
  Randomize;
  parne := 0;
  for i := 1 to pocet do begin
    cislo := Random(100) + 1;
    Write(cislo,',');
    if (cislo mod 2) = 0 then
      inc(parne)
  end;
  WriteLn;
  Write('pocet parnych cisiel: ');
  Parne_cisla := parne;
end;

procedure Priemerna_znamka(ziakov: Byte);
var
  suma,pocet,i,znamka: Byte;
begin
  for i := 1 to ziakov do begin
    ClrScr;
    pocet := 1;
    suma := 0;
    repeat
      Write('Zadaj ',pocet,'. znamku ',i,'. ziaka: ');
      ReadLn(znamka);
      if (znamka < 6) and (znamka > 0) then begin
        suma := suma + znamka;
        inc(pocet);
      end
      else
        WriteLn('ZLY VSTUP !!!');
    until (znamka = 6);
    priemer[i] := suma / (pocet - 1);
  end;
  ClrScr;
  for i := 1 to ziakov do
    WriteLn('Priemer ',i,'. ziaka: ',priemer[i]:0:2);
  ReadLn;
end;

function Obsah(strana: Real): Real;
begin
  Obsah := strana * strana;
end;

function Objem(strana: Real): Real;
begin
  Objem := strana * strana * strana;
end;

procedure Geometria(strana: Real);
begin
  WriteLn('Obsah stvorca: ',Obsah(strana):0:2);
  WriteLn('Objem kocky so stranou stvorca: ',Objem(strana):0:2);
  ReadLn;
end;

{ HLAVNY PROGRAM }
BEGIN
  repeat
    ClrScr;
    WriteLn('1. parne cisla');
    WriteLn;
    WriteLn('2. priemer znamok ',pocet_ziakov,'. ziakov (6 - koniec)');
    WriteLn;
    WriteLn('3. obvod a obsah stvorca, kocky');
    WriteLn;
    WriteLn('ESC - koniec');
    stlkla := ReadKey;
    case stlkla of
      '1': begin
             WriteLn;
             Write('generovanie: ',Parne_cisla(generovani));
             ReadLn;
           end;
      '2': Priemerna_znamka(pocet_ziakov);
      '3': begin
             ClrScr;
             Write('Zadaj velkost strany: ');
             ReadLn(strana);
             Geometria(strana);
           end;
    end;
  until stlkla = #27;

END.


Odpovedať na tému [ Príspevkov: 11 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Free Pascal a Turbo Pascal

v Assembler, C, C++, Pascal, Java

0

384

19.12.2014 13:18

Styracoz Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Turbo Pascal

v Assembler, C, C++, Pascal, Java

1

4158

01.09.2007 18:55

cr3at0r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. turbo pascal

v Assembler, C, C++, Pascal, Java

3

945

24.12.2007 23:00

TrSek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. turbo pascal 64 bit

v Assembler, C, C++, Pascal, Java

10

773

09.11.2011 8:56

coldak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Turbo pascal na viste

v Assembler, C, C++, Pascal, Java

3

675

01.10.2008 16:47

molotow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Turbo pascal na w7 x64

v Assembler, C, C++, Pascal, Java

5

1356

11.04.2010 12:56

ado21 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kde si stiahnem program Turbo Pascal?

v Assembler, C, C++, Pascal, Java

9

1933

11.03.2024 7:41

tatko Tom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Osetrenie vyjdenie z drahy (turbo pascal)

v Assembler, C, C++, Pascal, Java

11

778

14.12.2008 11:54

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Turbo Pascal 7 na Win XP 32

v Assembler, C, C++, Pascal, Java

1

535

09.12.2010 7:44

coldak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. tcom z turbo 2 na turbo 3

v Siete

0

521

14.03.2011 18:56

labtec222 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Turbo 3

v Sieťové a internetové programy

9

359

28.01.2012 13:51

prekto Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MSI turbo

v Notebooky a netbooky

3

481

28.09.2008 13:47

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Turbo boost

v Intel - Integrated Electronics

9

637

03.03.2016 22:59

FlanK3r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Turbo Boost

v Intel - Integrated Electronics

1

443

30.03.2012 22:06

MichalkOOo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Turbo 4

v Sieťové a internetové programy

5

341

10.10.2011 19:13

nBXXL Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Turbo 3

v Siete

8

809

30.06.2008 11:17

Skyro Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra