Информатика. Часть 2
Покупка
Новинка
Тематика:
Общая информатика
Издательство:
ЛГПУ имени П. П. Семёнова-Тян-Шанского
Год издания: 2024
Кол-во страниц: 97
Возрастное ограничение: 16+
Дополнительно
Практикум содержит теоретический материал и практические задания по выполнению и защите лабораторных работ. В каждой работе рассмотрен пример алгоритма решения задачи на языке программирования Pascal, представлен перечень контрольных вопросов. Пособие содержит примеры оформления программного продукта и требования к оформлению отчетной документации, формирует основы навыков программирования на языках высокого уровня. Практикум разработан в соответствии с требованиями ФГОС ВПО по направлению подготовки 44.03.05 «Педагогическое образование» (с двумя профилями подготовки) (одним из профилей является «Информатика»), по направлениям, базирующимся на информатике: «ИС», «ИВТ», «ПО(ИВТ)», «ПМИ», «ИБ». Предназначен для студентов вышеперечисленных направлений и профилей подготовки. Рекомендовано также слушателям программ дополнительного профессионального образования соответствующего направления подготовки.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 44.03.05: Педагогическое образование (с двумя профилями подготовки)
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
С.О. Алтухова, З.А. Кононова ИНФОРМАТИКА Практикум Часть 2 Издание 2-е, дополненное и переработанное Липецк 2024
МИНИСТЕРСТВО ПРОСВЕЩЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ П.П. СЕМЕНОВА-ТЯН-ШАНСКОГО» Институт естественных, математических и технических наук Кафедра информатики, информационных технологий и защиты информации С.О. Алтухова, З.А. Кононова ИНФОРМАТИКА Практикум Часть 2 Издание 2-е, дополненное и переработанное Липецк 2024
УДК 004.43 ББК 32.973.3 А52 Рекомендовано к печати кафедрой информатики, информационных технологий и защиты информации ЛГПУ имени П.П. Семенова-Тян-Шанского. Протокол № 5 от 08. 02.2024 г. Алтухова, С.О. Информатика: практикум / С.О. Алтухова, З.А. Кононова. – Издание 2-е, дополненное и переработанное – Липецк: ЛГПУ имени П.П. Семенова-Тян-Шанского, 2024. – Ч. 2. – 100 с. Практикум содержит теоретический материал и практические задания по выполнению и защите лабораторных работ. В каждой работе рассмотрен пример алгоритма решения задачи на языке программирования Pascal, представлен перечень контрольных вопросов. Пособие содержит примеры оформления программного продукта и требования к оформлению отчетной документации, формирует основы навыков программирования на языках высокого уровня. Практикум разработан в соответствии с требованиями ФГОС ВПО по направлению подготовки 44.03.05 «Педагогическое образование» (с двумя профилями подготовки) (одним из профилей является «Информатика»), по направлениям, базирующимся на информатике: «ИС», «ИВТ», «ПО(ИВТ)», «ПМИ», «ИБ». Предназначен для студентов вышеперечисленных направлений и профилей подготовки. Рекомендовано также слушателям программ дополнительного профессионального образования соответствующего направления подготовки. УДК 004.43 ББК 32.937.3 А52 Рецензенты: С.В. Мицук, канд. ф.-м. наук, доцент кафедры ИИТиЗИ, ФГБОУ ВО «Липецкий государственный педагогический университет имени П.П. Семенова-Тян-Шанского»; Е.В. Клейменова, канд. пед. наук, доцент кафедры гуманитарных и естественнонаучных дисциплин, Липецкий филиал РАНХиГС © ФГБОУ ВО «Липецкий государственный педагогический университет имени П.П. Семенова-Тян-Шанского», 2024 © С.О. Алтухова, 2024 © З.А. Кононова, 2024
ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ .......................................................................................................... 4 1. ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ОТЧЕТА ..................................................... 5 ПО ЛАБОРАТОРНОЙ РАБОТЕ ................................................................................ 5 2. ПОРЯДОК ЗАЩИТЫ ЛАБОРАТОРНОЙ РАБОТЫ ........................................... 5 3. ЛАБОРАТОРНЫЕ РАБОТЫ ................................................................................. 6 Лабораторная работа №7 «Двумерные массивы. Сортировка и поиск» ............... 6 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ .................................................................................... 6 ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №7 ................................................... 23 Контрольные вопросы для защиты лабораторной работы №7 ......................... 25 Лабораторная работа №8 «Подпрограммы» ........................................................... 26 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ .................................................................................. 26 ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №8 ................................................... 37 Контрольные вопросы для защиты лабораторной работы №8 ......................... 39 Лабораторная работа №9 «Записи и множества» .................................................. 40 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ .................................................................................. 40 ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №9 ................................................... 52 Контрольные вопросы для защиты лабораторной работы №9 ......................... 54 Лабораторная работа №10 «Файлы» ....................................................................... 55 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ .................................................................................. 55 ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №10 ................................................. 67 Контрольные вопросы для защиты лабораторной работы №10 ....................... 71 Лабораторная работа №11 «Графика» .................................................................... 72 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ .................................................................................. 72 ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №11 ................................................. 86 Контрольные вопросы для защиты лабораторной работы №11 ....................... 86 Лабораторная работа № 12 «Модули пользователя» ............................................ 87 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ .................................................................................. 87 ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №12 ................................................. 93 Контрольные вопросы для защиты лабораторной работы №12 ....................... 93 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ ................................................... 94 СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ………………………………..94 3
ПРЕДИСЛОВИЕ Дисциплины «Информатика» является профилирующей дисциплиной в системе компьютерной подготовки студентов 1-2 курсов направления подготовки 44.03.05 «Педагогическое образование» (профили «Информатика и математика», «Информатика и дополнительное образование в области робототехники и конструирования», «Информатика и дополнительное образование в области цифровых образовательных ресурсов», «Математика и информатика») и других профилей, связанных с информатикой. Цель курса – изучить основы программирования на языке Pascal, познакомиться с новейшими системами и технологиями программирования, которые позволят в дальнейшем быстро осваивать вновь появляющиеся системы программирования и создавать с их помощью прикладное программное обеспечение для организации, проведения учебно-воспитательного процесса и других сфер человеческой деятельности, а также развивать свои навыки программирования. Настоящее издание носит характер методических указаний. Оно позволяет глубоко освоить технологию процедурного программирования, сформировать навыки создания законченного программного продукта, включающего в себя: - постановку задачи; - разработку блок-схемы алгоритма решения задачи; - реализацию алгоритма с использованием принципов модульного программирования. Задания, представленные в практикуме, взяты из книг, включенных в список используемой литературы [3-7]. 4
1. ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ Отчет по каждой лабораторной работе должен содержать следующую информацию: 1. Название лабораторной работы. 2. Содержание задания Вашего варианта. 3. Описание структуры данных: входные и выходные данные, их тип, диапазон допустимых в данной задаче значений. 4. Блок-схему алгоритма решения задачи. 5. Код программы. 6. Контрольный пример. 2. ПОРЯДОК ЗАЩИТЫ ЛАБОРАТОРНОЙ РАБОТЫ Порядок выполнения лабораторных работ осуществляется в соответствии с индивидуальным заданием (вариантом, номер которого определяет преподаватель) во время, отведенное для индивидуальной самостоятельной работы студентов в соответствии с расписанием. Студент набирает и отлаживает программу и демонстрирует преподавателю правильность работы программы путем проверки ее контрольным примером. Преподаватель визирует в отчете отлаженную программу и допускает студента до защиты лабораторной работы. Защита лабораторной работы осуществляется в устной форме по контрольным вопросам, представленным в конце каждой работы. 5
3. ЛАБОРАТОРНЫЕ РАБОТЫ Лабораторная работа №7 «Двумерные массивы. Сортировка и поиск» ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Двумерный массив трактуется как одномерный массив, тип элементов которого также является одномерным массивом. Таким образом, двумерный массив – это массив массивов. Представляется такой массив в виде прямоугольной таблицы или матрицы (рис. 1). столбцы 1 2 3 … n 1 X11 X12 X13 … X1n 2 X21 X22 X23 … X2n 3 X31 X32 X33 … X3n строки … … … … … … m Xm1 Xm2 Xm3 … Xmn 5 -1 7 ЭЛЕМЕНТЫ 11 12 13 -10 0 5 X ИМЯ МАССИВА 21 22 23 3 2 4 ИНДЕКСЫ 31 32 33 Рисунок 1– Представление двумерного массива Таким образом, каждый элемент двумерного массива однозначно определяется именем массива и индексами (номерами строки и столбца этого элемента в массиве). 6
Примеры объявлений двумерных массивов: Type tm=Array [1..10, 1..100] of real; Const n=6, m=10; Var Arr1, Arr2: tm; Arr3: Array [1..n, 1..m] of integer; Arr4: Array [0..10, 1..20] char; Для обращения к отдельному элементу массива указывается имя этого массива и номер элемента, заключенный в квадратные скобки. Например, (см.: рис.1) X[2,1] (будет получено значение -10) или А[3,3] (значение 4). Матрица, в которой количество строк и столбцов одинаковое, называется квадратной матрицей и обозначается матрица n × n. Главная и побочная диагонали при работе с квадратными матрицами Главная диагональ квадратной матрицы n × проходит с верхнего левого угла матрицы (элемент 1,1) до правого нижнего угла матрицы (элемент n,n) (рис. 2 а). Побочная диагональ квадратной матрицы n × n проходит с нижнего левого угла матрицы (элемент n,1) до правого верхнего угла матрицы (элемент 1,n) (рис 2 б). б) X11 X12 X13 … X1n X11 X12 X13 … X1n X21 X22 X23 … X2n X21 X22 X23 … X2n X31 X32 X33 … X3n X31 X32 X33 … X3n … … … … … … … … … … Xn1 Xn2 Xn3 Xnn Xn1 Xn2 Xn3 Xnn а) Рисунок 2 – Диагонали квадратной матрицы (а – главная диагональ, б – побочная диагональ) 7
Некоторые алгоритмы работы с двумерными массивами 1. Заполнение двумерного массива случайными числами и вывод его на экран в виде матрицы var x: array[1..100,1..100] of integer; i,j,n,m: integer; begin randomize; write('Введите количество строк '); readln(n); write('Введите количество столбцов '); readln(m); for i:=1 to n do // цикл для перебора всех строк begin for j:=1 to m do // цикл для перебора всех столбцов begin x[i,j]:=random(10); // ввод случайным образом элемента, стоящего // в i -й строке и j -м столбце write(x[i,j]:4); // печать элементов, стоящих в i -й строке матрицы // в одной экранной строке, при этом для вывода // каждого элемента отводится 4 позиции end; writeln; // прежде, чем сменить номер строки в матрице, // необходимо перевести курсор на начало новой // экранной строки end; end. 2. Отсортировать каждую строку двумерного массива по возрастанию значений элементов. const m=3; n=5; var x:array[1..m,1..n] of integer; i,j,k:byte; a:integer; begin randomize; {Заполнение двумерного массива случайными числами} for i:=1 to m do begin 8
for j:=1 to n do begin x[i,j]:=random(10); write(x[i,j]:4); end; writeln; end; {Сортировка массива методом пузырька} for i:=1 to m do for j:=1 to n-1 do for k:=j+1 to n do if x[i,j]>x[i,k] then begin a:=x[i,j]; // a – буферная переменная, в которой хранится значение // текущего элемента массива x[i,j]:=x[i,k]; // текущий элемент заменяется значением следующего x[i,k]:=a; // значением следующего элемента становится значение // буферной переменной end; writeln('Сортировка: '); for i:=1 to m do begin for j:=1 to n do write(x[i,j]:4); writeln; end; end. Схематично замену значений двух переменных можно представить следующим образом: X1 -10 X2 5 а Исходное состояние: Процесс перестановки: 1 шаг X1 -10 X2 5 а -10 X1 5 X2 5 а -10 2 шаг 3 шаг X1 5 X2 -10 а -10 9