
- •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. Практическое задание
- •Образцы контрольных работ
- •Контрольно-измерительные материалы
3. Решение задач с условием
1. Полная форма записи оператора IF
If <условие> THEN <оператор 1> ELSE <оператор 2>.
Задача 1.
Вычислить
,
вывести на экран значение большего
вычисленного числа.
Program Lab3_1;
Uses CRT;
Var x, y, z: integer;
max: integer;
Begin
Writeln (‘ Введите x, y, z’);
If x+y+z > x*y*z then max:=x+y+z else max:=x+y+z;
End.
2. Сокращенная форма записи оператора IF
If <условие> THEN <оператор 1>.
Задача 2.
Вычислить
значение функции
в зависимости от значения аргумента
x.
Условие задачи представлено:
.
Решение будет следующим:
Program Lab3_2;
Uses CRT;
Var x, y: real;
Begin
ClrScr;
Writeln(‘Введите x’);
Read(x);
If x>0 then y:=x;
If x=0 then y:=0;
If x>0 then y:=-sqr(x);
Writeln (‘Значение х=’, x);
Writeln (‘Значение f(х)=’, y);
Readln;
End.
3. Составной оператор
Если после THEN или ELSE необходимо выполнить действия, описанные несколькими операторами, то эти операторы должны быть заключены в операторные скобки begin … end. Такая конструкция называется составным оператором.
If <условие> then
Begin
<оператор 1>;
<оператор 2>;
……………….
<оператор n>;
End
Else <оператор>;
If <условие> then <оператор 1>;
Else
Begin
<оператор 1>;
<оператор 2>;
……………….
<оператор n>;
end;
If <условие> then
Begin
<оператор 1>;
<оператор 2>;
……………….
<оператор n>;
End
Else
Begin
<оператор 1>;
<оператор 2>;
……………….
<оператор n>;
end;
Задача 3.
Определить, попадает ли число х в интервал от -2 до 13.
Мы должны проверить два условия:
1) х должно быть больше -2. Если это условие является истиной, то проверяем второе условие;
2) х должно быть меньше 13. В том случае, когда оба условия выполняются, мы можем сказать, что данное значение х удовлетворяет условию: -2 < x < 13.
Как это записать? Рассмотрим три программы для решения этой задачи.
Program Lab3_3_1; {случай 1}
{попадает ли х в интервал -2 < x < 13}
Uses CRT;
Var x: integer;
Begin
ClsScr;
Writeln (‘Программа вычисляет попадание x в интервал’);
Writeln (‘Введи x’);
Read(x);
If (x>-2) then
If (x<13) then writeln (‘x=’, x, ‘попадает в интервал’)
else writeln (‘x>=13 – не попадает в интервал’, ‘x=’, x)
else writeln (‘x<=-2 – не попадает в интервал’, ‘x=’, x);
ReadKey;
End.
Здесь два оператора IF вложены друг в друга. Вложенность операторов IF не ограничена.
Program Lab3_3_2; {случай 2}
{попадает ли х в интервал -2 < x < 13}
Uses CRT;
Var x: integer;
Begin
ClsScr;
Writeln (‘Программа вычисляет попадание x в интервал’);
Writeln (‘Введи x’);
Read(x);
If (x>-2) and (x<13)
then writeln (‘x=’, x, ‘попадает в интервал’)
else writeln (‘не попадает в интервал, т.к.’, ‘x=’, x)
ReadKey;
End.
Program Lab3_3_3; {случай 3}
{попадает ли х в интервал -2 < x < 13}
Uses CRT;
Var x: integer;
Begin
ClsScr;
Writeln (‘Программа вычисляет попадание x в интервал’);
Writeln (‘Введи x’);
Read(x);
If (x>-2) and (x<13)
then
begin {2}
write (‘x=’, x);
write (‘Попадает в интервал’);
end {2}
else
begin {3}
write (‘x=’, x);
write (‘Не попадает в интервал’);
end {3}
ReadKey;
End.
Дадим некоторые пояснения к программе (случай 3). Из-за наличия двух операторов после THEN (два оператора выводы WRITE) в программе стоят операторные скобки begin…end. Фигурные скобки с номерам {2}, {3} стоят для наглядности, они не являются обязательными, их можно опустить.
Задача 4.
Получить максимальное число из трех целых чисел.
Составим блок-схемы решения задачи:
Program Lab3_4;
Uses CRT;
Var x, y, z: integer;
max: integer;
Begin
ClrScr;
Writeln(‘Введите x, y, z’, x, y, z);
Read(x, y, z);
Max:=x;
If x>y then max:=x else max:=y;
If z>max then max:=z;
Writeln (‘max=’, max);
Readln;
End.
Пояснение к задаче 4:
Сравниваем значения переменных x и y, выбираем из них большее и сохраняем значение большей переменной в переменной с именем max, затем значение переменной z со значением переменной с именем max, после чего опять выбираем большее значение.
Задача 5
Программа «Исторический тренажер» предлагает историческое событие и меню с выбором дат его свершения под номерами. Проверяется правильность ответа. Пользователь должен выбрать правильный ответ и ввести его номер. Ниже представлен вид экрана во время работы программы:
Архитектор Исаакиевского собора:
Доминико Трезини: 1
Огюст Монферран: 2
Карл Росси: 3
Введите номер правильного ответа и нажмите Enter: 3
Вы ошиблись
Архитектор Исаакиевского собора – Огюст Монферран
Program Lab3_5;
Uses CRT;
Var otv: integer;
Begin
ClrScr;
Writeln(‘);
Writeln(‘Доминико Трезини: 1’);
Writeln(‘Огюст Монферран: 2’);
Writeln(‘Карл Росси: 3’);
Writeln;
Writeln(‘Введите номер правильного ответа и нажмите Enter: ’);
Read(otv);
If otv=2 then Writeln(‘Правильно’)
Else
Begin
Writeln(‘Вы ошиблись’);
Writeln(‘Архитектор Исаакиевского собора – Огюст Монферран’);
End;
Readln;
End.