Меню
Разработки
Разработки  /  Информатика  /  Практикумы  /  9 класс  /  Практическая работа "Обработка массивов в Паскале"

Практическая работа "Обработка массивов в Паскале"

данная работа предназначена для закрепления навыков обработки массивов в программах
20.04.2020

Содержимое разработки

Практическая работа. Примеры решения задач


  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. Дан массив целых чисел. Найти количество тех элементов, значения которых положительны и не превосходят заданного натурального числа А.


Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента массива; Xii-й элемент массива X; А – заданное число; k – количество элементов, значения которых положительны и не превосходят заданного числа А.

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

Выходные данные: k.

Вводим с клавиатуры значение числа А. Количество элементов, значения которых положительны и не превосходят заданного числа А, вначале полагаем равным нулю, то есть k:=0. Если очередной элемент массива положителен и не превосходят заданного числа A, то количество таких элементов нужно увеличить на единицу, то есть k:=k + 1. Таким образом, обрабатываются все элементы массива.

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

Program Primer2_1;

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

      i, n, k, A: Integer;

Begin

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

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

      Write (‘A=’);  Readln (A); k:= 0;  i:=1;

     While i n Do   {обработка массива}

begin

      If (X[i] 0) and (X[i] Then k:=k + 1;

i:= i+1;

end;

      Writeln (‘k=’, k);

      Readln

  End.

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

Нахождение номеров элементов, обладающих заданным свойством


Задача 3. Найти номера четных элементов, стоящих на нечетных местах.

Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента массива; Xi – i-й элемент массива Х.

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

Выходные данные: i.

Необходимо просмотреть весь массив. Если просматриваемый элемент является четным, а его порядковый номер – нечетный, то вывести его номер. При решении этой задачи можно использовать любой из видов циклов.

Составим программу с помощью цикла с параметром:

Program Primer3_1;

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

      i, n:  Integer;

Begin

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

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

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

      If (X[i] mod 2 = 0) and (i mod 20) Then Write (i:5);

      Readln

      End.


Задача 4. Найти номер последнего отрицательного элемента массива.

Введем обозначения: n – количество элементов в массиве; А – имя массива; i – индекс элемента массива; Ai – i-й элемент массива A; m – номер последнего отрицательного элемента массива.

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

Выходные данные: m.

Последний отрицательный элемент массива – это первый отрицательный элемент, который встретится при просмотре массива с конца. Если очередной элемент не является отрицательным, то нужно уменьшать значение текущего индекса (i:=i-1), пока он не станет меньше номера первого элемента или не будет найден отрицательный элемент. Переменная m получает значение i (номер отрицательного элемента), т.е. m := i. Если в массиве нет отрицательного элемента, то значение переменной m остается равным нулю.

Program Primer3_2;

Const n=10;

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

      i, m: Integer; 

Begin

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

      m := 0;  i:=n;

      While  (i = 1) and (A[i] =0) Do i:=i-1;    m:=i;

       Writeln (‘m=’, m);

      Readln

      End.

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

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


Задания для самостоятельной работы


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

Задача 2. Составьте программу, которая в одномерном массиве размерностью 8 (элементы массива случайные числа из промежутка от 15 до 100) находит максимальный элемент.  


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

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

-80%
Курсы профессиональной переподготовке

Учитель, преподаватель информатики

Продолжительность 300 или 600 часов
Документ: Диплом о профессиональной переподготовке
13800 руб.
от 2760 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Практическая работа "Обработка массивов в Паскале" (19.58 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт