dianafaizullin1
13.02.2021 00:27

Составьте программу на деление, используя статические и динамические типы данных.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Scheerer
15.01.2022 06:06
Var
  n, a, b, c, d, s, p: integer;

begin
  Write('Введите натуральное четырехзначное число: ');
  Readln(n);
  if (n > 9999) or (n < 1000) then Writeln('Число должно быть четырехзначным')
  else begin
    a := n div 1000; d := n mod 10; n := (n div 10) mod 100;
    b := n div 10; c := n mod 10;
    s := a + b + c + d;
    p := a * b * c * d;
    Writeln('Сумма цифр равна ', s, ', а их произведение равно ', p)
  end
end.

Тестовое решение:
Введите натуральное четырехзначное число: 2345
Сумма цифр равна 14, а их произведение равно 120
0,0(0 оценок)
Ответ:
Тимофей225
18.06.2022 06:42
Прежде всего, код надо отформатировать и исправить имеющиеся в нем ошибки. А затем приступать к его рассмотрению.

var
  a, b: integer;

procedure proc(var a: integer; b: integer);
begin
  b := 4; a := 6; b := a + b
end;

begin
  a := 2; b := 3;
  proc(a, b);
  Writeln(a, ' ', b)
end.

Описаны две целочисленные переменные a и b. Им присваиваются значения 2 и 3 соответственно. Затем следует вызов процедуры proc, в которую эти переменные передаются в качестве параметров.

На входе в proc получаем a=2, b=3. Далее b получает значение 4, а получает значение 6 и затем b получает значение суммы a+b, т.е. 4+6=10. На этом работа процедуры завершается. Поскольку параметр процедуры a имеет описатель var, то в основную программу вернется значение, которое a имело внутри процедуры (т.е. 6). Значение b=10 действует только внутри процедуры и в основную программу не вернется.

Следовательно, в основной программа значение а поменяется на 6, а значение b сохранится прежним (3).
В результате на выходе будет строка:
6 3
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота