М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ladusik69
ladusik69
09.03.2020 05:22 •  Информатика

Pascal: c клавиатуры вводиться 3 5-значных числа. найти сумму цифр наименьшего числа, сумму цифр наибольшего числа и вывести на экран разность между этими суммами.

👇
Ответ:
камидь
камидь
09.03.2020
1. Вот так это можно написать коротко, быстро и понятно, если разбираться в современном Паскале.

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

function SoD(Self:integer):integer; extensionmethod;
begin
  while Self>0 do (Result,Self):=(Result+Self mod 10,Self div 10);
end;

function Diff(Self:array of integer):integer; extensionmethod;
begin
  Result:=Self.Max.SoD-Self.Min.SoD
end;

begin
  Writeln(ReadArrInteger('Три пятизначных числа:',3).Diff)
end.

Пример
Три пятизначных числа: 12345 23456 34567
10

2. А вот так примерно учат у нас в школах...

program School;
var
  i,n,max,min,d:integer;
begin
  Write('Введите 1-е пятизначное число: '); Read(n);
  max:=n;
  min:=n;
  for i:=2 to 3 do begin
    Write('Введите ',i,'-е пятизначное число: '); Read(n);
    if n<min then min:=n
    else
      if n>max then max:=n;
    end;
  d:=0;
  while max>0 do begin
    d:=d+max mod 10;
    max:=max div 10
    end;
  while min>0 do begin
    d:=d-min mod 10;
    min:=min div 10
    end;
  Writeln(d)
end.

Пример
Введите 1-е пятизначное число: 12345
Введите 2-е пятизначное число: 23456
Введите 3-е пятизначное число: 34567
10
4,4(39 оценок)
Ответ:
akimhikp01b5f
akimhikp01b5f
09.03.2020
Function sumd(n: integer): integer;
var s: integer;
begin
  s:=0;
  repeat
    s:=s+ n mod 10;
    n:=n div 10;
  until n=0;
  sumd:=s;
end;  
// основная программа  
var a,b,c,mx,mn: integer;
begin
  write('числа a,b,c через пробел: ');
  readln(a,b,c);
  mx:=max(a,max(b,c));
  mn:=min(a,min(b,c));
  writeln(sumd(mx)-sumd(mn));
end.

числа a,b,c через пробел: 12345 23456 34567
10
4,4(56 оценок)
Открыть все ответы
Ответ:
Arukaa2087
Arukaa2087
09.03.2020
№1

var x, F: real;
begin
write('Введите х: ');
readln(x);
if ( x > -2.4 ) AND ( x < 5.7 ) then F := sqr(x)
else F := 4;
writeln('F = ', F);
end.

№2

var x, F: real;
begin
write('Введите х: ');
readln(x);
if ( x > 0.2 ) AND ( x < 0.9 ) then F := sin(x)
else F := 1;
writeln('F = ', F);
end.

№3

var a,b,c: real;
begin
write('Введите а: ');
readln(a);
write('Введите b: ');
readln(b);
write('Введите c: ');
readln(c);
if ( a < b ) AND ( b < c ) then writeln('a < b < c')
else
if ( b > a ) AND ( a > c ) then writeln('b > a > c')
else
writeln('Неравенства не выполняются');
end.
4,6(28 оценок)
Ответ:
Сat856142555
Сat856142555
09.03.2020
Var
  x,f:real;
begin
  Write('Введите x: '); Readln(x);
  if (x>-2.4) and (x<5.7) then f:=sqr(x)
  else f:=4;
  Writeln('F=',f)
end.

var
  x,f:real;
begin
  Write('Введите x: '); Readln(x);
  if (x>0.2) and (x<0.9) then f:=sin(x)
  else f:=1;
  Writeln('F=',f)
end.

var
  a,b,c:real;
begin
  Write('Введите три числа: '); Readln(a,b,c);
  Write('Условие ',a,'<',b,'<',c);
  if (b>a) and (b<c) then Writeln(' выполняется.')
  else Writeln(' не выполняется.');
  Write('Условие ',b,'>',a,'>',c);
  if (a<b) and (a>c) then Writeln(' выполняется.')
  else Writeln(' не выполняется.')
end.
4,5(9 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ