1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Босова
Задание 10 Параграф 8 ГДЗ Босова 11 класс (Информатика)
Босова, Босова
11 класс
Класс
11
Предмет
Информатика
Автор
Босова, Босова

Задание 10 Параграф 8 ГДЗ Босова 11 класс (Информатика)

Задача
  1. Дано натуральное десятичное число $$n \le 32000$$. Напишите программу, в которой:

    1) из цифр данного числа формируется одномерный целочисленный массив;

    2) определяются наибольшая и наименьшая цифры данного числа;

    3) находятся сумма и произведение цифр, образующих данное число.
Подробный ответ

Сначала последовательно выделим цифры числа с помощью операции $$x \bmod 10$$ и будем записывать их в массив. Одновременно найдём сумму и произведение цифр. После этого по заполненному массиву определим наибольшую и наименьшую цифры.

var
  a: array [1..5] of integer;
  x, i, max, min, sum, pr, k: integer;
begin
  readln(x);
  i := 1;
  sum := 0; pr := 1;
  // формирование массива из цифр числа
  // и вычисление суммы и произведения цифр числа
  while x <> 0 do
  begin
    a[i] := x mod 10;
    sum := sum + a[i];
    pr := pr * a[i];
    x := x div 10;
    i := i + 1
  end;
  // определение max и min
  k := i — 1; // количество цифр в числе
  max := a[1];
  min := a[1];
  for i := 2 to k do
  begin
    if a[i] > max then max := a[i];
    if a[i] < min then min := a[i]
  end;
  Writeln(‘sum=’, sum, ‘ pr=’, pr, ‘ max=’, max, ‘ min=’, min);
end.

В программе массив хранит цифры числа в обратном порядке, но это не мешает правильно найти сумму, произведение, максимум и минимум.

Ответ

Программа на Pascal:

var
  a: array [1..5] of integer;
  x, i, max, min, sum, pr, k: integer;
begin
  readln(x);
  i := 1;
  sum := 0; pr := 1;
  while x <> 0 do
  begin
    a[i] := x mod 10;
    sum := sum + a[i];
    pr := pr * a[i];
    x := x div 10;
    i := i + 1
  end;
  k := i — 1;
  max := a[1];
  min := a[1];
  for i := 2 to k do
  begin
    if a[i] > max then max := a[i];
    if a[i] < min then min := a[i]
  end;
  Writeln(‘sum=’, sum, ‘ pr=’, pr, ‘ max=’, max, ‘ min=’, min);
end.



Общая оценка
3.9 / 5
Другие учебники
Другие предметы