Файл: Практическая работа 12 Решение задач на обработку массивов.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.01.2024

Просмотров: 23

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Урок 10.04.23

Практическая работа № 12 Решение задач на обработку массивов

Цели: закрепить  навыки в составлении программ на обработку массивов  развить умения обобщать, систематизировать и применять знания, полученные ранее. отработать навыки решения задач
Оценивание выполнения практической работы :

на оценку 3 решить 1 задачу (начальный уровень)

на оценку 4 решить 1 и 2 задачи(начальный уровень) и (средний уровень)

на оценку 5 решить Высокий уровень.

Практическая работа.

Задание 1. (начальный уровень)

  1. Запустить на компьютере Паскаль АВС

  2. Набрать программу на компьютере, выполнить ее, получить результат.

  3. Записать условия задач в тетрадь, составить к задачам и записать в тетрадь блок-схемы, программы и результат выполнения программ.

Вычисление суммы и произведения элементов массива, удовлетворяющих заданному условию.
Задача 1. 

Дан целочисленный одномерный массив, состоящий из n элементов. Найти сумму и произведение нечетных элементов, кратных 3.

Введем обозначения: n – количество элементов в массиве; А – имя массива; i – индекс элемента массива; Ai – i-й элемент массива A; s – сумма нечетных элементов массива, кратных 3; p – произведение нечетных элементов массива, кратных 3.

Входные данные: n, A.

Выходные данные: s, p.

Первоначально сумма искомых элементов равна нулю: не просуммировано ни одно слагаемое, то есть s:=0. Далее, используя любой оператор цикла, просматриваем весь массив от первого и до последнего элемента. И если при этом элемент массива нечетный и кратен 3, то к уже накопленной сумме добавляется очередное слагаемое, т.е. s:= s + A[i]. Здесь слева и справа от знака присваивания записано имя одной и той же переменной s, именно это обеспечивает постепенное накопление суммы: s справа – уже вычисленное известное значение суммы, s  - ее новое, вычисляемое значение.


При просмотре массива можно сразу вычислить и произведение элементов массива, удовлетворяющих заданному условию. Произведение вычисляется с помощью оператора p:=p*A[i]. При этом p справа и p слева имеют разные значения: p справа – уже известное, вычисленное ранее значение произведения, p слева – новое, вычисляемое его значение. Первоначально искомое произведение равно единице, т.е. p:=1.

При решении этой задачи можно использовать любой из видов циклов. Рассмотрим один из вариантов решения задачи. Для решения используем цикл с параметром, поскольку число повторений в цикле нам известно(n).

Program Primer1_1;

Var A: Array[1..20] Of Integer;

      i, n, s, p: Integer;

Begin

     Write (‘n=’); Readln (n);

     For i:=1 To n Do Readln (A[i]);   {ввод массива}

     s:= 0;  p:=1;

     For i:=1 To n Do   {обработка массива}

      If (A[i] mod 2 0) and (A[i] mod 3 = 0) Then

      Begin

          s:=s+A[i];  p:= p*A[i]

      End;

      Writeln (‘s=’, s, ‘p=’, p);

      Readln

      End.

К данной программе в тетради составить блок-схему.

2. составить математическую модель, блок-схему и программу (средний уровень)
Задача 2. Дан массив целых чисел. Найти количество тех элементов, значения которых положительны и не превосходят заданного натурального числа А.


  1. Высокий уровень.


Задача 1.

Составьте программу, которая в одномерном массиве размерностью 12 (элементы случайные числа из промежутка  от 1 до 9) подсчитывает количество чётных элементов. Пояснение Обратите внимание, что условием чётности элемента будем выводить через функцию mod (целочисленный остаток от деления). Четные числа делятся на 2 с нулевым остатком: if w[i] mod 2=0 then k:=k+1
Задача 2. 

Составьте программу, которая в одномерном массиве размерностью 12 (элементы массива случайные числа из промежутка от 0 до 6) находит количество элементов равных 3

Пояснение
Обратите внимание, что переменная k - счетчик, поэтому начальное значение переменной обнуляем. Условие для подсчета элементов равных 3: if w[i]=3 then k:=k+1, т.е. если элемент равен 3, то k увеличивается на 1.

Домашнее задание:



Повторить § 24

Выполнить практическую работу.
Выполненную работу переслать 10.04.23