2.15M
Категория: ПрограммированиеПрограммирование

Основы алгоритмизации и программирования. Лекция

1.

Дисциплина
« Основы алгоритмизации
и программирования »
Лекция
Кафедра цифровой экономики
Гринева Елизавета Сергеевна,
преподаватель
14 декабря 2022 г.

2.

Цель занятия:
Приобретение навыков программирования
при решении задач с использованием
одномерных и двумерных массивов, а также
характерных приемов программирования.
2

3.

Учебные вопросы
3
Что такое массив?
Какой массив называют одномерным?
Какой массив называют двумерным?
Как описывается массив?
Перечислите характеристики массивов.
Какие типы адресации существуют при обращении к элементам массива?

4.

Список основной литературы
1. Родыгин, А.В. Информационные технологии: алгоритмизация и
программирование : [16+] / А.В. Родыгин. – Новосибирск : Новосибирский
государственный технический университет, 2017. – 92 с. : ил., табл. – Режим
доступа: по подписке. – URL: https://biblioclub.ru/
2. Нагаева, И.А. Основы алгоритмизации и программирования: практикум :
[12+] / И.А. Нагаева, И.А. Кузнецов. – Москва ; Берлин : Директ-Медиа,
2021. – 169 с. : схем. – Режим доступа: по подписке. –
URL: https://biblioclub.ru/
4

5.

Список
дополнительной литературы
1. Нагаева, И.А. Алгоритмизация и программирование. Практикум : учебное
пособие : [12+] / И.А. Нагаева, И.А. Кузнецов. – Москва ; Берлин : ДиректМедиа, 2019. – 168 с. : ил., табл. – Режим доступа: по подписке. –
URL: https://biblioclub.ru/
2. Степаненко, Е.В. Информатика: учебное электронное издание /
Е.В. Степаненко, И.Т. Степаненко, Е.А. Нивина ; Тамбовский
государственный технический университет. – Тамбов : Тамбовский
государственный технический университет (ТГТУ), 2018. – 104 с. : табл.,
схем., ил. – Режим доступа: по подписке. – URL: https://biblioclub.ru/
3. Златопольский, Д.М. Программирование: типовые задачи, алгоритмы,
методы : [12+] / Д.М. Златопольский. – 4-е изд. (эл.). – Москва :
Лаборатория знаний, 2020. – 226 с. : ил. – Режим доступа: по подписке. –
URL: https://biblioclub.ru/
5

6.

Тип.
6
Тип в программировании – это множество, для которого оговорен
некоторый набор операций над элементами – значениями, которые могут
принимать переменные этого типа. Существуют четыре стандартных типа
Паскаля: типы Real, Integer (это числовые множества), тип Char (множество
символов), тип Boolean. Однако в Паскале имеются средства, позволяющие
определять, исходя из имеющихся типов, новые типы. Различают
следующие структурированные типы данных:
массив;
запись;
строка;
множество.
В данной лекции мы подробно рассмотрим массивы.

7.

Определение массива.
7
Массивы, как и циклы, — величайшее изобретение программирующего
человечества. Массивы приходят на помощь тогда, когда приходится
иметь дело с наборами однотипных и однородных данных (например,
координаты точки в двумерном, трехмерном пространстве).
Массив – это упорядоченная последовательность однотипных элементов
определенной длины, имеющая общее имя. Номер элемента в
последовательности называется индексом. Количество элементов в
массиве не может быть изменено в процессе выполнения программы.
Элементы массива размещаются в памяти последовательно и
нумеруются от 1 до n, где n – их количество в массиве. К каждому
элементу массива имеется прямой доступ. Это означает, что для того
чтобы обратиться к какому-либо элементу массива, нет нужды
перебирать все его предыдущие элементы, достаточно указать номер
этого элемента.

8.

8
Массив имеет следующие характеристики:
имя массива записывается по тем же правилам, что и имена переменных. Имя
массива задает имя каждому элементу массива: каждый элемент массива
обозначается этим именем и индексом, который определяет номер (место) этого
элемента в массиве;
базовый тип – общий тип элементов массива;
размерность (ранг) — это количество элементов в массиве;
диапазон – количество допустимых значений каждого индекса;
форма – совокупность размерности и диапазонов.
Одномерные массивы – массивы, в которых элементы пронумерованы
последовательно по порядку: первый элемент, второй, третий и т.д. Для
обозначения элементов одномерного массива используется один индекс.
Двумерные массивы – массивы, в которых данные условно организованы в
виде таблицы (матрицы), где положение каждого элемента определяется
номером строки т номером столбца. Для обозначения элементов двумерного
массива используются два индекса: первый индекс для обозначения номера
строки, второй индекс для обозначения номера столбца.

9.

Одномерный массив
Описать массив можно двумя способами. Первый способ.
В разделе описания переменных мы можем описать массив следующим
образом:
Var A: Array[n1..n2] Of <базовый тип>;
Здесь A – название массива;
9
Array – служебное слово;
n1,n2 – соответственно номер первого и последнего элемента
массива;
<базовый тип> – любой из уже изученных типов.
Количество элементов массива будет равно (n2- n1+1).
Например, запись Var Massiv: Array[1.. 20] Of Real; означает, что
полученный массив будет состоять из 20 вещественных чисел, первое из
которых будет иметь номер 1, последнее – 20. Наш массив будет иметь
имя Massiv.

10.

10
Второй способ.
Описание массива заключается в создании нового оригинального типа. Для того,
чтобы программист мог создавать свои новы типы в Паскале существует раздел
описания типов Type. Этот раздел находится между разделом описания констант и
разделом описания переменных
Type
<Имя типа> = Array[n1..n2] Of <базовый тип>;
После этого в разделе описания переменных мы можем описать массив, который
имеет созданный нами тип, например,
Type
Mas= Array[10..19] Of Integer;
Var B: Mas; В данном случае мы сначала описали новый тип Mas – массив из десяти
целых чисел с номерами от 10 до 19, затем описали переменную B типа Mas.
В большинстве случаев для обработки массивов используются циклы. В цикле
имеется возможность поочередно перебрать все элементы массива.
Для ввода массива с клавиатуры может быть использован цикл следующего вида:
пусть имеется массив с именем A, состоящий из n элементов, тогда
For i:=1 To n Do Read (A[i]);

11.


В этом случае пользователь вводит через пробел n элементов массива. Для
ввода элементов массива с новой строки используется оператор ReadLn.
Ввод данных в массив происходит следующим образом: сначала значение
счетчика цикла равно 1; выполняется операция Read (A[1]); поле чего
счетчик цикла становится равным 2; выполняется операция Read (A[2])… и
т.д. до значения i=n включительно.
Для вывода массива на экран используется следующий цикл:
11
For i:=1 To n Do Write (A[i]);
WriteLn;
В данном случае на экран в одну строку будут выведены все n элементов
массива, после чего курсор переместится на одну строку вниз.
Как уже было сказано выше, для обработки массивов используются циклы.
Пример: пусть имеется массив M, состоящий из n элементов с номерами
от 1 до n. Найти сумму элементов массива, вывести ее на экран.
Sum := 0;
For i:=1 To n Do Sum := Sum + M[i];
WriteLn(‘Сумма элементов массива =’, Sum);

12.


12
Двумерные массивы
В математике очень распространено такое понятие как матрица. Матрица –
это таблица из коэффициентов A=(aij). Элементы матрицы образуют
столбцы и строки. Первый индекс ( i ) указывает номер строки, второй ( j ) –
номер столбца, на пересечении которых находится элемент aij.
Определим некоторые действия над матрицами:
Две матрицы равны, если равны все элементы, стоящие в одинаковых
местах.
Суммой двух матриц A=(aij) и B=(bij) называется матрица C=(cij),
где cij = aij + bij
Произведением матрицы A=(aij) на число L называют матрицу, у которой
каждый элемент равен произведению соответствующего элемента
матрицы на число L.
В программировании матрицы удобно представлять с помощью двумерных
массивов.

13.


Описание двумерных массивов отличается от описания одномерных
массивов только тем, что мы указываем начальное и конечное значение для
обоих индексов:
Var A: Array[n1..n2, m1..m2] Of <базовый тип>;
Здесь n1,n2 – начальное и конечное значения первого индекса;
m1,m2 – начальное и конечное значения второго индекса.
Многомерный массив в Паскале трактуется как одномерный массив, тип
элементов которого также является массивом (массив массивов). Поэтому
подобным образом можно описать любые .n-мерные массивы: для этого
необходимо указать через запятую начальные и конечные значения для
каждого индекса. Например, описание трехмерного массива:
13
Var A: Array[1.. 10, 1..20, 1..30] Of Integer;

14.

Домашние задание
(Задание на самоподготовку)
1 Изучить пройденный материал
2 Почитать дополнительную литературу
14
English     Русский Правила