В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
dmitryparshin
dmitryparshin
26.01.2023 06:42 •  Информатика

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

Показать ответ
Ответ:
maksshangutov
maksshangutov
06.10.2020 00:15
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
0,0(0 оценок)
Ответ:
kuznechikmarin
kuznechikmarin
06.10.2020 00:15
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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота