Задание PASCAL: c клавиатуры вводиться 3 5-значных числа. Найти сумму цифр наименьшего...

0 голосов
131 просмотров

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


Информатика (19 баллов) | 131 просмотров
0

З числа и они 5-значные (тоесть типо числа 12345)

Дано ответов: 2
0 голосов
Правильный ответ
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    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
(150k баллов)
0

Спасибо большое! то что мне было и нужно

0

Школьная версия а не уже современный паскаль

0

Ещё раз спасибо всем!

0

Просто вообще я сам должен был написать эту программу но я просто не могу,я могу начать её но дальше тупик а ещё мне Задание 20.2 делать в ОГЭ

0 голосов

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


(9.7k баллов)
0

Большое спасибо единственное хотел спросить,а можно ли увидеть версию чуть-чуть попроще в плане того что например function я просто даже не знаю что это такое и если я это отправлю своему учителю то он мне просто не поверит

0

а так всё очень понятно

0

поэтому большое спасибо