
- •230701 Прикладная информатика (по отраслям)
- •Содержание
- •Требования к минимуму содержания основной профессиональной образовательной программы по специальности 080802 Прикладная информатика (по отраслям)
- •Рабочая программа
- •Пояснительная записка
- •Тематический план учебной дисциплины
- •Содержание учебной дисциплины
- •Тема 1.4. Составление алгоритмов с помощью блок-схем
- •Тема 1.5. Методы и правила надежного программирования. Способы конструирования программ
- •Раздел IV. Процедуры и функции.
- •Тема 4.1. Подпрограммы
- •Тема 4.2. Параметры и аргументы, связь формальных и фактических параметров
- •Раздел V. Программирование рекурсивных алгоритмов
- •Тема 5.1. Рекурсивные процедуры и функции
- •Тема 5.2. Примеры рекурсивного программирования
- •Раздел VIII. Ввод и вывод информации: текстовые файлы
- •Тема 8.1. Файлы и их виды
- •Тема 8.2. Оперирование текстовыми файлами.
- •Раздел IX. Структурированный тип записи
- •Тема 9.1. Записи и их описание
- •Тема 9.2. Использование таблиц с разнотипными полями. Записи.
- •Раздел X. Модульное программирование
- •Тема 10.1. Методы работы с модулями. Стандартные модули языка Pascal.
- •Тема 10.2. Создание модульных программ
- •Критерии оценок
- •Литература
- •Теоретический курс Основные понятия языка Состав языка
- •Алфавит и лексемы
- •Константы
- •Имена, ключевые слова и знаки операций
- •Типы данных
- •Классификация типов
- •Стандартные типы данных Логические типы
- •Целые типы
- •Вещественные типы
- •Символьный тип
- •Порядковые типы
- •Приведение типов
- •Линейные программы
- •Переменные
- •Выражения
- •Структура программы
- •Оператор присваивания
- •Процедуры ввода-вывода
- •Ввод с клавиатуры
- •Вывод на экран
- •Операторы ветвления
- •Условный оператор if
- •Оператор варианта case
- •Операторы цикла
- •Цикл с предусловием while
- •Цикл с постусловием repeat
- •Цикл с параметром for
- •Рекомендации по использованию циклов
- •Процедуры передачи управления
- •Оператор перехода goto
- •Перечисляемый тип данных
- •Интервальный тип данных
- •Массивы
- •Двумерные массивы
- •Операции
- •Процедуры и функции для работы со строками
- •Множества
- •Операции над множествами
- •Текстовые файлы
- •Бестиповые файлы
- •Компонентные файлы
- •Прямой доступ
- •Совместимость типов
- •Совместимость по присваиванию
- •Подпрограммы
- •Процедуры
- •Функции
- •Глобальные и локальные переменные
- •Виды параметров подпрограмм
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Открытые массивы и строки
- •Параметры процедурного типа
- •Рекурсивные подпрограммы
- •Описание модулей
- •Использование модулей
- •Стандартные модули Паскаля
- •Модуль System
- •Модуль Crt
- •Модули Dos и WinDos
- •Модуль Graph
- •Модуль Strings
- •Задания для самостоятельной работы студентов
- •1. Знакомство с интегрированной средой программирования pascal
- •1. Общие положения
- •Начало работы
- •Интерфейс ide
- •Комбинации клавиш
- •2. Подготовка текста программы
- •5. Компиляция
- •5.1. Ошибки времени компиляции
- •6. Пробный запуск программы на выполнение
- •6.1. Ошибки времени выполнения программы
- •7. Запуск программы на исполнение
- •8. Завершение работы
- •9. Практическое задание
- •2. Организация работы программ линейной структуры
- •1. Управление режимами вывода данных на экран дисплея
- •1.1. Управление положением курсора на экране монитора
- •1.2. Стандартный модуль crt. Подключение модулей с помощью Uses. Процедура очистки экрана дисплея ClrScr. Функция ReadKey
- •1.3. Процедуры работы с цветом (TextColor,TextBackground)
- •2. Практическое задание – решение задач линейной структуры
- •3. Решение задач с условием
- •3. Составной оператор
- •Практическое задание – решение задач с условием
- •4. Решение задач на множественный выбор
- •5. Организация циклов с помощью оператора for
- •1.Особенности циклов
- •2. Оператор цикла с параметром (со счетчиком) for ... Do
- •3. Вложенные циклы
- •2.1. Структура вложенных циклов
- •6. Организация циклов с помощью оператора while
- •7. Организация циклов с помощью оператора repeat
- •8. Организация программ с использованием процедур
- •1. Общие положения
- •2. Описание процедуры, оператор процедуры
- •2.1. Формальные и фактические параметры
- •2.2. Параметры-значения и параметры-переменные
- •2.3. Область действия имен
- •2.4. Процедуры без параметров
- •3. Массив в процедуре
- •9. Организация программ с использованием функций
- •10. Организация программ с использованием рекурсий
- •1. Особенности рекурсии
- •11. Решение задач на обработку элементов одномерного массива
- •1. Стандартные операции с массивами
- •12. Решение задач на обработку элементов двумерного массива
- •1. Многомерные массивы
- •2. Ввод-вывод двумерного и многомерного массива
- •3. Стандартные (типовые) задачи на двумерных массивах
- •4. Практическое задание - решение задач с использованием массивов
- •13. Решение задач по обработке символьных данных
- •1. Таблица кодирования символов
- •Б азовая таблица кодировки ascii
- •2. Запись символов, специальные и управляющие символы
- •3. Операции отношения
- •4. Встроенные функции
- •14. Решение задач по обработке строковых данных
- •1. Внутреннее представление строки
- •2. Операции над строками
- •3. Строковые встроенные функции
- •4. Примеры использования процедур и функций
- •5. Практическое задание
- •Методические указания
- •15. Решение задач по обработке множественного типа
- •1. Описание множественного типа
- •2. Присваивание значений переменным множественного типа
- •3. Операции над множествами
- •3.6. Нахождение элемента во множестве
- •3.7. Приоритеты операций при работе с множествами
- •4. Практическое задание
- •16. Решение задач по обработке структурированного типа - запись
- •1. Описание записи
- •2. Обращение к элементу записи
- •3. Оператор присоединения
- •4. Практическое задание
- •Образцы контрольных работ
- •Контрольно-измерительные материалы
4. Практическое задание
Методические указания
Определить алгоритм решения задачи, записать намеченный алгоритм в виде блок-схемы программы.
Подобрать контрольный пример.
После чего приступить к написанию программы в ИСП.
Задание 1
Постановка задачи. Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности символы согласно таблице 12.
Т
аблица
12
16. Решение задач по обработке структурированного типа - запись
1. Описание записи
Запись (Record) - это структура (тип данных), предназначенная для хранения в оперативной памяти компьютера сложных данных, состоящих из отдельных компонент различных типов, которые называются полями.
Объявление записи можно сделать в разделе или в разделе переменных Var или в разделе типов Туре.
Объявление записи в разделе переменных Var имеет следующий вид:
Var < имя записи > : Record
<имя поля 1> : тип;
<имя поля 2>: тип;
……………….
<имя поля n > : тип;
End;
Здесь служебное слово Record (запись) выполняет роль открывающей операторной скобки, End — закрывающей операторной скобки. Внутри операторных скобок описываются имена полей с указанием их типа. Допускается вместо имени поля указывать список имен, то есть имена полей, разделенные запятыми.
Более универсальная форма объявления записи - с использованием раздела типов Туре:
Туре <имя типа > = Record
<имя поля 1> : тип;
<имя поля 2> : тип;
…………………
<имя поля n> : тип;
End;
Var <имя записи> : <имя типа>;
Пример 1
Информацию об анкетных данных студентов можно представить с помощью следующего набора данных:
- фамилия, имя, отчество;
- дата рождения;
- пол;
- домашний адрес;
- телефон;
Созданную структуру опишем как тип записи Student.
Type Student = Record {Описываем тип записи Student}
FIO : String[20]; {Описываем соответствующие поля}
DenR: 1 ..31;
MecR: l .. 12;
GodR : Integer;
Pol : (M, F);
Adrec: String [50];
Nelefon: String [10];
End;
К
аждое
поле в записи, как уже говорилось, может
иметь любой тип (кроме файлового), в
частности может быть записью. Это
дает возможность объединять информацию
по смыслу:
Type Student = Record
FIO : String[20];
DataR : Record
DenR: 1.31;
MecR: 1..12;
GodR : Integer
End;
Pol: (M, F);
Dom : Record
Adrec : String [50];
Telefon: String [10]
End;
End;
2. Обращение к элементу записи
Доступ к элементу конкретной записи в программе обеспечивает уточненное (составное) имя. Уточненное имя содержит имя записи, точку, имя поля и записывается в следующем виде:
< имя записи >. < имя поля >
Переменные-записи типа Student объявляют в разделе Var так:
Var : studl, stud2 : Student;
В программе можно присвоить, например, такие значения:
studl. FIO : = 'Петров ИгорьИванович';
studl. DataR. MecR : = 22;
studl. DataR. GodR : = 1985;
Задача 1
Для некоторого количества студентов ввести по четыре оценки, полученных в сессию, и распечатать фамилии неуспевающих студентов.
Program Lab16_1;
Uses Crt;
Const STMAX=5;
Type
FIO = Siring [20];
BAL = Array [1 .. 4] Of Integer;
{Структура СТУДЕНТА}
STUDENT = Record SFIO : FIO;
SBAL : BAL
End;
ST = Array [1 .. STMAX] Of STUDENT;
Var S : ST;
f, b : Integer;
two : Boolean;
Begin {1}
ClrScr;
Textcolor( Yellow);
WriteLn('Пporpaммa СТУДЕНТ');
WriteLn ('');
Textcolor (White);
{ФИО студентов}
S [1]. SFIO := 'Иванов В.В.';
S [2]. SFIO : = 'Петров СВ.';
S [3]. SFIO : = 'Сидоров MB.';
S [4]. SFIO : = 'Яковлев К.П.';
S [5]. SFIO : = 'Пастухов Е.Г.1;
{Ввод оценок студентов}
For f: = 1 То STMAX Do
Begin {2}
Writeln ('Введите оценки: ');
Writeln ('Студент -', S [f]. SFIO,'');
For b: = 1 To 4 Do
Begin{3}
Write ('Оценка', b,' : ');
Read (S [i]. SBAL [b]);
End; {3}
End; {2}
{Определение наличия двоек и печать ФИО неуспевающих}
WriteLn (' ');
Textcolor (Lightred);
For f: = 1 То STMAX Do
Begin {4}
two : = False;
For b : = 1 To 4 Do
Begin {5}
If S [f]. SBAL[b]<3
Then two : = True;
End; {5}
If two Then WriteLn ('Неуспевающий: ', S [f]. sfio);
End; {4}
End. {1}
Протокол работы программы:
Программа СТУДЕНТ.
Введите оценки:
Студент - Иванов В.В.
Оценка 1 : 3
Оценка 2 : 4
Оценка 3 : 4
Оценка 4 : 2
Студент - Петров С.В.
Оценка 1 : 4
Оценка 2 : 4
Оценка 3 : 2
Оценка 4 : 4
………………
Студент - Пастухов Е.Г.
Оценка 1 : 5
Оценка 2 : 5
Оценка 3 : 5
Оценка 4 : 5
Неуспевающий : Иванов П.М.
Неуспевающий : Петров СВ.
Описание работы программы.
Переменные и константы:
SMAX- количество студентов;
S- массив записей STUDENT;
FIO- переменная ФИО строкового типа;
Bal — массив оценок размерностью четыре;
STUDENT— переменна типа запись;
f, b — переменные циклов;
two — вспомогательная логическая переменная.
Описываем переменные, далее заполняем массив S записями в два этапа:
a) заполняем ФИО с помощью оператора присваивания;
b) заполняем массив оценок в цикле с помощью оператора ввода Read.
Вывод результата работы программы с помощью циклов:
Внешний цикл - просмотр массива записей S [1 .. STMAX] и анализ логической переменной two. Если two = True, то печать фамилии неуспевающего студента.
Внутренний цикл - просмотр массива оценок BAL для выявления неуспевающих. Перед входом в цикл логической переменной two присваивается значение False. Если выявляется неудовлетворительная оценка, то two присваивается True.