[ 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 | 1
NapísalOffline : 08.05.2013 15:29 | turbo pascal

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 | 3
NapísalOffline : 08.05.2013 15:36 | turbo pascal

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 | 1
Napísal autor témyOffline : 08.05.2013 15:45 | turbo pascal

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 | 3
NapísalOffline : 08.05.2013 15:52 | turbo pascal

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 | 1
Napísal autor témyOffline : 08.05.2013 15:59 | turbo pascal

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 | 3
NapísalOffline : 08.05.2013 16:04 | turbo pascal

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 | 1
Napísal autor témyOffline : 08.05.2013 17:30 | turbo pascal

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 | 3
NapísalOffline : 08.05.2013 17:34 | turbo pascal

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 | 1
Napísal autor témyOffline : 08.05.2013 17:40 | turbo pascal

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 | 3
NapísalOffline : 08.05.2013 17:47 | turbo pascal

Á, 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 | 2
NapísalOffline : 08.05.2013 21:06 | turbo pascal

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.


 [ Príspevkov: 11 ] 


turbo pascal



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 Ostatné

0

473

19.12.2014 13:18

Styracoz

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

Turbo Pascal

v Ostatné

1

4282

01.09.2007 18:55

cr3at0r

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

turbo pascal

v Ostatné

3

1074

24.12.2007 23:00

TrSek

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

turbo pascal 64 bit

v Ostatné

10

886

09.11.2011 8:56

coldak

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

Turbo pascal na viste

v Ostatné

3

774

01.10.2008 16:47

molotow

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

Turbo pascal na w7 x64

v Ostatné

5

1463

11.04.2010 12:56

ado21

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

Kde si stiahnem program Turbo Pascal?

v Ostatné

9

2497

11.03.2024 7:41

tatko Tom

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

Osetrenie vyjdenie z drahy (turbo pascal)

v Ostatné

11

891

14.12.2008 11:54

Blackshadow

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

Turbo Pascal 7 na Win XP 32

v Ostatné

1

642

09.12.2010 7:44

coldak

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

tcom z turbo 2 na turbo 3

v Siete

0

620

14.03.2011 18:56

labtec222

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

Turbo 3

v Sieťové programy

9

455

28.01.2012 13:51

prekto

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

MSI turbo

v Notebooky a netbooky

3

550

28.09.2008 13:47

Jaro

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

Turbo boost

v Intel

9

798

03.03.2016 22:59

FlanK3r

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

Turbo Boost

v Intel

1

549

30.03.2012 22:06

MichalkOOo

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

Turbo 4

v Sieťové programy

5

443

10.10.2011 19:13

nBXXL

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

Turbo 3

v Siete

8

902

30.06.2008 11:17

Skyro



© 2005 - 2026 PCforum, edited by JanoF