
- •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. Практическое задание
- •Образцы контрольных работ
- •Контрольно-измерительные материалы
7. Организация циклов с помощью оператора repeat
Этот оператор организует так называемый цикл «ДО», или цикл с постусловием, так как проверка логического < Условия > завершения цикла осуществляется после каждого выполнения тела цикла (количество повторений цикла неизвестно). Вид цикла:
REPEAT {Повторять}
<тело цикла >
UNTIL {До тех пор}
<условие >;
Блок-схема цикла repeat:
Оператор
repeat
не требует использования операторных
скобок Begin …
End, когда в
его теле необходимо записать более
одного оператора. Кроме того, оператор
repeat
является не столь универсальным, как
оператор while,
поскольку его логическое < Условие
> располагается в конце тела цикла и
операторы его тела будут всегда
выполняться как минимум один раз.
Выражение, используемое в качестве
логического < Условия > окончания
цикла, должно давать результат булевского
типа. Цикл repeat
продолжается, пока логическое <условие>
ложно (false),
и заканчивается, когда логическое
<условие> становиться истинным
(true).
Задача 1
При вводе осуществить проверку длины вводимой последовательности.
Program Lab7_1;
Var
N: integer;
BEGIN {1}
Repeat
WriteLn ('Введите длину последовательности N =');
ReadLn (N);
Until N > 0;
WriteLn ('Длина последовательности N =', N);
END. {1}
Пояснения к задаче 1
Длина последовательности обозначена буквой N и должна быть положительной.
В логическое < Условие > ставим N > 0, и до тех пор, пока будет вводиться отрицательное или нулевое значение последовательности, цикл repeat будет работать и требовать: «Введите длину последовательности N = ». Цикл выполняется до тех пор, пока пользователь будет вводить отрицательное число или ноль, и прервется при вводе положительного числа.
Нижняя граница оператора определена словом until, и нет надобности в операторных скобках Begin … End. Но если поставить операторные скобки, то это не будет ошибкой.
Задача 2
Вычислить значение
функции
при X = 8; X = 6; X = 4; X = 2.
PROGRAM Lab7_2;
Uses Crt;
Var X,Y: real;
Begin
ClrScr;
X : = 8;
WriteLn('Табулирование функции');
WriteLn(‘X Y');
WriteLn(' ‘);
Repeat
Y : = X * X;
WriteLn(X : 4 : 2, Y : 6 : 2);
X : = X - 2;
Until X = 0;
ReadLn;
End.
Пояснения к задаче 2
Мы имеем дело с задачей, которая называется «Табулирование функции». У нас аргумент X меняет свое значение от 8 до 2 с шагом - 2. Переменные X, Y объявляем как REAL. В переменную Y заносим вычисленное значение функции. Для организации цикла используем оператор цикла с постусловием repeat. До входа в цикл присваиваем начальное значение аргументу X, равное 8. Затем печатаем шапку таблицы (три оператора WriteLn перед оператором Repeat). Шапка таблицы используется для оформления таблицы.
В теле цикла делаем вычисления по формуле, печать и изменение значений аргумента на шаг, который равен -2.
Окончание цикла осуществляется проверкой в операторе Until. Как только X примет значение, равное нулю, цикл прервется и далее последует оператор ReadLn.
Практическое задание – решение задач с использованием операторов цикла
Организовать ввод данных и решение задач с использованием операторов цикла, снабдив распечатки соответствующими заголовками.
Методические указания
Составить блок-схему программы, после чего приступить к написанию программы в ИСП.
Желательно сделать форматированный вывод результатов вычислений.
Вариант 1
Написать программу, которая выводит таблицу квадратов первых десяти целых положительных чисел. Ниже представлен рекомендуемый вид экрана во время работы программы.
Таблица квадратов
Число
Квадрат
2
4
3
9
4
16
5
25
6
36
7
49
8
64
9
81
10
1000
В классе N учеников. Определить средний рост учеников класса, вводя в ЭВМ по очереди рост каждого ученика.
Написать программу, которая «задумывает» число в диапазоне от 1 до 10 и предлагает пользователю угадать число за 5 попыток. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Игра «Угадай число».
Компьютер «задумал» число от 1 до 10.
Угадайте его за 5 попыток.
Введите число и нажмите < Enter >
5
Нет
3.
Вы угадали! Поздравляю!
Вариант 2
Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных чисел. Ниже представлен рекомендуемый вид экрана во время работы программы.
Таблица квадратов нечетных чисел
Таблица квадратов неченых чисел |
|
Число |
Квадрат |
1 |
1 |
3 |
9 |
5 |
25 |
7 |
49 |
9 |
81 |
Определить суммарный объем в литрах 12 вложенных друг в друга шаров со стенками толщиной 5 мм. Внутренний диаметр внутреннего шара равен 10 см. Считать, что шары вкладываются друг в друга без зазоров.
Указания к решению задачи 2
Необходимо в цикле
по номеру шара вычислять объем каждого
шара (
и прибавлять
его к суммарному объему. Диаметр каждого
следующего вложенного шара отличается
от диаметра вложенного в него шара на
10 мм.
Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (длина последовательности неограниченна). Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Определение максимального числа последовательности положительных чисел.
Вводите после стрелки числа. Для завершения ввода введите ноль.
56
75
43
0
Максимальное число: 75
Вариант 3
Написать программу, которая вычисляет сумму первых п целых положительных чисел. Количество суммируемых чисел должно вводиться во время работы программы. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление суммы положительных чисел.
Введите количество суммируемых чисел: 20
Сумма первых 20 положительных чисел равна 210
В 1985 году урожай ячменя составлял 20 ц с га. В среднем каждые 2 года за счет применения передовых агротехнических приемов урожай увеличивается на 5%. Определить, через сколько лет урожайность достигнет 25 ц с га.
Заданы две стороны треугольника А, В. Вводя по очереди еще по два числа и интерпретируя их как длины сторон треугольника, напечатать те из введенных сторон, которые при соответствующем сравнении могут образовать треугольник, подобный первому (со сторонами А, В).
Вариант 4
Написать программу, которая выводит на экран таблицу умножения, например на 7. Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные пользователем, выделены полужирным шрифтом.
Введите n = 7
Таблица умножения на 7
7х2=14
7х3=21
7х4=28
7х5=35
7х6=42
7х7=49
7х8=56
7х9=63
Дана последовательность чисел 1, 2, 4, 8, 16... Найти первый член последовательности, превосходящий заданное число А.
В доме шесть комнат, каждая из которых имеет форму прямоугольника. Длина и ширина каждой из шести комнат указаны ниже. Написать программу, которая выводит площадь каждой комнаты. Найти суммарную площадь всех комнат в этом доме.
Номер комнаты |
Длина, м |
Ширина, м |
1 |
4,5 |
3,5 |
2 |
3 |
2,5 |
3 |
4,5 |
4,5 |
4 |
5,5 |
3,5 |
5 |
6,5 |
3,5 |
6 |
7 |
4,5 |
Вариант 5
Написать программу, которая вычисляет сумму первых п членов ряда 1, 3, 5, 7, 9,... Количество суммируемых членов ряда N задается во время работы программы. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление частичной суммы ряда: 1, 3, 5,7,...
Введите количество суммируемых членов ряда: 15
Сумма первых 15 членов ряда равна 225
Напечатать таблицу значений функции
при изменении X от 2 до 12 с шагом 2.
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Через сколько дней спортсмен пробежит суммарный путь 100 км?
Вариант 6
Написать программу, которая вычисляет сумму первых п членов ряда 1 + 1/2 + 1/3 + 1/4 + ... Количество суммируемых членов ряда задается во время работы программы. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление частичной суммы ряда: 1 + 1/2 + 1/3 + ...
Введите количество суммируемых членов ряда: 15
Сумма первых 15 членов ряда равна 3,3182
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Какой суммарный путь спортсмен пробежит за 7 дней?
Сберегательная касса начисляет 2% годовых (т. е. через год вклад увеличивается на 2% без участия вкладчика). Какой станет сумма (в руб.), положенная в сберкассу на N лет?
Вариант 7
Написать программу, которая выводит таблицу степеней двойки (от нулевой до десятой). Ниже представлен рекомендуемый вид экрана во время работы программы.
Таблица степеней двойки
-
0
1
2
3
4
5
6
7
8
9
10
1
2
4
8
16
32
64
128
256
512
1024
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Через сколько дней спортсмен будет пробегать больше 20 км?
Написать программу, которая проверяет для N чисел, является ли целое число, введенное пользователем, простым. Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные пользователем, выделены полужирным шрифтом.
Введите N: 3
Введите целое число и нажмите Enter 45
45 - не простое число
Введите целое число и нажмите Enter 7
7 - простое число
Введите целое число и нажмите Enter 19
19 - простое число
Указания к решению задачи 3
Простым называется число, которое делится только само на себя (например, 3, 5,17 и т. д.). «Число 1 может быть отнесено к простым числам, однако предпочтительно выделять его особо, не относя ни к простым, ни к составным». (Выгодский М.Я. Справочник по элементарной математике.)
Вариант 8
Написать программу, которая вычисляет факториал числа, введенного с клавиатуры. (Факториалом числа n называется произведение целых чисел
от 1 до n, например: факториал числа 1 равен 1, а факториал числа 8 – 40320.) Рекомендуемый вид экрана приведен ниже. Данные, введенные пользователем, выделены полужирным шрифтом.
Вычисление факториала
Введите число, факториал которого надо вычислить, и нажмите Enter 7
Указания к решению задачи 1
Переменной, где будет находиться вычисленное значение факториала, надо присвоить тип Longint.
В киоске продается газета стоимостью 3 коп. и журнал стоимостью 20 коп. Составить программу, которая спрашивает о желании покупателя (журнал или газета?), принимает деньги (сумма денег вводится с клавиатуры) и печатает причитающуюся сдачу. Исходные данные задать самостоятельно. Количество покупателей равно N.
Указания к решению задачи 2
Покупателю нужно задать по меньшей мере два вопроса:
«Что хотите купить: журнал или газету?» После ввода ответа нужно показать соответствующую стоимость издания и задать следующий вопрос.
«Сколько платите?» Количество денег покупателя вводится с клавиатуры (в числовую переменную).
Далее надо сравнить это количество со стоимостью покупки и напечатать итоговое сообщение.
Пусть дано натуральное число N и последовательность из N вещественных чисел, среди которых есть хотя бы одно отрицательное. Найти наибольшее среди отрицательных чисел этой последовательности.
Вариант 9
Написать программу, которая выводит таблицу значений функции
в диапазоне от -2 до 2 с шагом 0,5. Ниже представлен рекомендуемый вид экрана во время работы программы:
x
y
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-22.60
-15.90
-10.40
-6.10
-3.00
-1.10
-0.40
-0.90
-2.60
В ЭВМ поступают результаты соревнований по плаванию для трех спортсменов. Выбрать и напечатать лучший результат. Решить задачу для следующих наборов данных: 1) 11,3; 10,6; 11; 2) 10; 10,9; 13; 3) 16; 18; 13.
Указания к решению задачи 2
Задача сводится к определению минимального из трех чисел.
Написать программу, которая вычисляет сумму первых n членов ряда
Количество суммируемых членов ряда задается во время работы программы. Рекомендуемый вид экрана во время работы программы такой же, как в варианте 6 (задача 1).
Вариант 10
Написать программу, которая вводит с клавиатуры 5 дробных чисел и вычисляет их среднее арифметическое. Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные пользователем, выделены полужирным шрифтом.
Вычисление среднего арифметического последовательности дробных чисел. После ввода каждого числа нажимайте Enter
5,4
7,8
3,0
1,5
2,3
Среднее арифметическое введенной последовательности: 4,00
ЭВМ используется при разборе коллекции марок. Составить программу, подсчитывающую число марок тематически: по спорту, искусству, городам. Подсчитать общее количество марок. Использовать множественный выбор.
Указания к решению задачи 2
Названия типов марок закодировать числами 1, 2, 3. В зависимости от введенного значения типа марки для перехода к выполнению нужного оператора использовать оператор множественного выбора. Для окончания ввода можно использовать специальное значение, например ноль.
Вводится последовательность ненулевых чисел, ноль - конец последовательности. Определить, является ли последовательность возрастающей.
Вариант 11
Написать программу, которая вводит с клавиатуры последовательность из пяти дробных чисел и после ввода каждого числа выводит среднее арифметическое полученной части последовательности. Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные пользователем, выделены полужирным шрифтом.
Обработка последовательности дробных чисел. После ввода каждого числа нажимайте Enter
12,3
Введено чисел: 1 Сумма: 12,30
Среднее арифметическое: 12,30
15
Введено чисел: 2 Сумма: 27,30
Среднее арифметическое: 13,65
10
Введено чисел: 3 Сумма: 37,30
Среднее арифметическое: 12,43
5,6
Введено чисел: 4 Сумма: 42,90
Среднее арифметическое: 10,73
11,5
Введено чисел: 5 Сумма: 54,40
Среднее арифметическое: 10,88
Напечатать таблицу перевода температуры из градусов по шкале Цельсия (С) в градусы по шкале Фаренгейта (F) для значений от 15°С до 30°С с шагом 1°С.
Указания к решению задачи 2
Перевод осуществляется по формуле F = 1,8С + 32.
Вводится N чисел. Вывести на экран те числа, делителем которых является целое число А.
Вариант 12
Написать программу, которая выводит таблицу значений функции
. Диапазон изменения аргумента от -4 до 4, шаг приращения аргумента равен - 0,5. Вид экрана такой, как в варианте 9 (задача 1).
Пусть дано шесть целых чисел, которые вводятся по одному. Получить сумму тех из них, которые кратны 5.
Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление среднего арифметического последовательности положительных чисел.
Вводите после стрелки числа. Для завершения ввода введите ноль:
45
23
15
0
Введено чисел: 3
Сумма чисел: 83
Среднее арифметическое: 27,67
Вариант 13
Написать программу, которая генерирует десять случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их среднее арифметическое. Рекомендуемый вид экрана во время работы программы приведен ниже.
Случайные числа 1342749621
Среднее арифметическое: 3,9
В ЭВМ по очереди вводятся координаты n точек. Определить, сколько из них принадлежат фигуре, ограниченной осью абсцисс и аркой синусоиды, построенной для аргумента от 0 до
.
Указания к решению задачи 2
Для каждой точки
нужно проверять ограничение на X (0 < X
< я.) и на Y (
).
Стоимость доставки груза самолетом составляет 2 500 руб. за м3 объема груза. Написать программу, которая выводит стоимость доставки каждого из пяти ящиков, размеры которых приведены ниже. Найти общую стоимость груза.
Длина, м |
Ширина, м |
Высота, м |
4 |
2 |
3 |
6 |
2 |
2 |
4 |
2,5 |
2,5 |
3 |
3 |
3 |
4 |
2 |
6 |
Вариант 14
Написать программу, которая выводит таблицу значений функции
. Диапазон изменения аргумента от - 4 до 4, шаг приращения аргумента равен 1. Вид экрана такой, как в варианте 9 (задача 1).
Пусть дано семь целых чисел, которые вводятся по одному. Получить сумму тех из них, которые меньше по абсолютному значению квадрата порядкового номера вводимого числа.
Указания к решению задачи 2
Нужно организовать цикл по количеству вопросов, а начать так: «Сколько вопросов зададите?»
Написать программу, которая бы спрашивала название времени года, а затем печатала названия месяцев, относящихся к этому времени года, например: ВЕСНА - март, апрель, май. В случае неверного ввода программа должна печатать: «Такого месяца нет».
Вариант 15
Написать программу, которая выводит на экран таблицу стоимости (например, яблок), в диапазоне от 100 г до 1 кг с шагом 100. Ниже представлен рекомендуемый вид экрана программы во время ее работы (данные, введенные пользователем, выделены полужирным шрифтом).
Введите цену одного килограмма и нажмите Enter (копейки от рублей отделяйте точкой) 16.50
Вес, г Стоимость, руб.
100 1.65
200 3.30
300 4.95
400 6.60
500 8.25
600 9.90
700 11.55
900 13.20
900 14.85
1000 16.50
Ученикам 1-го класса назначается дополнительно стакан молока (200 мл), если их вес составляет меньше 30 кг. Определить, сколько литров молока потребуется ежедневно для одного класса, состоящего из N учеников. После взвешивания вес каждого ученика вводится в компьютер.
Указания к решению задачи 2
Если вес очередного ученика меньше 30 кг, то к числу учеников, которым назначается молоко, нужно прибавить 1.
Заданы N троек чисел А, В, С. Вводя их по очереди и интерпретируя как длины сторон треугольника, определить, сколько троек может быть использовано для построения треугольника.