Одной из дисциплин, изучаемой студентами 1 курса бакалавриата различных направлений (в частности, «Электроэнергетика и электротехника», «Инноватика», «Информационная безопасность») является «Информатика». Изучение основ программирования является неотъемлемой составляющей данной дисциплины.
В ходе выполнения лабораторной работы на тему «Типы данных, определяемые программистом. Массивы» студенты главным образом должны научиться разрабатывать программы в системе Турбо-Паскаль с использованием одномерных и двумерных массивов, а также перечисляемого и интервального типов данных.
Для проведения лабораторной работы было подготовлено методическое пособие, основанное прежде всего на учебных пособиях [1, 2]. Также при подготовке этого пособия был учтен опыт создания методических разработок на кафедре ИТАС ПНИПУ [3-6].
В первую очередь, студенты читают раздел данного пособия, называющийся «Краткие теоретические сведения», в котором изложены следующие аспекты, связанные с программированием на языке Турбо-Паскаль: 1) особенности определения программистом типа данных; 2) особенности работы с перечисляемым типом данных; 3) особенности работы с интервальным типом данных; 4) особенности работы с одномерными массивами; 5) пример программы для ввода и вывода элементов одномерного массива; 6) пример программы поиска максимального элемента в одномерном массиве; 7) пример программы вычисления суммы элементов одномерного массива и количества отрицательных элементов в массиве; 8) особенности работы с двумерными массивами; 9) пример программы для работы с двумерным массивом (определение среднего арифметического элементов матрицы и количества положительных элементов в каждой строке матрицы); 10) особенности генерации псевдослучайных чисел в языке Турбо-Паскаль.
Рассмотрим простейший пример программы, предназначенной для работы с массивом и приведенный в «Кратких теоретических сведениях». Изначально пользователь вводит значения всех элементов одномерного массива, состоящего из 5 элементов. Затем на экран выводятся значения этих элементов.
Текст программы, написанной в системе Турбо-Паскаль, показан на рис. 1. Как видно из данного примера, для работы с массивами удобно использовать цикл for.
Рис. 1. Простейшая программа для работы с одномерным массивом
Результат работы программы представлен на рис. 2.
Рис. 2. Простейшая программа для работы с одномерным массивом
Изучение раздела методического пособия «Краткие теоретические сведения» во многом направлено на систематизацию студентом знаний, полученных на лекциях.
Далее студенты выполняют индивидуально по вариантам задания на компьютере, осваивая тем самым особенности написания в системе Турбо-Паскаль простейших программ с использованием массивов.
Рассмотрим один из вариантов, включающий в себя 2 задания.
Задание №1. Необходимо написать программу, заполняющую одномерный массив, содержащий 15 элементов, целыми псевдослучайными числами из диапазона [-100; 500]. Затем вывести на экран:
а) все элементы массива;
б) среднее арифметическое элементов массива, а также наибольший и наименьший из элементов массива;
в) элементы массива, удовлетворяющие следующему условию: число одновременно и больше 4, и кратно 5.
Образец результата выполнения программы для одномерного массива, состоящего из 12 элементов, приведен на рис. 3.
Рис. 3. Образец результата выполнения программы для задания №1
Задание №2.Необходимо написать программу, выполняющую последовательно следующие действия:
1) Заполнить вещественную матрицу размером 4×6 псевдослучайными числами из диапазона [-100, 300].
2) Вывести данную матрицу на экран.
3) Элементы массива, принадлежащие промежутку числовой прямой (10;175), заменить на значение выражения , где x – элемент массива, принадлежащий указанному промежутку числовой оси.
4) Измененную матрицу заново вывести на экран.
Образец результата выполнения программы для матрицы размером 5×5, промежутка числовой прямой [-5;49) и выражения приведен на рис. 4.
Рис. 4. Образец результата выполнения программы для задания №2
После выполнения заданий на компьютере студент должен оформить отчет, содержащий постановку каждого задания, тексты программ и результаты выполнения программ. Отчет в распечатанном виде студент должен защитить, ответив на вопросы преподавателя (аналогичные вопросам для самоконтроля, приведенным в методическом пособии).
Примеры вопросов для защиты отчета:
1) Каким образом задаются все возможные значения перечисляемого типа данных?
2) Программистом был определен тип данных:
type t = (x1, x2, x3, x4);
Чему равны значения следующих выражений:
а) ord(x2)
б) succ(x3)
в) pred(x4)
3) Для чего используется интервальный тип?
4) Что называется массивом?
5) Какое ограничение накладывается на тип элементов массива и тип его индексов?
6) Программистом были описаны массив a и две переменные (i и x):
const
a: array[1..5] of integer = (60, 49, 3, 22, 1);
var
i,x: integer;
Вычислить значение переменной x после выполнения следующей последовательности операторов:
x:=0;
for i:=1 to 5 do
x:=x+a[i] div 2;
7) Программистом были описаны массив a и две переменные (i и x):
const
a: array[0..4] of integer = (2, 15, 11, 48, 69);
var
i,x: integer;
Вычислить значение переменной x после выполнения следующей последовательности операторов:
x:=0;
for i:=1 to 3 do
x:=x+a[i] mod 3;
8) Программистом были описаны массив a и три переменные (i, j и x):
const
a: array[1..2,1..3] of integer = ((1, 52, 7),
(19, 64, 80));
var
i,j,x: integer;
Вычислить значение переменной x после выполнения следующей последовательности операторов:
x:=0;
for i:=1 to 2 do
for j:=1 to 3 do
x:=x+100 div a[i,j];
По мере накопления опыта преподавания дисциплины «Информатика» организация данной лабораторной работы и соответствующее данной работе методическое пособие будут совершенствоваться.
Литература:
1. Семакин И.Г., Шестаков А.П. Лекции по программированию: Учебное пособие. Изд. 2-е, доп. – Пермь: Изд-во Перм. ун-та, 1998. – 279 с.
2. Программирование на языке высокого уровня Паскаль. Лекция 3: Типы данных, определяемые программистом. [Электронный ресурс] – Режим доступа: http://www.intuit.ru/studies/courses/628/484/lecture/6261. (Дата обращения: 24.09.2013).
3. Файзрахманов Р.А. Проектирование автоматизированных информационных систем на основе объектно-ориентированного подхода : учебное пособие / Р.А. Файзрахманов, А.В. Архипов ; Пермский государственный технический университет .— Пермь : Изд-во ПГТУ, 2011 .— 222 с.
4. Файзрахманов Р.А. Автоматизация научных исследований : учебное пособие / Р.А. Файзрахманов, И.Н. Липатов ; Пермский государственный технический университет. — Пермь : Изд-во ПГТУ, 2011. — 161 с.
5. Теория вычислительных процессов: практикум / Р.А. Файзрахманов, Д.Б. Кузнецов, И.С. Полевщиков. – Пермь: Изд-во Перм. нац. исслед. политехн. ун-та, 2014. – 107 с.
6. Полевщиков И.С., Байков В.С., Швецов М.Д. Разработка методического пособия на тему «Тестирование условий» (для студентов и магистрантов направления «Информатика и вычислительная техника») // Педагогика и современность. – 2012. – №2 - М.: Издательство «Перо» – С. 84-90.