Egyszerű számológép, döntést a programozási feladatok
Írj egy programot, amely összeadni, kivonni, szorozni vagy osztani két szám. Száma és jele művelet a felhasználó által megadott. Elvégzése után számítási program nem kell szüntetni, de meg kell kérni az új adatokat a számításokhoz. A program végén fordul elő, ha a „0” az operátor. Ha a felhasználó érvénytelen karaktert (nem „0”, „+”, „-”, „*”, „/”), akkor a program kell tájékoztassa őt a hibát, és ismét kér egy jel működését. Szintén tájékoztatja a felhasználót, hogy lehetetlen a nullával osztani, 0 ha bevezetik a osztó.
Magyarázat a problémát, és algoritmus megoldások
Fuss egy végtelen ciklus.
- Demand művelet bemenő jelet.
- Ha beírja a „0”, a megszakítás ciklus szünet működését.
- Ha az egyik jele a aritmetikai műveletek vezették, attól függően, hogy melyik karakter beírása után hajtsa végre a megfelelő számtani művelet. Ugyanakkor elosztjuk az ellenőrzés során nem került oda, hogy nulla. Ha így van, megjelenik egy üzenet, vagy egy részlege.
- Ellenkező esetben jelentse a helytelen számra.
A forráskód Pascal programozási nyelv
var
x. y. z. igazi;
aláírására. char;
kezdődik
míg Igaz do kezdődik
ír # 40; „Sign” # 41; ; readln # 40; aláír # 41; ;
ha sign = '0' majd a szünet;
Ha Bejelentkezés # 91; '+'. '-'. '*'. '/' # 93; ezután kezdődik
ír # 40; 'X =' # 41; ; readln # 40; x # 41; ;
ír # 40; 'Y =' # 41; ; readln # 40; y # 41; ;
esetében jele
'+'. kezdődik z. = X + Y; writeln # 40; z. 5. 2 # 41; végén;
'-'. kezdődik z. = X - Y; writeln # 40; z. 5. 2 # 41; ; végén;
'*'. kezdődik z. = X * y; writeln # 40; z. 5. 2 # 41; ; végén;
'/'. ha y <> 0, akkor kezdődik
z. = X / y;
writeln # 40; z. 5. 2 # 41;
vég
más
writeln # 40; "Nulla az osztó! # 41; ;
végén;
vég
mást writeln # 40; „Rossz jel!” # 41;
végén;
végén.
Példa (k) a program a nyelvi Pascal
jel: 8
Rossz jel.
jel: 4
Rossz jel.
jel: -
X = 5
y = 6
- 1.00
jel: +
X = 4,45
y = 10,66
15.11
jel: *
X = - 3,4
y = - 67
227,80
jel: /
X = - 78
y = 123
- 0.63
jel: /
X = 9
y = 0
Nullával osztani.
jel: i
Rossz jel.
jel: 0
A forráskód a C programozási nyelv
legfontosabb # 40; # 41; # 123;
float x. y;
char sign = '+';
míg # 40; jelentkezzen! = '0' # 41; # 123;
printf # 40; "Zodiac" # 41; ;
scanf # 40; "% C% * c". aláír # 41; ;
ha # 40; jelentkezzen == '0' # 41; # 123; break; # 125;
ha # 40; jelentkezzen == '+' || jelentkezzen == '-' || jelentkezzen == '*' || jelentkezzen == '/' # 41; # 123;
printf # 40; "X =" # 41; ;
scanf # 40; "% F% * c". x # 41; ;
printf # 40; "Y =" # 41; ;
scanf # 40; "% F% * c". y # 41; ;
kapcsoló # 40; aláír # 41; # 123;
case '+'.
printf # 40; "% .2f \ n". x + y # 41; ;
break;
case '-'.
printf # 40; "% .2f \ n". x - y # 41; ;
break;
case '*'.
printf # 40; "% .2f \ n". x * y # 41; ;
break;
case '/'.
ha # 40; y! = 0 # 41; printf # 40; "% .2f \ n". x / y # 41; ;
mást printf # 40; "Division by nulla! \ N" # 41; ;
# 125;
# 125;
mást printf # 40; „Érvénytelen művelet jele \ n” # 41; ;
# 125;
# 125;
Példa (i) a program a nyelv a C
Bejelentkezés: 7
Hibás működés jele
Jelentkezzen 3
Hibás működés jele
Bejelentkezés +
X = 4
y = 5
9.00
Bejelentkezés: /
X = 0
y = 0
Nullával osztani.
Bejelentkezés: -
X = - 34,4
y = - 2
- 32.40
Bejelentkezés: 0
megoldások különösen a C programozási nyelv
Ha az adatok bevitelét, meg kell megszabadulni az átmenetet egy új sor karakter. Mindez a formátumban: „% * c”.
A forráskód a Python programozási nyelv
nyomtatás # 40; „Zero jeleként művelet kilép a program” # 41;
míg True:
s = bemenet # 40; "A jel (+, -, *, /):" # 41;
ha s == '0'. szünet
ha s # 40; '+'. '-'. '*'. '/' # 41; :
X = float # 40; bemenet # 40; "X =" # 41; # 41;
y = float # 40; bemenet # 40; "Y =" # 41; # 41;
ha s == '+':
nyomtatás # 40; "% .2f" % # 40; x + y # 41; # 41;
elif s == '-':
nyomtatás # 40; "% .2f" % # 40; x-y # 41; # 41;
elif s == '*':
nyomtatás # 40; "% .2f" % # 40; x * y # 41; # 41;
elif s == '/':
! Ha y = 0:
nyomtatás # 40; "% .2f" % # 40; x / y # 41; # 41;
más:
nyomtatás # 40; "Division by nulla!" # 41;
mást.
nyomtatás # 40; „Érvénytelen művelet jel!” # 41;
Példa (i) a program Python
Zero jeleként együttműködési program kilép
jel # 40; +, -, *. / # 41;. h
Rossz jel működését.
jel # 40; +, -, *. / # 41;. +
X = 78,456
y = 23,567
102,02
jel # 40; +, -, *. / # 41;. -
X = 3,44
y = 10,25
- 6,81
jel # 40; +, -, *. / # 41;. *
X = 0,012
y = - 2,15
- 0.03
jel # 40; +, -, *. / # 41;. /
X = 5
y = 0
Nullával osztani.
jel # 40; +, -, *. / # 41;. /
X = - 2,3
y = 5
- 0.46
jel # 40; +, -, *. / # 41;. 0
Forráskód programozási bálványok
SAL egyszerű számológép
korai
vesch x. y
sim s
NC-ig igen
következtetés „jel”
s bejegyzés
ha s = „0”, akkor a kimenet az összes
ha s = '+' vagy S = '-' vagy S = '*' vagy S = '/', majd
következtetést "x ="
x bemenetre
output "y ="
y bemenetre
kiválasztás
ha s = '+'. kimenet x + y. ns
ha s = '-'. kimenet x - y. ns
ha s = '*'. A kimeneti x * y. ns
ha s = '/'.
Ha y = 0, akkor a kimenet „Division nullával”. ns
egyébként a kimenet x / y. ns
minden
minden
egyébként
output „Érvénytelen művelet jele.” ns
minden
KC
játék
Példa (i) a program olyan nyelven idol
Bejelentkezés +
X = 5,67
y = - 4
1,67
Bejelentkezés: /
X = 5
y = 0
Nullával osztani.
jel: # 41;
Rossz jel működése
Bejelentkezés: /
X = 3
y = 10
0.3
Bejelentkezés: 0
Forráskód Basic programozási nyelv
a = 1
míg a = 1
input "jel". s $
ha s $ = "0", akkor
a = 0
más
ha s $ = "+" vagy s $ = "-" vagy s $ = "*" vagy s $ = "/", akkor
input "x". x
input "y". y
ha s $ = "+", majd nyomtassa x + y
ha s $ = "-" majd nyomtasson x-y
ha s $ = "*", akkor a nyomtatási x * y
ha s $ = "/" és y <> 0, akkor
print x / y
más
print "Division by zero"
endif
más
print "megjelölés lehet +, -, *, /"
endif
endif
endwhile
Példa (i) a program Basic
mark: /
x: 9
y: 0
Osztás nullával
mark: -
x: 9
y: -8
17
Osztás nullával
mark: /
x: 9
y: -8
- 1,125
mark: 0
megoldások főleg a Basic programozási nyelv
Nem operátor szünet esetén kiválasztás operátor.
Ne használja, ha-ha mást aritmetikai műveletek, mint Ez súlyosan érinti az olvashatóságot a program. Bár logikus lenne helyes.
Úgy találtam néhány hibát „Division by zero”, amikor nem kellene.