Matematické Fórum

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

#1 01. 06. 2010 20:19

Templarius
Zelenáč
Příspěvky: 18
Reputace:   
 

Úlohy v Pascalu

Zdravím,

nedávno jsem začali probírat programovací jazyk Pascal a moc jsem se s ním zatím nezkamarádil.
Rád bych uvítal nějaké rady k základní syntaxi a také bych potřeboval pomoci s pár úlohama, které bych chtěl zkusit.
Nechci po vás, aby jste mi vše udělaly, ale aby jste mi pomohli a poradili, abych mohl zkoušet něco sám.


Díky

1)Vytvořte program v Pascalu, který provede vybranou početní operaci:
- uživatel zadá dvě čísla
- uživatel zadá pomocí písmene početní operaci
- program vypíše výsledky vybrané početní operace

2)
Vytvořte program v pascalu, který provede aritmetický průměr ze zadávaných čísel.
- uživatel zadá libovolný počet čísel
- zadávání ukončí zadáním čísla 0
- program vypočítá aritmetický průměr zadaných čísel


3)Vytvořte program v pascalu, který spočítá N faktoriál ze zadaného čísla.
- uživatel zadá číslo
- program vypíše faktoriál zadaného čísla


4)Vytvořte program v Pascalu, který spočítá mocninu čísla x na n-tou.
- uživatel zadá číslo x
- uživatel zadá mocninu n
- program vypíše výsledek výpočtu xn

Offline

  • (téma jako vyřešené označil(a) gladiator01)

#2 01. 06. 2010 20:41 — Editoval gladiator01 (04. 06. 2010 16:51)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Úlohy v Pascalu

1)
Ty dvě čísla si uložíš do proměnných a pomocí switch (třeba) budeš testovat co za operaci se má provést.
Např. máš 1 a 2 a +,
tedy x=1, y=2
a ve switchi budeš mít větev +, která bude vracet vysledek=x+y

2)
Ve for cyklu budeš načítat čísla a rovnou je sčítat, zároveň si budeš ukládat počet čísel (k nějaké proměnné se bude při každém průchodu cyklem přičítat jednička), když uživatel zadá nulu, tak se cyklus ukončí a součet čísel se vydělí počtem (když není započítána 0,jinak počet-1).

3)
tady je faktorial v c-čku, tak se inspiruj je to podobné

4)
buťto budeš n-krát násobit to číslo samo sebou (a^3 = a*a*a) (zase v nějakém cyklu) nebo použiješ knihovní funkci (jestli existuje, něco jako pow nebo podobně)


Kód ti žádný psát nebudu poněvadž v pascalu nedělám, tak třeba někdo jiný.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#3 01. 06. 2010 21:28 — Editoval hradecek (01. 06. 2010 21:41)

hradecek
Příspěvky: 772
Pozice: Student
Reputace:   25 
Web
 

Re: Úlohy v Pascalu

1.)
Vytvoríš si tri premenné, napríklad x a y a budú typu integer, a premennú volba typu char.
Pomocou príkazu pre vstup (z klávesnice) readln resp. read získaš hodnoty premenných x a y.
Za pomoci príkazu CASE ... OF zistíš akú operáciu si užívateľ vybral, a vykoná sa konkrétna operácia...
Napríklad:

Code:

CASE volba OF
  'A', 'a' : writeln(x, ' + ', y, ' = ', x + y);
  'B', 'b' : writeln(x, ' - ', y, ' = ', x - y);
  ....
  ....
  END;

2.)
Vytvoríš si premenné x, sucet a pocet... !!! nezabudni inicializovať sucet a pocet na 0 !!! ...
Pomocou cyklu while stanovíš podmienku, a pri telo cyklu bude obsahovať vstup pre hodnotu x, zvýšenie premennej sucet o x, a zvýšenie premennej počet o 1...
Priemer vypočítaš a vypíšeš...
Príklad:

Code:

sucet:= 0;
pocet:= 0;
while(x <> 0) do
  begin
    readln(x);
    sucet:= sucet + x;
    pocet:= pocet + 1;
  end;
  write('Priemer je ', sucet div pocet);

3.)
4.) O niečom ako pow (teda power) v pascale neviem, ale to by sme si moc uľachčili :)))
Zase použiješ cyklus...


Netrápte sa nad svojimi problémami s matematikou, môžem vás uistiť, že tie moje sú ešte väčšie. ~~Albert Einstein~~
Jak spozná člověk, že není pitomec ? - Moudrý člověk to nepozná nikdy a blbci je to jedno. ~~Jak přicházejí básnici o iluze~~
Někteří lidi se nikdy nezmění. Anebo se rychle změní a pak se zase rychle změní nazpátek. ~~Homer Simpson~~

Offline

 

#4 01. 06. 2010 23:51 — Editoval RePRO (01. 06. 2010 23:54)

RePRO
Místo: Jihlava
Příspěvky: 363
Škola: AI VŠPJ (09-12, Bc.)
Pozice: programátor
Reputace:   11 
Web
 

Re: Úlohy v Pascalu

Při druhé mocnině se dá v Pascalu využít funkce SQR, která vrací umocněné číslo. Pokud napíšeš: a:= sqr(5);, tak v proměnné a budeš mít hodnotu 25. Při vyších mocninách se dá použít ten FOR cyklus, jak píše gladiator01.


Srdcem trochu-programátor, duší rádoby-matematik a povoláním analytik-vývojář.

Offline

 

#5 02. 06. 2010 11:44 — Editoval gladiator01 (02. 06. 2010 15:12)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Úlohy v Pascalu

Nebo to mocnění můžeš udělat takto:

We want z = x^y

Take natural logs of both sides to get

ln z = y * ln x

Now if we use Exp on both sides we get the desired result z because

z = Exp(Ln z) = Exp(y* Ln x)

So the pascal function to get x^y is this:

function PowerFn (number, exponent: float): float;
begin
PowerFn := Exp(Exponent*Ln(Number));
end;

where Exponent = y and Number = x

zdroj a zde jsou další matematické fce


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#6 03. 06. 2010 11:54

Honzc
Příspěvky: 4592
Reputace:   243 
 

Re: Úlohy v Pascalu

↑ hradecek:
K př.2:
Z čeho budeš to x číst, když ho nikde nezadáváš?
Tedy já bych použil funkci repeat asi takto:
sucet:= 0;
pocet:= 0;
repeat
   WriteLn('Zadej číslo: ');
   Readln(x);
   sucet:= sucet + x;
   pocet:= pocet + 1;
until x=0;
  WriteLn('Priemer je ', sucet/(pocet-1));

Online

 

#7 03. 06. 2010 14:41 — Editoval gladiator01 (03. 06. 2010 14:44)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Úlohy v Pascalu

↑ Honzc:
Neprogramuji v pascalu, ale neslouží pro načtení do proměnné to Readln(x); to tam hradecek má.
A když už rýpeš, tak to WriteLn('Zadej číslo: '); nechceš přece opakovat s každým průchodem, tak proč je uvnitř cyklu?
A ohledně to typu cyklu, to je asi jedno, který použiješ.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#8 03. 06. 2010 16:20 — Editoval hradecek (03. 06. 2010 20:59)

hradecek
Příspěvky: 772
Pozice: Student
Reputace:   25 
Web
 

Re: Úlohy v Pascalu

↑ Honzc:
Zrejme si prehliadol ale to readln(x) tam je, a urobil si úplne to isté čo ja, ibaže s cyklom s podmienkou na konci...v tomto prípade je jedno kde podmienku testuješ či na konci alebo na začiatku...
Okrem readln tam chýba ešte strašne veľa vecí (deklarácia premenných, začiatok tela, koniec tela hlavnej funkcie...).


Netrápte sa nad svojimi problémami s matematikou, môžem vás uistiť, že tie moje sú ešte väčšie. ~~Albert Einstein~~
Jak spozná člověk, že není pitomec ? - Moudrý člověk to nepozná nikdy a blbci je to jedno. ~~Jak přicházejí básnici o iluze~~
Někteří lidi se nikdy nezmění. Anebo se rychle změní a pak se zase rychle změní nazpátek. ~~Homer Simpson~~

Offline

 

#9 03. 06. 2010 20:52

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Úlohy v Pascalu

hradecek napsal(a):

↑ Honzc:
A predsa si povedal že nechceš celé programy ;-), okrem readln tam chýba ešte strašne veľa vecí (deklarácia premenných, začiatok tela, koniec tela hlavnej funkcie...), ale myslel som že máš dostatok IQ aby si to pochopil :-P.

Myslím že pláčeš na špatném hrobě autorem dotazu neni Honzc , ale Templarius.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#10 03. 06. 2010 20:58 — Editoval hradecek (03. 06. 2010 20:59)

hradecek
Příspěvky: 772
Pozice: Student
Reputace:   25 
Web
 

Re: Úlohy v Pascalu

↑ gladiator01:
Aha to som si nevšimol :)))...díky za pripomienku...
Takže sa ↑ Honzc: ospravedlnujem za menšie podpichnutie :))


Netrápte sa nad svojimi problémami s matematikou, môžem vás uistiť, že tie moje sú ešte väčšie. ~~Albert Einstein~~
Jak spozná člověk, že není pitomec ? - Moudrý člověk to nepozná nikdy a blbci je to jedno. ~~Jak přicházejí básnici o iluze~~
Někteří lidi se nikdy nezmění. Anebo se rychle změní a pak se zase rychle změní nazpátek. ~~Homer Simpson~~

Offline

 

#11 04. 06. 2010 09:34 — Editoval Honzc (04. 06. 2010 09:55)

Honzc
Příspěvky: 4592
Reputace:   243 
 

Re: Úlohy v Pascalu

↑ gladiator01:
Píšeš:
"Neprogramuji v pascalu, ale neslouží pro načtení do proměnné to Readln(x);  to tam hradecek má.
A když už rýpeš, tak to WriteLn('Zadej číslo: '); nechceš přece opakovat s každým průchodem, tak proč je uvnitř cyklu? "
Tak si to rozebereme:
1.ReadLn opravdu slouží pro čtení hodnoty proměnné. To mu ji ale musíš nejdřív zadat.
2.V zadání stojí, že průměr se má dělat ze zadávaných čísel. Tak tedy opravdu při
   každém průchodu se bude jedno číslo zadávat. A zadávání a tím i cyklus se ukončí, až se
   ti uráčí zadat 0 (v souladu se zadáním)
   Pozn.: Jinak, když WriteLn nebude v cyklu, tak jak ta čísla budeš tedy zadávat?
             Cyklus while se dá použít, ale program bude složitější (delší)
Takhle kratký je s repeat

program Prumer;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var p: Integer;
    s,x: Extended;
begin
  s:= 0;
  p:= 0;
  repeat
    WriteLn('Zadej cislo: ');
    Readln(x);
    s:= s + x;
    p:= p + 1;
  until x=0;
  WriteLn('Prumer je: ', Format('%.2f',[s/(p-1)]));
  ReadLn;
end.

Online

 

#12 04. 06. 2010 12:33 — Editoval gladiator01 (04. 06. 2010 16:52)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Úlohy v Pascalu

↑ Honzc:

1.ReadLn opravdu slouží pro čtení hodnoty proměnné. To mu ji ale musíš nejdřív zadat.
2.V zadání stojí, že průměr se má dělat ze zadávaných čísel. Tak tedy opravdu při
   každém průchodu se bude jedno číslo zadávat. A zadávání a tím i cyklus se ukončí, až se
   ti uráčí zadat 0 (v souladu se zadáním)
Pozn.: Jinak, když WriteLn nebude v cyklu, tak jak ta čísla budeš tedy zadávat?

ad Pozn) WriteLn('zadej číslo'); snad vypíše jenom popisek "zadej číslo", ne? Takže tam je jen kvůli estetice a nemá žádný význam.

ad2) edit

A takhle kratký je s while, když si spočítáš řádky tak tam je jen o jeden víc :).

Code:

program Prumer;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var p: Integer;
    s,x: Extended;
begin
  s:= 0;
  p:= 0;
  x:=1;
 WriteLn('Zadej cisla oddelena entrem, pro konec zadej 0: ');
   while(x <> 0) do
    begin
     Readln(x);
     s:= s + x;
     p:= p + 1;
   end;
  WriteLn('Prumer je: ', Format('%.2f',[s/(p-1)]));
  ReadLn;
end.

Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#13 04. 06. 2010 13:34

Honzc
Příspěvky: 4592
Reputace:   243 
 

Re: Úlohy v Pascalu

↑ gladiator01:

1.Já jsem si na rozdíl od tebe ten můj program odzkoušel (i když jsem si vědom, že píšeš v C)
   Protože, to co jsi napsal skončí tak, že se vypíše:
   Zadej cisla, pro konec zadej 0:
   Prumer je: 0.00
   a nic tě to nenechá napsat, nebo lépe řečeno nechá, ale pak už nic nespočítá.
   Oprava: vložit řádek: x := 1;
2."Já teda napíšu pět čísel a nulu a potom teprve stisknu enter."
   Tomu zase nerozumím já, jak je tedy budeš bez Enteru zadávat. Co budeš psát mezi
   jednotlivými zadávanými čísly? Při zadávání musíš mezi jednotlivými čísly dávat Enter
   (to je psát čísla na samostatný řádek) - alespoň si myslím.
3.Tvůj program s mojí opravou bude mít o jeden řádek víc než ten můj.

Online

 

#14 04. 06. 2010 14:16 — Editoval gladiator01 (04. 06. 2010 14:58)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Úlohy v Pascalu

Honzc napsal(a):

↑ gladiator01:
   Tomu zase nerozumím já, jak je tedy budeš bez Enteru zadávat. Co budeš psát mezi
   jednotlivými zadávanými čísly? Při zadávání musíš mezi jednotlivými čísly dávat Enter
   (to je psát čísla na samostatný řádek) - alespoň si myslím.

A to pascal nezná mezery( př. vstupu: 1 2 0 enter)? A všechny proměnné musíš na začátku inicializovat, že to hned skončí?


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#15 04. 06. 2010 14:30

Honzc
Příspěvky: 4592
Reputace:   243 
 

Re: Úlohy v Pascalu

↑ gladiator01:
"Náš" (není to můj) skvělý Pascal opravdu neumí číst mezery mezi čísly na jednom řádku.
Pokud to napíšeš s mezerami, tak vezme jenom první číslo.
Samozřejmě, že by se to dalo napsat na jeden řádek a pomocnou funkci z toho vytahat jednotlivá čísla (jako oddělovač by mohla být ta mezera), ale to by bylo složitější a pro začátečníka těžko proveditelné.
Proměnné se všechny na vstupu nemusí inicializovat, ale pak jsou automaticky nastaveny na 0 (pokud jsou to čísla)-to zde ovšem při tvém řešení je právě na závadu.

Online

 

#16 04. 06. 2010 14:44 — Editoval LukasM (04. 06. 2010 14:54)

LukasM
Příspěvky: 3274
Reputace:   193 
 

Re: Úlohy v Pascalu

Zdravím. Nevím, ale myslím že o tohle tu Templarius tak úplně nestojí. Já to vidím asi takhle:

↑ gladiator01:
Nadávat na Pascal protože ho neznáš není úplně ideální. Náš (čí vlastně?) Pascal funguje tak jak funguje, a mezery tam takhle použít nejde, pokud já vím. Proměnné se v Pascalu inicializují ze slušnosti, jinak mají výchozí hodnoty nula. Mám nejistý pocit, že inicializovat proměnné v Cčku je také víc než vhodné, jak doufám potvrdí nějaký místní znalec.

↑ Honzc:
I když máš pravdu, nepřeháněl bych to se sebejistotou. Repeat například není funkce (jak píšeš v příspěvku #6) a bod 1 v příspěvku #11 mi osobně nedává smysl. V tom původním hradeckove kódu bylo readln použito naprosto stejně jako v tom tvém a správně. Naopak na to, že hradecek používá celočíselné dělení (které se sem nehodí), a že musí snížit hodnotu proměnné počet, aby nezapočítal i tu ukončovací nulu (ačkoli, podle zadání vlastně není jasné jestli se započítávat nemá) nikdo neupozornil. (Edit: abych nekřivdil gladiátorce, teď vidím že tenhle problém zmínila už ve druhém příspěvku).

A hádat se o počet řádků, to doufám nemyslíte vážně.

Offline

 

#17 04. 06. 2010 15:16

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Úlohy v Pascalu

↑ LukasM:
Omlouvám se, přehnala jsem to. To to zkouškové :).
Samozřejmě, že je vhodné inicializovat proměnné, ale tady v tom případě se nic nestane v x by bylo prostě nějaké náhodné číslo.

Honzc ze sebe nemá dělat odborníka - když si myslí, že bez popisku (že mam zadat číslo) se mu nic nenačte, tak to s ním bude asi špatné.

↑ Honzc:
Možná bychom tuto diskuzy mohly od tvého #6 přispěvku smazat.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#18 08. 06. 2010 20:50 — Editoval gladiator01 (08. 06. 2010 20:52)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Úlohy v Pascalu

2. př.: příspěvěk #11 nebo #12

3.př.: příspěvek #5

1. a 4. zkus sám (pro 4. máš inspiraci zde (scanf-načtení proměnné, printf - výpis, do-while je snad jasné,
for nahradis for i:=1 to n do begin factorial=i*factorial; end;)


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#19 08. 06. 2010 20:51

LukasM
Příspěvky: 3274
Reputace:   193 
 

Re: Úlohy v Pascalu

↑ Bajro:
A co se to začít učit sám hned? Nápověd už tady pár padlo.. Co dělá problémy?

Offline

 

#20 10. 06. 2010 18:36

Templarius
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Úlohy v Pascalu

Bohužel, když jsem zadal příklad do Pascala, nefunguje to. Někdo tu něco říkal o mezerách, že se nedělají mezerníkem atd. Možná too píši blbě.
Poraďte mi nějak, jak to přepsat do Pascala. Možná mám špatné závorky, nevím.
Byl bych moc rád, kdybyjste mi udělaly první dva příklady. Budu moc vděčný. A kdybyjste to napsali, abych to pochopil. V pascallu jsem obyčejný laik. díky

Offline

 

#21 10. 06. 2010 19:10

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4246
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Úlohy v Pascalu

↑ Templarius: Zdravím. Taková dobrá zásada: pokud na tebe Pascal něco při překladu křičí, tak to opiš na fórum. Jinak v klasickém TurboPascalu / BorlandPascalu vynech

Code:

{$APPTYPE CONSOLE}

uses
  SysUtils;

a to Format('%.2f',[s/(p-1)]) možná taky nepoběží, zkus místo toho jen (s/(p-1)).


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#22 10. 06. 2010 20:36 — Editoval hradecek (10. 06. 2010 20:51)

hradecek
Příspěvky: 772
Pozice: Student
Reputace:   25 
Web
 

Re: Úlohy v Pascalu

Takže 2.)

Code:

PROGRAM aritmeticky_priemer;
USES crt;
VAR sucet, pocet, x : integer;

BEGIN
  ClrScr;
  sucet:= 0;
  pocet:= 0;
  while(x <> 0) do
    begin
      readln(x);
      sucet:= sucet + x;
      pocet:= pocet + 1;
    end;
  write('Priemer je ', sucet div pocet);

readln;
END.

USES crt; - je to tam kvôli príkazu ClrScr, ktorý pri každom spustení, vymaže všetko čo sa nachádza na obrazovke -> nezostane tam nič z predošlého spustenia...
Dátový typ záleží na tebe, myslím že pre naše potreby postačí integer.
Na veľkosti písmen v jazyku ako Pascal nezáleží, teda príkaz while môžeš zapísať aj While, wHIle, whIle, whiLE...
Nezáleží ani na medzerách, tabulátoroch, enteroch a pod...prekladaču to môžeš napísať aj do jedného riadku...je dobré si uvedomiť, že zdroják píšeš pre ľuďí a nie pre počítač.
Na čom ale záleži je syntax...teda begin \neq bgin, readln \neq rdln bodkočiarky, čiarky, apostropfy atď...


Netrápte sa nad svojimi problémami s matematikou, môžem vás uistiť, že tie moje sú ešte väčšie. ~~Albert Einstein~~
Jak spozná člověk, že není pitomec ? - Moudrý člověk to nepozná nikdy a blbci je to jedno. ~~Jak přicházejí básnici o iluze~~
Někteří lidi se nikdy nezmění. Anebo se rychle změní a pak se zase rychle změní nazpátek. ~~Homer Simpson~~

Offline

 

#23 10. 06. 2010 20:45 — Editoval hradecek (10. 06. 2010 20:58)

hradecek
Příspěvky: 772
Pozice: Student
Reputace:   25 
Web
 

Re: Úlohy v Pascalu

1.)

Code:

PROGRAM mat_operacie;
USES crt;
VAR cislo1, cislo2 : integer;
       volba : char;
BEGIN
  ClrScr;

  write('Zadaj prve cislo: '); readln(cislo1); ClrScr;
  write('Zadaj druhe cislo: '); readln(cislo2); ClrScr;

  writeln('Vyber si operaciu');
  writeln('S - sucet');
  writeln('R - rozdiel');
  ...

  volba:= readkey;
  CASE volba OF
    'S', 's' : writeln('Sucet: ', cislo1, ' + ', cislo2, ' = ', cislo1 + cislo2);
    'R', 'R' : writeln('Rozdiel: ', cislo1, ' - ', cislo2, ' = ', cislo1 - cislo2);
    ...
  END;

  readln;
END.

Tam kde som dal tri bodky, si doplň vlastné mat. operácie, a ten výber môžeš urobiť nejaký krajší...
Namiesto toho volba:= readkey; môžeš použiť aj klasicky readln(volba)...ak ale budeš chcieť použiť readkey musíš pripojiť aj crt...Uses crt;
Načo si dávaj POZOR je že delenie pri celočíselných typoch je div a pri reálnych je /


Netrápte sa nad svojimi problémami s matematikou, môžem vás uistiť, že tie moje sú ešte väčšie. ~~Albert Einstein~~
Jak spozná člověk, že není pitomec ? - Moudrý člověk to nepozná nikdy a blbci je to jedno. ~~Jak přicházejí básnici o iluze~~
Někteří lidi se nikdy nezmění. Anebo se rychle změní a pak se zase rychle změní nazpátek. ~~Homer Simpson~~

Offline

 

#24 10. 06. 2010 21:30

Templarius
Zelenáč
Příspěvky: 18
Reputace:   
 

Re: Úlohy v Pascalu

Tak díky..snad to zvládnu.

Offline

 

#25 10. 06. 2010 22:46

hradecek
Příspěvky: 772
Pozice: Student
Reputace:   25 
Web
 

Re: Úlohy v Pascalu

↑ Templarius:
No myslím, že stlačiť CTRL+C a CTRL+V a F9 zvládne každý :-P
P.S.- Dúfam že tie programy fungujú, neskúšal som ich...


Netrápte sa nad svojimi problémami s matematikou, môžem vás uistiť, že tie moje sú ešte väčšie. ~~Albert Einstein~~
Jak spozná člověk, že není pitomec ? - Moudrý člověk to nepozná nikdy a blbci je to jedno. ~~Jak přicházejí básnici o iluze~~
Někteří lidi se nikdy nezmění. Anebo se rychle změní a pak se zase rychle změní nazpátek. ~~Homer Simpson~~

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson