program case1;
uses crt;
var a,b,s:integer;
n:byte;
begin :
clrscr;
Writeln (‘Введите первое число’);
Read(a);
repeat
Writeln (‘Введите второе число, не равное нулю’);
Read(b);
Until b<>0;
writeln('Введите требуемое действие над числами');
writeln('1-сложение,2-вычитание,3-умножение,4-деление,');
read(n);
IF (N=>1) and (N<=4) then
case N of
1:S:=a+b;
2:S:=a-b;
3:S:=a*b;
4:S:=a/b;
end;
writeln('Ответ:',s);
else begin
writeln('Число не входит в диапазон от 1 до 4');
end;
readkey;
end.
Pascal. Задача с оператором case
Помогите решить задачу: Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия N (целое число в диапазоне 1–4) и вещественные числа A и B (В не равно 0). Выполнить над числами указанное действие и вывести результат. Илпользовать оператор case
Код:
Будут какие-то вопросы пиши.Эта работа качественна. Сдесь проверка на равенство нулю числа b и на 4 действия, т.е. если введешь меньше 1 или больше 4 не сразу выкинет а выдаст объяснение почему(Можно сделать повтор ввода). Если b будет=0 , то предоставиться возможность повторного ввода
Код:
var
a,b,o: integer;
begin
writeln (‘введите номер действия’);
readln (o);
writeln (‘введите 2 числа’);
readln (a,b);
case o
1: writeln (‘результат=’, a+b);
2: writeln (‘результат=’, a-b);
3: writeln (‘результат=’, a*b);
4: writeln (‘результат’, a/b:5:2);
else writeln (‘не правильно’);
end;
end.
a,b,o: integer;
begin
writeln (‘введите номер действия’);
readln (o);
writeln (‘введите 2 числа’);
readln (a,b);
case o
1: writeln (‘результат=’, a+b);
2: writeln (‘результат=’, a-b);
3: writeln (‘результат=’, a*b);
4: writeln (‘результат’, a/b:5:2);
else writeln (‘не правильно’);
end;
end.
проверено, вообщем одно и тоже, только по быстрее, на зачёте 5...
[COLOR="Red"]Отредактировал.[/COLOR]модератор.
Цитата: Студент01
var
a,b,o: integer;
begin
writeln (‘введите номер действия’);
readln (o);
writeln (‘введите 2 числа’);
readln (a,b);
case o
1: writeln (‘результат=’, a+b);
2: writeln (‘результат=’, a-b);
3: writeln (‘результат=’, a*b);
4: writeln (‘результат’, a/b:5:2);
else writeln (‘не правильно’);
end;
end.
проверено, вообщем одно и тоже, только по быстрее, на зачёте 5...
a,b,o: integer;
begin
writeln (‘введите номер действия’);
readln (o);
writeln (‘введите 2 числа’);
readln (a,b);
case o
1: writeln (‘результат=’, a+b);
2: writeln (‘результат=’, a-b);
3: writeln (‘результат=’, a*b);
4: writeln (‘результат’, a/b:5:2);
else writeln (‘не правильно’);
end;
end.
проверено, вообщем одно и тоже, только по быстрее, на зачёте 5...
Быстрее бесспорно и то не на много, ну а насчет 5 это уже под вопросом. Да и если уж мало времени свободного зачем писать Writeln и результат 4 раза если как в данном случае можно 1 раз?!
Правила раздела Студентам и следуйте им ! Код оформляйте как полагается.модератор.
Студент01 и Guy,читайте
Цитата: Guy
Код:
program case;
case ключевое слово и не может быть названием программы.
Program Panda;
Var a:integer;
Writeln ('vvedite a');
readln(a);
case a of
1:writeln('ìèçèíåö');
2:writeln('áåçûìÿííûé');
3:writeln('ñðåäíèé');
4:writeln('óêàçàòåëüíûé');
5:writeln('áîëüøîé');
else writeln('ïîâòîðèòü ïîïûòêó ââîäà');
end;
end.
Какую ошибку вы нам предлагаете догадываться?