Обработка одномерных массивов

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 80. Практическая работа по теме Обработка одномерных массивов.doc

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

Тема: Обработка одномерных массивов

Цель: применение на практике описания одномерных массивов, алгоритмов обработки (замена элементов, подсчёт количества и суммы).

Вид работы: фронтальная.

Время выполнения: 2 часа.

Теоретический материал:

Массив – упорядоченный набор однотипных элементов. Одномерный массив представляет собой строку или столбец элементов, причём каждый элемент имеет свой индекс (номер). Количество элементов в массиве называется размерностью. При описании массивов используется служебное слово - array. Пример описания:

Var x: array[1..5] of integer;

X – это массив целочисленных элементов, состоящий из 5 элементов. К каждому элементу массива можно обратиться по имени с указанием номера в квадратных скобках, например, X[3].

Для задания массивов используют или ручной ввод, или генератор случайных чисел random(n), где n – целое положительное число. Чтобы заполнить массив случайными числами можно записать: x[i]:=random(20) – элементами массива x будут числа от 0 до 19 (последняя цифра не учитывается). Для смены набора случайных чисел применяют оператор – randomize. Обработка массива подразумевает выполнение некоторых действий над элементами: сортировка, поиск, определение суммы, произведения и т.п.

Задания:

1)  Напишите программу для заполнения массива X(10) случайными числами в диапазоне от -15 до 10. Выведите массив в строку с использованием форматного вывода.

2)  Модернизируйте предыдущую программу так, чтобы в ней подсчитывалось количество и сумма всех отрицательных элементов массива.

3)  Заполните массив S(n) символами с клавиатуры. Подсчитайте количество символов ‘z’ в данном массиве.

4)  *Пусть массив A(n) заполнен целыми числами. Отсортируйте массив любым методом сначала по возрастанию, затем по убыванию. На экран необходимо вывести три массива: неупорядоченный, упорядоченный по убыванию, упорядоченный по возрастанию.

Ход работы:

Для каждой задачи в тетрадь оформите блок-схему и листинг программы

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

x[i]:= random(26)-15; {числа в диапазоне от -15 до 10}

write(x[i]:4); {вывод элементов в строку}

2. В программе для предыдущей задачи в теле цикла добавляется условие:

if x[i]<0 then begin k:=k+1; s:=s+x[i]; end;

, где k и s – количество и сумма отрицательных чисел. В конце программы осуществляется вывод значений переменных k и s на экран.

3. Точное количество элементов не известно (n), следовательно, при описании массива указывается размерность с запасом, например:

var s: array[1..50] of char; {описание символьного массива}

С помощью оператора readln(n) осуществляется ввод количества элементов. В цикле записывается тот же оператор ввода, но применимо к массиву, т.к. по условию задачи заполнение происходит вручную: readln(x[i]). Проверка условия:

If x[i]=’zthen k:=k+1;

После цикла выводится значение k – количество символов ‘z’ в массиве.

4. Эта задача является дополнительной. Заполнение массива производится случайным образом через генератор случайных чисел. Достаточно записать сортировку по возрастанию, затем скопировать её, поменять знак отношения в условии на противоположный и получится сортировка по убыванию. После каждой сортировки производится вывод массива на экран.

Контрольные вопросы и задания:

1)  Приведите примеры описаний массивов через разделы описания типов, констант и переменных.

2)  Что представляет собой индекс некоторого элемента?

3)  Можно ли в один и тот же массив записать как вещественные так и целые числа? Почему?

4)  С помощью random, получите случайные числа в диапазоне от -27 до 13.

Охарактеризуйте операции ord и chr.


Скачано с www.znanio.ru