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

Дополнительное задание 2 Параграф 20 ГДЗ Семакин 9 класс (Информатика)

Задача

Практическое задание №27. Тема: «Обработка массивов на языке Паскаль»

1 уровень сложности

  1. Написать программу, которая вводит массив из $$N$$ целых чисел и выводит на экран этот же массив в прямом и обратном порядке. Протестировать программу на произвольных массивах, состоящих из 1 числа, из 5 чисел, из 10 чисел.
  2. Написать программу, которая вводит массив из $$N$$ целых чисел и выводит на экран номера отрицательных элементов и сами эти элементы. Протестировать программу для следующих массивов:
    а) $$3\ 5\ -2\ 3\ -2\ 0\ -6\ -8\ 1$$
    б) $$-1\ -2\ -3\ -4\ 0\ -1\ 2\ 3$$
  3. Написать программу, которая вводит массив из $$N$$ целых чисел и выводит на экран элементы с чётными номерами. Протестировать программу на произвольных массивах размерностью 5 и 8 элементов.
  4. Написать программу, которая вводит массив из $$N$$ целых чисел и выводит на экран сам массив и сумму всех его элементов. Протестировать программу на следующих массивах:
    а) $$1\ 3\ 4\ -2$$
    б) $$0\ 1\ -2\ 10\ 11\ 12\ -10\ -3$$
    в) $$1\ 1\ 1\ 1\ -1\ -1\ -1\ -1$$

2 уровень сложности

  1. Написать программу, которая запрашивает массив из $$N$$ целых чисел, а затем складывает все элементы с нечётными номерами и все элементы с чётными номерами и выводит их суммы, а также сам исходный массив. Пример: массив: $$6\ 3\ 5\ 1\ 1\ 3$$. Протестировать программу на приведённом выше примере, а также на двух других произвольных тестах.
  2. Написать программу, которая вводит массив из $$N$$ целых чисел и выводит на экран элементы с нечётными номерами в обратном порядке. Протестировать программу для следующих исходных данных:
    а) $$1\ 3\ 5\ 6\ 8\ 9$$
    б) $$-1\ 4\ 6\ 2\ 4\ 6\ 8\ 6\ 9\ 3$$
  3. У прилавка магазина выстроилась очередь из $$N$$ покупателей. Время обслуживания $$i$$-го покупателя равно $$t_i$$. Определить время $$C_i$$ пребывания $$i$$-го покупателя в очереди. Протестировать программу на следующих исходных данных:
    а) Номер покупателя — 5. Время обслуживания отдельных покупателей (в минутах): $$1\ 1.5\ 2\ 1.5\ 2.5\ 3\ 1.5\ 1$$
    б) Номер покупателя — 7. Время обслуживания отдельных покупателей (в минутах): $$1\ 1.5\ 2\ 1.5\ 2.5\ 3\ 1.5\ 1$$

3 уровень сложности

  1. Написать программу, которая в заданном одномерном массиве размерности $$N$$ меняет местами соседние элементы, стоящие на чётных местах, с соседними элементами, стоящими на нечётных местах. Пример: массив: $$2\ 4\ 6\ 8\ 1\ 2$$. Протестировать программу на приведённом выше примере, а также на двух других произвольных тестах.
  2. Написать программу, которая вводит последовательность вещественных чисел, состоящую из $$N$$ элементов, и определяет, является ли эта последовательность возрастающей. Разработать тесты для проверки правильности работы программы.
  3. Дан целочисленный массив размерности $$N$$. Необходимо «сжать» массив, выбросив из него каждый второй элемент. Дополнительный массив использовать нельзя. Пример. Исходный массив: $$1\ 3\ 4\ 6\ 3\ 2$$. Протестировать программу на приведённом выше примере, а также на двух других произвольных тестах.
Подробный ответ

Для каждого пункта составим программу на Паскале, которая работает с одномерным массивом. В решениях используются стандартные циклы for и while, а также вывод результатов в удобном для проверки виде.

1. Вывод массива в прямом и обратном порядке:

program massiv_1;
const
  n = 5;
var
  a: array[1..n] of integer;
  i: integer;
begin
  for i := 1 to n do
    read(a[i]);
  for i := 1 to n do
    write(a[i], ‘ ‘);
  writeln;
  for i := n downto 1 do
    write(a[i], ‘ ‘);
end.

2. Вывод номеров отрицательных элементов и самих элементов:

program massiv_2;
const
  n = 10;
var
  a: array[1..n] of integer;
  i: integer;
begin
  for i := 1 to n do
    read(a[i]);
  writeln(‘i’:4, ‘a[i]’:8);
  for i := 1 to n do
    if a[i] < 0 then
      writeln(i:4, a[i]:8);
end.

3. Вывод элементов с чётными номерами:

program massiv_3;
const
  n = 10;
var
  a: array[1..n] of integer;
  i: integer;
begin
  for i := 1 to n do
    read(a[i]);
  writeln(‘i’:4, ‘a[i]’:8);
  for i := 1 to n do
    if i mod 2 = 0 then
      writeln(i:4, a[i]:8);
end.

4. Вывод массива и суммы его элементов:

program massiv_4;
const
  n = 10;
var
  a: array[1..n] of integer;
  i, s: integer;
begin
  for i := 1 to n do
    read(a[i]);
  s := 0;
  for i := 1 to n do
  begin
    write(a[i], ‘ ‘);
    s := s + a[i];
  end;
  writeln;
  writeln(‘Сумма элементов = ‘, s);
end.

5. Суммы элементов с нечётными и чётными номерами:

program massiv_1;
const
  n = 10;
var
  a: array[1..n] of integer;
  i, s1, s2: integer;
begin
  for i := 1 to n do
    read(a[i]);
  s1 := 0; s2 := 0;
  writeln(‘Исходный массив’);
  for i := 1 to n do
  begin
    write(a[i], ‘ ‘);
    if i mod 2 = 0 then s1 := s1 + a[i]
    else s2 := s2 + a[i];
  end;
  writeln;
  writeln(‘Сумма элементов с четными номерами = ‘, s1);
  writeln(‘Сумма элементов с нечетными номерами = ‘, s2);
end.

6. Элементы с нечётными номерами в обратном порядке:

program massiv_2;
const
  n = 10;
var
  a: array[1..n] of integer;
  i: integer;
begin
  for i := 1 to n do
    read(a[i]);
  writeln(‘Элементы с нечетными номерами в обратном порядке’);
  for i := n downto 1 do
    if i mod 2 <> 0 then write(a[i], ‘ ‘);
end.

7. Время пребывания покупателя в очереди:

program massiv_3;
const
  n = 10;
var
  t: array[1..n] of real;
  c: real;
  i, k: integer;
begin
  writeln(‘Введи время обслуживания каждого покупателя’);
  for i := 1 to n do
    read(t[i]);
  write(‘Введи номер покупателя’);
  read(k);
  c := 0;
  for i := 1 to k do
    c := c + t[i];
  writeln(‘Покупатель с номером ‘, k, ‘ проведет в очереди ‘, c:6:2, ‘ минут’);
end.

8. Обмен соседних элементов на чётных и нечётных местах:

program massiv_1;
const
  n = 10;
var
  a: array[1..n] of integer;
  i, c: integer;
begin
  writeln(‘Введи массив целых чисел’);
  for i := 1 to n do
    read(a[i]);
  writeln(‘Ввод исходного массива’);
  for i := 1 to n do
    write(a[i], ‘ ‘);
  i := 2;
  while i <= n do
  begin
    c := a[i — 1];
    a[i — 1] := a[i];
    a[i] := c;
    i := i + 2;
  end;
  writeln;
  writeln(‘вывод полученного массива’);
  for i := 1 to n do
    write(a[i], ‘ ‘);
end.

9. Проверка, является ли последовательность возрастающей:

program massiv_2;
const
  n = 5;
var
  a: array[1..n] of real;
  i: integer;
  f: boolean;
begin
  for i := 1 to n do
    read(a[i]);
  f := true;
  for i := 2 to n do
    if a[i] < a[i — 1] then f := false;
  if f then writeln(‘Возрастающая’)
  else writeln(‘Невозрастающая’);
end.

10. Сжатие массива без дополнительного массива:

program massiv_3;
const
  n = 6;
var
  a: array[1..n] of real;
  i, j: integer;
begin
  for i := 1 to n do
    read(a[i]);
  writeln(‘Вывод исходного массива’);
  for i := 1 to n do
    write(a[i], ‘ ‘);
  writeln(‘Обнуление каждого второго элемента’);
  for i := 2 to n do
    if i mod 2 = 0 then a[i] := 0;
  i := 2; j := 3;
  while j < n do
  begin
    a[i] := a[j];
    i := i + 1; j := j + 2;
  end;
  j := i — 1;
  writeln(‘Вывод полученного массива’);
  for i := 1 to j do
    write(a[i], ‘ ‘);
end.

Ответ

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

Иллюстрация к решению «Дополнительное задание 2 Параграф 20 ГДЗ Семакин 9 класс (Информатика)», 1
Иллюстрация к решению «Дополнительное задание 2 Параграф 20 ГДЗ Семакин 9 класс (Информатика)», 5



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