Помогите пожалуйста!!!
Звучит задача так:
Создать программу, которая вводит трехзначное число и выводит такое меню:
Введите номер задания:
1.Вычисление максимальной ЦИФРЫ
2.Вычисление минимальной ЦИФРЫ
3.Вычисление суммы ЦИФР
4.Вычисление умножения ЦИФР
Программа должна выполнить задание, номер которого будет введен.
Большое спасибо за помощь!!!
Другие языки программирования и технологии
Нужно создать программу в Pascal ABC.NET
var c:array[1..3] of integer;
begin
var n:=ReadInteger('Ввести 3-зн. число:');
c[1]:=n div 100;c[2]:=n div 10 mod 10; c[3]:=n mod 10;
var num:=ReadInteger('Номер задания:');
case num of
1:writeln(c.max);
2:writeln(c.min);
3:writeln(c.sum);
4:writeln(c[1]*c[2]*c[3])
end;
end.
begin
var n:=ReadInteger('Ввести 3-зн. число:');
c[1]:=n div 100;c[2]:=n div 10 mod 10; c[3]:=n mod 10;
var num:=ReadInteger('Номер задания:');
case num of
1:writeln(c.max);
2:writeln(c.min);
3:writeln(c.sum);
4:writeln(c[1]*c[2]*c[3])
end;
end.
это для мегакулхацкеров
var x, z, otvet: integer;
begin
write ('x = ');
readln (x);
writeln ('1.Вычисление максимальной ЦИФРЫ'#13'2.Вычисление минимальной ЦИФРЫ'#13'3.Вычисление суммы ЦИФР'#13'4.Вычисление умножения ЦИФР');
readln (z);
case z of
1: begin
otvet:=0;
while x > 0 do
begin
otvet := max(otvet, x mod 10);
x:= x div 10;
end;
end;
2: begin
otvet:=10;
while x > 0 do
begin
otvet := min(otvet, x mod 10);
x:= x div 10;
end;
end;
3: begin
otvet:=0;
while x > 0 do
begin
otvet := otvet + x mod 10;
x:= x div 10;
end;
end;
4: begin
otvet:=1;
while x > 0 do
begin
otvet := otvet * (x mod 10);
x:= x div 10;
end;
end;
else writeln ('неверный выбор');
end;
writeln ('ответ = ', otvet);
end.
begin
write ('x = ');
readln (x);
writeln ('1.Вычисление максимальной ЦИФРЫ'#13'2.Вычисление минимальной ЦИФРЫ'#13'3.Вычисление суммы ЦИФР'#13'4.Вычисление умножения ЦИФР');
readln (z);
case z of
1: begin
otvet:=0;
while x > 0 do
begin
otvet := max(otvet, x mod 10);
x:= x div 10;
end;
end;
2: begin
otvet:=10;
while x > 0 do
begin
otvet := min(otvet, x mod 10);
x:= x div 10;
end;
end;
3: begin
otvet:=0;
while x > 0 do
begin
otvet := otvet + x mod 10;
x:= x div 10;
end;
end;
4: begin
otvet:=1;
while x > 0 do
begin
otvet := otvet * (x mod 10);
x:= x div 10;
end;
end;
else writeln ('неверный выбор');
end;
writeln ('ответ = ', otvet);
end.
program q211364598;
var
n, select: integer;
function max_digit(n : integer) : integer;
var
next_max: integer;
begin
if n <= 0 then begin
max_digit := 0;
end
else begin
next_max := max_digit(n div 10);
if n mod 10 > next_max then max_digit := n mod 10
else max_digit := next_max;
end;
end;
function min_digit(n : integer) : integer;
var
next_min: integer;
begin
if n = 0 then begin
min_digit := 0;
end
else begin
if n div 10 = 0 then next_min := 10
else next_min := min_digit(n div 10);
if n mod 10 < next_min then min_digit := n mod 10
else min_digit := next_min;
end;
end;
function sum_digits(n : integer): integer;
begin
if n = 0 then sum_digits := 0
else sum_digits := n mod 10 + sum_digits(n div 10);
end;
function mul_digits(n : integer): integer;
var
next_mul : integer;
begin
if n = 0 then begin
mul_digits := 0
end
else begin
if n div 10 = 0 then next_mul := 1
else next_mul := mul_digits(n div 10);
mul_digits := (n mod 10) * next_mul;
end;
end;
begin
readln(n);
writeln('Введите номер задания:');
writeln('1.Вычисление максимальной ЦИФРЫ');
writeln('2.Вычисление минимальной ЦИФРЫ');
writeln('3.Вычисление суммы ЦИФР');
writeln('4.Вычисление умножения ЦИФР');
readln(select);
writeln;
write('Результат: ');
case select of
1 : write(max_digit(n));
2 : write(min_digit(n));
3 : write(sum_digits(n));
4 : write(mul_digits(n));
end;
end.
var
n, select: integer;
function max_digit(n : integer) : integer;
var
next_max: integer;
begin
if n <= 0 then begin
max_digit := 0;
end
else begin
next_max := max_digit(n div 10);
if n mod 10 > next_max then max_digit := n mod 10
else max_digit := next_max;
end;
end;
function min_digit(n : integer) : integer;
var
next_min: integer;
begin
if n = 0 then begin
min_digit := 0;
end
else begin
if n div 10 = 0 then next_min := 10
else next_min := min_digit(n div 10);
if n mod 10 < next_min then min_digit := n mod 10
else min_digit := next_min;
end;
end;
function sum_digits(n : integer): integer;
begin
if n = 0 then sum_digits := 0
else sum_digits := n mod 10 + sum_digits(n div 10);
end;
function mul_digits(n : integer): integer;
var
next_mul : integer;
begin
if n = 0 then begin
mul_digits := 0
end
else begin
if n div 10 = 0 then next_mul := 1
else next_mul := mul_digits(n div 10);
mul_digits := (n mod 10) * next_mul;
end;
end;
begin
readln(n);
writeln('Введите номер задания:');
writeln('1.Вычисление максимальной ЦИФРЫ');
writeln('2.Вычисление минимальной ЦИФРЫ');
writeln('3.Вычисление суммы ЦИФР');
writeln('4.Вычисление умножения ЦИФР');
readln(select);
writeln;
write('Результат: ');
case select of
1 : write(max_digit(n));
2 : write(min_digit(n));
3 : write(sum_digits(n));
4 : write(mul_digits(n));
end;
end.
Похожие вопросы
- Подскажите пожалуйста, какая ошибка в программе на Pascal ABC.NET?
- Помогите написать программу в Pascal abc net
- Проблема с программой в Pascal ABC,Встречено ';',а ожидалось ':'. Если менять, то вылетает ещё ошибка с if
- Программа в pascal abc
- При введении программы на Pascal ABC выдается ошибка "нельзя вводить данные типа "массив", массивы вводятся поэлементно
- Задайте массив из файла в Pascal.ABC.net
- Какую функцию выполняют команды real и integer (var a,b,c:integer;) на Pascal ABC Net? И чем они отличаются?
- Посоветуйте книги по Паскалю Хочу изучить литературу по Паскалю. Посоветуйте именно по Pascal ABC.net.
- Как в Pascal ABC net можно переключать цвета у нарисованного круга? типо светофор
- Кто сможет написать понятную программу на Pascal ABC? нужно реализовать шифр Плейфера Буду вам очень признателен