1) Написать программу, которая вводит массив из 10 целых чисел и выводит на экран этот же массив в прямом и обратном порядке. 2) Написать программу, которая вводит массив из 8 целых чисел и выводит на экран номера отрицательных элементов и сами эти элементы. 3) Написать программу, которая вводит массив из 8 целых чисел и выводит на экран элементы с четными номерами. 4) Написать программу, которая вводит массив из 12 целых чисел и выводит на экран сам массив и сумму всех этих элементов.
Ответы на вопрос
Ниже приведены решения всех 4 задач. Для каждой задачи сначала кратко объясню, что именно нужно сделать, а потом покажу пример программы. В качестве языка обычно в таких заданиях используют Pascal или C++, но чаще всего в школьных и базовых заданиях по массивам встречается Pascal, поэтому приведу решения на Pascal.
1. Ввести массив из 10 целых чисел и вывести его в прямом и обратном порядке
Что требуется
Нужно:
-
создать массив из 10 элементов;
-
ввести с клавиатуры 10 целых чисел;
-
вывести массив так, как он был введен;
-
затем вывести те же элементы, но с конца к началу.
Идея решения
Для ввода массива используем цикл от 1 до 10.
Для вывода в прямом порядке тоже идем от 1 до 10.
Для вывода в обратном порядке идем от 10 до 1.
Программа
pascalprogram Zadacha1;
var
a: array[1..10] of integer;
i: integer;
begin
writeln('Введите 10 целых чисел:');
for i := 1 to 10 do
read(a[i]);
writeln('Массив в прямом порядке:');
for i := 1 to 10 do
write(a[i], ' ');
writeln;
writeln('Массив в обратном порядке:');
for i := 10 downto 1 do
write(a[i], ' ');
writeln;
end.
Пояснение
Если пользователь введет:
1 2 3 4 5 6 7 8 9 10
То программа выведет:
-
в прямом порядке:
1 2 3 4 5 6 7 8 9 10 -
в обратном порядке:
10 9 8 7 6 5 4 3 2 1
2. Ввести массив из 8 целых чисел и вывести номера отрицательных элементов и сами элементы
Что требуется
Нужно:
-
ввести 8 целых чисел в массив;
-
проверить каждый элемент;
-
если элемент отрицательный, вывести его номер и значение.
Идея решения
После ввода массива просматриваем все элементы.
Если a[i] < 0, значит элемент отрицательный, и его нужно вывести.
Программа
pascalprogram Zadacha2;
var
a: array[1..8] of integer;
i: integer;
begin
writeln('Введите 8 целых чисел:');
for i := 1 to 8 do
read(a[i]);
writeln('Отрицательные элементы и их номера:');
for i := 1 to 8 do
if a[i] < 0 then
writeln('Номер элемента: ', i, ' Значение: ', a[i]);
end.
Пояснение
Допустим, введены числа:
5 -3 7 -1 0 8 -9 4
Тогда программа найдет отрицательные элементы:
-
элемент под номером 2:
-3 -
элемент под номером 4:
-1 -
элемент под номером 7:
-9
Обратите внимание: в Pascal при таком объявлении массива нумерация идет с 1, а не с 0.
3. Ввести массив из 8 целых чисел и вывести элементы с четными номерами
Что требуется
Нужно:
-
ввести массив из 8 целых чисел;
-
вывести только те элементы, у которых номер четный.
Идея решения
Если массив объявлен как array[1..8], то четные номера — это:
2, 4, 6, 8.
Можно пройти по всем элементам и проверять условие i mod 2 = 0, либо сразу идти с шагом 2 от 2 до 8.
Программа
pascalprogram Zadacha3;
var
a: array[1..8] of integer;
i: integer;
begin
writeln('Введите 8 целых чисел:');
for i := 1 to 8 do
read(a[i]);
writeln('Элементы с четными номерами:');
for i := 2 to 8 do
if i mod 2 = 0 then
write(a[i], ' ');
writeln;
end.
Более короткий вариант
Можно записать еще проще:
pascalprogram Zadacha3;
var
a: array[1..8] of integer;
i: integer;
begin
writeln('Введите 8 целых чисел:');
for i := 1 to 8 do
read(a[i]);
writeln('Элементы с четными номерами:');
for i := 2 to 8 do
if i mod 2 = 0 then
write(a[i], ' ');
writeln;
end.
Или так:
pascalprogram Zadacha3;
var
a: array[1..8] of integer;
i: integer;
begin
writeln('Введите 8 целых чисел:');
for i := 1 to 8 do
read(a[i]);
writeln('Элементы с четными номерами:');
for i := 2 to 8 do
if i mod 2 = 0 then
write(a[i], ' ');
writeln;
end.
Пояснение
Если введено:
10 20 30 40 50 60 70 80
То элементы с четными номерами:
-
2-й элемент:
20 -
4-й элемент:
40 -
6-й элемент:
60 -
8-й элемент:
80
На экран будет выведено:
20 40 60 80
4. Ввести массив из 12 целых чисел и вывести сам массив и сумму всех элементов
Что требуется
Нужно:
-
ввести 12 целых чисел;
-
вывести весь массив;
-
найти сумму всех элементов;
-
вывести эту сумму.
Идея решения
Во время ввода или после ввода можно накапливать сумму в переменной s.
Программа
pascalprogram Zadacha4;
var
a: array[1..12] of integer;
i, s: integer;
begin
s := 0;
writeln('Введите 12 целых чисел:');
for i := 1 to 12 do
begin
read(a[i]);
s := s + a[i];
end;
writeln('Массив:');
for i := 1 to 12 do
write(a[i], ' ');
writeln;
writeln('Сумма элементов массива = ', s);
end.
Пояснение
Если ввести:
1 2 3 4 5 6 7 8 9 10 11 12
То программа выведет массив:
1 2 3 4 5 6 7 8 9 10 11 12
И сумму:
78
Общий вывод
Все 4 задачи решаются по одной и той же схеме:
-
объявляется массив нужного размера;
-
элементы вводятся в цикле;
-
затем массив либо выводится полностью, либо обрабатывается по условию.
Главное, что нужно понять в этих задачах:
-
как вводить элементы массива через цикл;
-
как обращаться к элементу по индексу;
-
как использовать условие для отбора нужных элементов;
-
как проходить массив в прямом и обратном порядке;
-
как накапливать сумму элементов.
Если нужно оформить совсем кратко, то ответы можно записать именно в таком виде, без пояснений, только с программами.
Все программы подряд
pascalprogram Zadacha1;
var
a: array[1..10] of integer;
i: integer;
begin
for i := 1 to 10 do
read(a[i]);
for i := 1 to 10 do
write(a[i], ' ');
writeln;
for i := 10 downto 1 do
write(a[i], ' ');
writeln;
end.
pascalprogram Zadacha2;
var
a: array[1..8] of integer;
i: integer;
begin
for i := 1 to 8 do
read(a[i]);
for i := 1 to 8 do
if a[i] < 0 then
writeln(i, ' ', a[i]);
end.
pascalprogram Zadacha3;
var
a: array[1..8] of integer;
i: integer;
begin
for i := 1 to 8 do
read(a[i]);
for i := 2 to 8 do
if i mod 2 = 0 then
write(a[i], ' ');
writeln;
end.
pascalprogram Zadacha4;
var
a: array[1..12] of integer;
i, s: integer;
begin
s := 0;
for i := 1 to 12 do
begin
read(a[i]);
s := s + a[i];
end;
for i := 1 to 12 do
write(a[i], ' ');
writeln;
writeln(s);
end.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

