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 24. 11. 2010 14:40

allsucker
Zelenáč
Příspěvky: 14
Reputace:   
 

Delenie cisiel, Pascal

Mam naprogramovat v progame pascal program ktory urcuje celocisleny podiel 2 cisiel teda:
Program přečte dvě celá čísla a vypíše jejich celočíselný podíl. Pokud tato čísla nejdou vydělit (rozmyslete si, kdy není dělení definováno), vypíše "NELZE". Např. pro 9 a 4 je tedy výsledek 2. Potrebujem pomoct kde mam chybu, isiel som na to asi takto :

program delenie;
var a,b,vysledok:integer;
begin
readln (a);
readln (b);
if b=0 then writeln ('NELZE')
else
vysledok := a div b;
writeln (vysledok);
end.

skompiluje sa to v poriadku ,ale asi niekde v algoritme musi byt chyba lebo mi to program do skoly nechce zobrat.Myslim ze to bude niekde v tom kde je delenie definovane. Nevie niekto pomoct?..dakujem

Offline

 

#2 24. 11. 2010 15:14 — Editoval Honza Matika (24. 11. 2010 15:22)

Jan Jícha
Veterán
Místo: Plzeň/Mnichov
Příspěvky: 1801
Škola: ZČU - FST - KMM
Pozice: Safety Engineer
Reputace:   74 
Web
 

Re: Delenie cisiel, Pascal

Code:

Program delenie;
uses wincrt;
var a,b,vysledok:integer;
begin
Writeln('Program vydeli mezi sebou 2 cisla, jestli budes delit nulou, vypise se chyba');
readln (a);
readln (b);
if b=0 then writeln ('NELZE')
else 
begin
vysledok:= a div b;
writeln ('Vysledek je ',vysledok);
end;
readln;
donewincrt;
end.

Mělo by to jít.

Offline

 

#3 24. 11. 2010 15:18

vojta01
Příspěvky: 63
Reputace:   
 

Re: Delenie cisiel, Pascal

Ahoj, příkazy

vysledok := a div b;
writeln (vysledok);

musí být uzavřeny slovy begin a end, aby se v případě, že druhé číslo je nula, nevypsala hodnota proměnné vysledek.

Offline

 

#4 24. 11. 2010 15:26

allsucker
Zelenáč
Příspěvky: 14
Reputace:   
 

Re: Delenie cisiel, Pascal

↑ vojta01:
ahoj, spravil som to ako hovoris ,ale aj tak tam musi byt niekde chyba.Skompiloval som to skolskym systemom a pridelilo mi to len 4 body z 10 ..takze nieco nebude v poriadku.

program delenie;
var a,b,vysledok:integer;
begin
readln (a);
readln (b);
if b=0 then writeln ('NELZE')
else
begin
vysledok := a div b;
writeln (vysledok);
end
end.

A Honza Matika , ty si spravil ten isty program ako ja len si tam zadal writeln co neni potrebne.Otazka je asi ci celociselne delenie nie je definovane iba ked sa deli 0...neviem kde by uz mohla byt chyba inde..navrhy ??

Offline

 

#5 24. 11. 2010 15:52

allsucker
Zelenáč
Příspěvky: 14
Reputace:   
 

Re: Delenie cisiel, Pascal

↑ vojta01:

program delenie;
var a,b,vysledok:integer;
   
BEGIN
repeat
readln(a);
  readln(b);
begin
vysledok:=a div b;
writeln(vysledok);
end
until b = 0;
if b = 0 then write ('NELZE');
  end.

toto zas neviem opravit tak aby sa nedelilo 0 stale sa to da :( ..asi to nebude dobry postup...kks primitivna uloha a take problemy....navrhy ako to pozmenit ??

Offline

 

#6 24. 11. 2010 16:03

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

Re: Delenie cisiel, Pascal

↑ allsucker:
Ten kód cos poslal v 15.52 je blbě, tu podmínku do něj dopsat klidně můžeš, ale ne tam kam jsi ji dal. Musí být v těle cyklu tak, aby se pro b=0 neprovedlo to dělení samotné. Takhle je to trochu s křížkem po funuse, když ti někdo zadá b=0, tak se dělení "provede" a teprve potom by se cyklus ukončil. Ale nevím proč tam cpát cyklus, v zadání nic takového není.

Ten kód z 15.26 se mi zdá v pořádku, akorát za předposledním ENDem by měl být středník, nevím jak se k tomu který kompilátor staví.

Problém bude podle všeho ve "skolskem systemu", tak jak je ten kód napsaný by měl jít v normálním překladači přeložit a program pracovat. Co hodnotí ten váš systém a jak, to můžu jen hádat.

Offline

 

#7 24. 11. 2010 16:10

allsucker
Zelenáč
Příspěvky: 14
Reputace:   
 

Re: Delenie cisiel, Pascal

↑ LukasM:
no ten cyklus som nepisal uz len som vymyslal ze co ako to este moze byt, ale nechapem to..preco mi to neda max pocet bodov..odozdaval som to s endom aj so strednikom aj bez neho vkuse 40 percent len. nechapem...zeby bolo celociselne delenie nedefinovane aj niekde inde ako 0 ?:D..nechapem uz co si mam o tom mysliet...

Offline

 

#8 25. 11. 2010 18:17

Majki
Příspěvky: 120
Reputace:   
 

Re: Delenie cisiel, Pascal

↑ allsucker:
zdravím hele na jakou školu chodíš?

jestli na tu stejnou co ja tak sem to udělal takto a hodilo mi to 100%

program deleni;
var cislo,delitel:integer;
begin
    read(cislo);
    read(delitel);
            if delitel=0 then
                write('NELZE')
            else
                begin;
                write(cislo div delitel);
                end;
end.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson