Условие задачи: Массив А вводится с клавиатуры. Найти сумму его элементов с четными номерами, произведение отрицательных элементов, количество нечетных элементов. Размер произвольный. (Язык Pascal)
Сложность: легкая.
Решение задачи
До начала решения задачи прочитайте вот ( это ), там мы искали среднее арифметическое элементов с нечетными номерами, прочитайте там начало и вы поймете что значит элементы с четными номерами.
Теперь к решению, оно не трудное, мы начнем заполнять массив вручную (по условию задачи), и каждый введенный элемент будем проверять на условия которые даны в задаче.
Для того чтобы решить задачу нам понадобятся следующие переменные:
- Переменная mass — для массива
- Переменная i — для цикла
- Переменная n — для кол-ва элементов массива
- Переменная count — для кол-во нечетных элементов
- Переменная summa — для сумма элементов с четными номерами
- Переменная proiz — для произведения отрицательных элементов.
Начнем мы с каркаса нашей программы
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
type massiv = array [ 1..100 ] of integer ; // создаём свой тип данных для массива var mass : massiv; // объявляем summa, proiz, count, n, i : integer ; // переменные begin write ( 'Введите длину массива : ' );readln(n); // просим пользователя ввести длину массива summa := 0 ; proiz := 1 ; count := 1 ; // присваиваем начальные значение переменным чтобы не было ошибок readln; // чтобы программа не закрывалась end . |
Тут мы создали свой тип данных для массива, как и зачем читайте ( тут ), попросили пользователя ввести кол-во элементов массива.
Также присвоили начальные значения переменным с которыми будем работать, т.е. будем их складывать или умножать с какими-то другими переменными.
Обратите внимание что у переменной proiz начальное значение 1 а не 0, если будет 0, то произведение всегда будет равно 0.
Теперь довольно просто цикл :
1
2
3
4
5
6
7
8
9
10
11
12
|
for i:= 1 to n do // пускаем цикл begin write ( 'Введите ' ,i, ' элемент : ' );readln(mass[i]); // просим пользователя ввести число // проверяем введенное пользователем число на все условия if (i mod 2 = 0 ) then // если номер элемента четный summa := summa + mass[i]; if (mass[i] < 0 ) then // если введенное число меньше 0 proiz := proiz * mass[i]; if (mass[i] mod 2 <> 0 ) then // если введенное число нечетное count := count + 1 ; end ; |
Всё довольно просто, каждое введенное пользователем число мы проверяем на три условия.
Всё решение задачи Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
type massiv = array [ 1..100 ] of integer ; // создаём свой тип данных для массива var mass : massiv; // объявляем summa, proiz, count, n, i : integer ; // переменные begin write ( 'Введите длину массива : ' );readln(n); // просим пользователя ввести длину массива summa := 0 ; proiz := 1 ; count := 1 ; // присваиваем начальные значение переменным чтобы не было ошибок for i:= 1 to n do // пускаем цикл begin write ( 'Введите ' ,i, ' элемент : ' );readln(mass[i]); // просим пользователя ввести число // проверяем введенное пользователем число на все условия if (i mod 2 = 0 ) then // если номер элемента четный summa := summa + mass[i]; if (mass[i] < 0 ) then // если введенное число меньше 0 proiz := proiz * mass[i]; if (mass[i] mod 2 <> 0 ) then // если введенное число нечетное count := count + 1 ; end ; writeln ( 'Сумма элементов с четными номерами : ' , summa); // выводим результат writeln ( 'Произведение отрицательных элементов : ' , proiz); // выводим результат writeln ( 'Количество нечетных элементов : ' , count); // выводим результат readln; // чтобы программа не закрывалась end . |