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

Решение #1

Изображение ЕК ЦОР: Часть 2, глава 6, §42, ЦОР №8Практическое задание №27Тема: Обработка массивов на языке Паскаль1 уровень сложности1. Написать программу, которая вводит...
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Дополнительное изображение
Загрузка...

Рассмотрим вариант решения задания из учебника Семакин, Залогова 9 класс, Просвещение:
ЕК ЦОР: Часть 2, глава 6, §42, ЦОР №8
Практическое задание №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
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.
2 уровень сложности
1. Написать программу, которая запрашивает массив из N целых чисел, а затем складывает все элементы с нечётными номерами и все элементы с чётными номерами и выводит их суммы, а также сам исходный массив.
Пример:
Массив: 6 3 5 1 1 3
Суммы: 6+5+1=12 (элементы с нечётными номерами) и 3+1+3=7 (элементы с чётными номерами).
Протестировать программу на приведённом выше примере, а также на двух других произвольных тестах.
2. Написать программу, которая вводит массив из N целых чисел и выводит на экран элементы с нечётными номерами в обратном порядке. Протестировать программу для следующих исходных данных:
а) 1 3 5 6 8 9
б) -1 4 6 2 4 6 8 6 9
3. У прилавка магазина выстроилась очередь из N покупателей. Время обслуживания i-го покупателя равно ti. Определить время Ci пребывания 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
1.
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.
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('Элементы с нечетными номерами в обратном порядке');
for i := n downto 1 do
if i mod 2 <> 0 then write(a[i], ' ');
end.
3.
program massiv_3;
const
n = 10;
var
t: array[1..n] of real;
p: array[1..n] of integer;
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.
3 уровень сложности
1. Написать программу, которая в заданном одномерном массиве размерности N меняет местами соседние элементы, стоящие на чётных местах, с соседними элементами, стоящими на нечётных местах.
Пример:
Массив: 2 4 6 8 1 2
Результат: 4 2 8 6 2 1
Протестировать программу на приведённом выше примере, а также на двух других произвольных тестах.
2. Написать программу, которая вводит последовательность вещественных чисел, состоящую из N элементов, и определяет, является ли эта последовательность возрастающей. Разработать тесты для проверки правильности работы программы.
3. Дан целочисленный массив размерности N. Необходимо «сжать» массив, выбросив из него каждый второй элемент. Дополнительный массив использовать нельзя.
Пример
Исходный массив: 1 3 4 6 3 2
Результат: 1 4 3
Протестировать программу на приведённом выше примере, а также на двух других произвольных тестах.
1.
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.
2.
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.
3.
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.
*Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания.
*размещая тексты в комментариях ниже, вы автоматически соглашаетесь с пользовательским соглашением