Лабораторный практикум по структурному программированию
Покупка
Тематика:
Программирование на Pascal
Издательство:
ФЛИНТА
Год издания: 2019
Кол-во страниц: 112
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9765-2041-7
Артикул: 728260.01.99
В лабораторном практикуме рассмотрены типовые алгоритмы обработки различных структур данных, а также разобраны практические задания и их реализация представлена на языке программирования Pascal. Практикум адресован студентам очного и заочного отделений высших учебных заведений, получающих специальности: 080500.62 — «Бизнес — информатика»; 230700.62 — «Прикладная информатика».
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.03: Прикладная информатика
- 38.03.05: Бизнес-информатика
- ВО - Магистратура
- 09.04.03: Прикладная информатика
- 38.04.05: Бизнес-информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Т.Н. Варфоломеева И.Ю. Ефимова Лабораторный практикум по структурному программированию 3-е издание, стереотипное Москва Издательство «ФЛИНТА» 2019
УДК 004.42 ББК 3973.2-018 C22 Р е ц е н з е н т : канд. пед. наук, доцент Магнитогорского государственного технического университета им. Г.И. Носова Е.Н. Гусева C22 Варфоломеева Т.Н. Лабораторный практикум по структурному программированию [Электронный ресурс] / Т.Н. Варфоломеева, И.Ю. Ефимова. — 3-е изд., стер. — М. : ФЛИНТА, 2019. — 112 с. ISBN 978-5-9765-2041-7 В лабораторном практикуме рассмотрены типовые алгоритмы обработки различных структур данных, а также разобраны практические задания и их реализация представлена на языке программирования Pascal. Практикум адресован студентам очного и заочного отделений высших учебных заведений, получающих специальности: 080500.62 — «Бизнес — информатика»; 230700.62 — «Прикладная информатика». УДК 004.42 ББК 3973.2-018 ISBN 978-5-9765-2041-7 © Т.Н. Варфоломеева, И.Ю. Ефимова, 2014 © Издательство «ФЛИНТА», 2014
СОДЕРЖАНИЕ ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «ВЫЧИСЛЕНИЕ АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ. СТРУКТУРА СЛЕДОВАНИЯ»..................................................................................... 4 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «ОРГАНИЗАЦИЯ ВЕТВЛЕНИЯ» ....................................... 9 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ: «ОРГАНИЗАЦИЯ ЦИКЛОВ» ........................................... 17 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «РАБОТА С ПРОСТОЙ ПЕРЕМЕННОЙ. АЛГОРИТМЫ ЦЕЛОЧИСЛЕННОЙ АРИФМЕТИКИ» ....................................................................... 23 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «ПОДПРОГРАММЫ. ПРОЦЕДУРЫ И ФУНКЦИИ» ..... 30 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «МАССИВЫ (ОДНОМЕРНЫЕ)» ...................................... 33 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «МАССИВЫ (ДВУМЕРНЫЕ)».......................................... 45 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «МОДУЛИ».......................................................................... 56 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «ЗАПИСИ» ........................................................................... 64 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «СТРОКИ»............................................................................ 76 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «МНОЖЕСТВА» ................................................................. 85 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «ТИПИЗИРОВАННЫЕ ФАЙЛЫ»..................................... 90 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «ТЕКСТОВЫЕ ФАЙЛЫ» ................................................... 97 ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «РЕКУРСИЯ»..................................................................... 104 СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ .................................................................................... 111
ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «ВЫЧИСЛЕНИЕ АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ. СТРУКТУРА СЛЕДОВАНИЯ» Цель работы: освоить линейную алгоритмическую структуру, а также рабо ту команд в данной структуре. Образец решения задач Задача № 1. Найти и выдать на печать значение выражения: 5 / 3 1 5.0 2 2 2 z x y t Постановка задачи Для решения данной задачи воспользуемся алгоритмической структурой сле дования, поскольку, для нахождения значения выражения достаточно воспользо ваться командами ввода данных, присваивания, вывода данных. Входные данные. Неизвестные переменные в выражении — x, y, z (тип — вещественный). Выходные данные. Результат вычисления выражения — t (тип — вещественный). Алгоритм. Ввести входные данные. Подсчитать значение выражения. Вывести результат на печать. Текст программы var x, y, z : real; t : real; begin Readln(x, y, z); t:=2/(0.5+y)*(1+sqr(x)/(3-sqr(z)/5)); Writeln(‘t= ’, t :4:2) end.
Задача № 2. Перевод целой величины из одной меры в другую. Перевод однонаправ ленный. Километры в метры (1 км = 1000 м). Постановка задачи Для решения данной задачи воспользуемся алгоритмической структурой сле дования. Чтобы перевести километры в метры, необходимо количество введенных километров умножить на 1000 и результат сохранить в какую-либо переменную. Входные данные. Количество километров — km (тип — целый). Выходные данные. Количество метров — m (тип — целый). Алгоритм. Ввести входные данные. Подсчитать значение выражения. Вывести результат на печать. Текст программы var km, m : longint; begin Readln(km); m:=km*1000; Writeln(‘В ’, km, ‘ километрах ’, m, ‘ метров’) end. Задания для самостоятельного решения Вариант 1. 1. Написать программу для вычисления значения выражения: 2*c – d + 23 a 4 – 1 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Вер сты в метры (1 верста = 1066,8 м). 3. Пусть заданы три значения. Определить среднее арифметическое этих чисел.
Вариант 2. 1. Написать программу для вычисления значения выражения: -2*c + d*82 tg( a 4 – 1) 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Футы в метры (1 фут = 0,3048 м). 3. Пусть заданы координаты двух точек A(x1, y1) и B(x2, y2). Найти расстояние ме жду этими точками. Вариант 3. 1. Написать программу для вычисления значения выражения: arctg(c/4) – d*62 a*a – 1 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Дюймы в сантиметры (1 дюйм = 2,54 см). 3. Пусть заданы координаты двух точек: одна точка является началом координат, вторая с координатами (x, y). Найти расстояние между этими точками. Вариант 4. 1. Написать программу для вычисления значения выражения: 2*c – ln(d/4) a*a – 1 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Ми ли в км (1 миля = 1,609 км). 3. Пусть заданы длина стороны треугольника и высота. Найти его площадь. Вариант 5. 1. Написать программу для вычисления значения выражения: 2*c – d/23 ln(1 – a 4 ) 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Та лоны в литры (1 талон = 4,546 л). 3. Пусть заданы значения переменных x и y. Напишите программу, которая меняла бы значения этих переменных местами.
Вариант 6. 1. Написать программу для вычисления значения выражения: 2*c – d* 42 c + a – 1 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Кварты в литры (1 кварта = 1,1365 л). 3. Пусть заданы длины сторон треугольника. Найти его периметр. Вариант 7. 1. Написать программу для вычисления значения выражения: arctg(c – d/2) 2*a – 1 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Ка раты в граны (1 карат = 3,086 грана). 3. Пусть заданы длины катетов треугольника. Найти его гипотенузу. Вариант 8. 1. Написать программу для вычисления значения выражения: c*tg(b + 23) a/2 -4*d – 1 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Штофы в литры (1 штоф = 1,2299 л). 3. Пусть заданы значения переменных x и y. Напишите программу, которая меняла бы значения этих переменных местами не используя дополнительной переменной. Вариант 9. 1. Написать программу для вычисления значения выражения: 2*c + ln(d)*51 d – a – 1 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Яр ды в метры (1ярд = 0,9144 м). 3. Пусть заданы значения переменных x, y и z. Напишите программу, которая меня ла бы значения этих переменных местами, так чтобы в x оказалось значение пере менной y, в y — значение переменной z, а в z — прежнее значение перемен- ной x.
Вариант 10. 1. Написать программу для вычисления значения выражения: 42*c – d/2 + 1 a*a – ln(b-5) 2. Перевод целой величины из одной меры в другую. Перевод однонаправленный. Ун ции в граммы (1 унция = 28,35 г). 3. Пусть заданы длины сторон треугольника и его периметр. Найти площадь данно го треугольника. Контрольные вопросы 1. Особенности выполнения изучаемых операторов: присваивания, ввода-вывода. 2. Арифметические выражения: знаки арифметических операций, стандартные функции. 3. Диапазон допустимых значений для вещественных (REAL) и целочисленных (INTEGER) переменных. 4. Для чего служит компилятор? 5. Что является комментарием и для чего он служит? 6. Какие разделы могут быть использованы в декларативной части программы? 7. Назовите основные алгоритмические структуры. 8. Какие команды реализуются в структуре следования? Запись на Паскале. 9. Верно ли, что в Паскаль — программе надо описывать все используемые в ней переменные? 10. Какую информацию извлекает транслятор из описания переменных и как он ее использует? 11. Какие значения имеют переменные в начале выполнения программы? 12. Когда нет необходимости использовать раздел переменных? 13. Перечислите базовые элементы языка. 14. Что относится к алфавиту языка? 15. Что такое идентификатор? Какой идентификатор является правильным? 16. Перечислите, какие данные относятся к порядковым типам. 17. Почему различают порядковые и вещественный типы? 18. Зачем необходимо придерживаться концепции совместимости типов данных, в чем ее суть?
ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ «ОРГАНИЗАЦИЯ ВЕТВЛЕНИЯ» Цель работы: освоить алгоритмическую структуру ветвление, а также рабо ту команды ветвления. Образец решения задач Задача № 1. Напишите программу, анализирующую данные сейсмографа, который выводит сообщение «Опасность землетрясения большой разрушительной силы», ес ли данные превысили 5 баллов по шкале Рихтера. Постановка задачи Для решения данной задачи применим алгоритмическую структуру ветвления, можно использовать как полную форму, так и сокращенную форму. Необходимо учи тывать, что при использовании сокращенной формы ветвления в данной задаче, в слу чае, если количество баллов будет <= 5 баллов по шкале Рихтера, то никакого ответа выдаваться не будет. Поэтому лучше использовать полную структуру ветвления. Входные данные. Количество баллов по шкале Рихтера — ball (тип — вещественный). Выходные данные. Результатом будет сообщение, требуемое условием задачи. Алгоритм. Ввести входные данные. Проанализировать входные данные. Вывести соответствующее сообщение. Текст программы var ball : real; begin writeln(‘Введите количество баллов по шкале Рихтера’); readln(ball); if ball>5 then writeln(‘Опасность землетрясения большой разрушительной силы’) else writeln(‘Количество баллов не превышает пяти’) end.
Задача № 2. Вычислить Х для целочисленных данных a и b. b; < a åñëè , 12 /) 5 ( b, = a åñëè ,8 / b, > a åñëè ,1 * a a b a X Постановка задачи Решение данной задачи предполагает использование алгоритмической струк туры ветвления. Для нахождения значения X необходимо проанализировать значе ния переменных a и b с помощью команды ветвления. В зависимости от того, как эти данные соотносятся — X подсчитывается по той или иной формуле. Входные данные. Неизвестные переменные в выражении — a, b (тип — целый). Выходные данные. Результат вычисления значения выражения — X (тип — вещественный). Алгоритм. Ввести входные данные. Проанализировать входные данные: если a>b, то x= sqr(a)*b+1; если a<b, то x=(a-5)/12; если a=b, то x= a/8; Вывести результат на печать. Текст программы var a, b : integer; x : real; begin writeln(‘Введите значения а и b’); readln(a, b); if a>b then x:=sqr(a)*b+1 else if a<b then x:=(a-5)/12 else x:=a/8; writeln(‘x= ’, x) end.