Сборник примеров и задач по программированию
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
Горячая линия-Телеком
Год издания: 2014
Кол-во страниц: 244
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-9912-0411-8
Артикул: 096838.02.01
Целькн иги - помочь изучающим язык Турбо Паскаль 7.0 приоб-
рести практические навыки разработки алгоритмов и программ с ис-
пользованием принципов структурного программирования путем
решения специально подобранных задач. В систематизированном виде
приведены необходимые теоретические сведения и примеры решения
типовых задач. По каждой теме приведены наборы заданий различной
степени сложности.
Для учащихся высших учебных заведений.
Тематика:
ББК:
УДК:
ОКСО:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
5 25 75 95 100
ББК 32.973 УДК 681.33 М82 Москвитина О. А., Новичков B. C., Пылькин А. Н. М82 Сборник примеров и задач по программированию. Учебное пособие для вузов. – 2-е изд., стереотип. – М.: Горячая линия– Телеком, 2014. – 244 с.: ил. ISBN 978-5-9912-0411-8 Цель книги – помочь изучающим язык Турбо Паскаль 7.0 приобрести практические навыки разработки алгоритмов и программ с использованием принципов структурного программирования путем решения специально подобранных задач. В систематизированном виде приведены необходимые теоретические сведения и примеры решения типовых задач. По каждой теме приведены наборы заданий различной степени сложности. Для учащихся высших учебных заведений. ББК 32.973 Адрес издательства в Интернет WWW.TECHBOOK.RU Учебное издание Москвитина Оксана Александровна, Новичков Валентин Семенович, Пылькин Александр Николаевич СБОРНИК ПРИМЕРОВ И ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ Учебное пособие 2-е издание, стереотипное Художник В. Г. Ситников Подготовка оригинал-макета И. М. Чумаковой Подписано к печати 05.02.2014. Формат 60×88 1/16. Усл. печ. л. 15,25. Изд. № 140411. Тираж 300 экз. (1-й завод 100 экз.) ISBN 978-5-9912-0411-8 © О. А. Москвитина, В. С. Новичков, А. Н. Пылькин, 2007, 2014 © Издательство «Горячая линия–Телеком», 2014 ББК 32.973 УДК 681.33 М82 Москвитина О. А., Новичков B. C., Пылькин А. Н. М82 Сборник примеров и задач по программированию. Учебное пособие для вузов. – 2-е изд., стереотип. – М.: Горячая линия– Телеком, 2014. – 245 с.: ил. ISBN 978-5-9912-0411-8 Цель книги – помочь изучающим язык Турбо Паскаль 7.0 приобрести практические навыки разработки алгоритмов и программ с использованием принципов структурного программирования путем решения специально подобранных задач. В систематизированном виде приведены необходимые теоретические сведения и примеры решения типовых задач. По каждой теме приведены наборы заданий различной степени сложности. Для учащихся высших учебных заведений. ББК 32.973 Адрес издательства в Интернет WWW.TECHBOOK.RU Учебное издание Москвитина Оксана Александровна, Новичков Валентин Семенович, Пылькин Александр Николаевич СБОРНИК ПРИМЕРОВ И ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ Учебное пособие 2-е издание, стереотипное Художник В. Г. Ситников Подготовка оригинал-макета И. М. Чумаковой Подписано к печати 05.02.2014. Формат 60×88 1/16. Усл. печ. л. 15,25. Изд. № 140411. Тираж 300 экз. (1-й завод 100 экз.) ISBN 978-5-9912-0411-8 © О. А. Москвитина, В. С. Новичков, А. Н. Пылькин, 2007, 2014 © Издательство «Горячая линия–Телеком», 2014
ПРЕДИСЛОВИЕ Задания предназначены для практических и лабораторных работ, основной целью выполнения которых является приобретение навыков алгоритмизации задач и конструирования программ на алгоритмическом языке Паскаль в среде программирования Turbo Pascal 7.0. Перед выполнением каждой работы рекомендуется ознакомиться с теоретическим материалом (Новичков B. C., Парфилова Н. И., Пылькин А. Н. Алгоритмизация и программирование на Турбо Паскале: Учеб. пособие – М.: Горячая линия – Телеком, 2005. – 462 с.: ил.) и разобрать примеры конкретных программ по каждой теме.
Тема 1. ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ ПРИМЕР СОСТАВЛЕНИЯ ПРОГРАММЫ Пусть требуется составить программу вычисления общей поверхности и объема круглого конуса по заданным радиусу основания R и длине образующей L. При вычислениях использовать равенства 2 2 1 ; , 3 S R RL V R H = π + π = π где H – высота конуса, определяемая по формуле 2 2 . H L R = − Программа на языке Турбо Паскаль в общем случае содержит следующие основные элементы: • вводные комментарии; • заголовок; • раздел определения констант; • раздел описания переменных; • раздел операторов. Определение исходных данных может быть осуществлено с помощью операторов присваивания либо с помощью специальных операторов ввода. Вычисления по формулам реализуются в порядке определения числовых значений переменных H, S и V соответственно, после чего значения S и V выводятся на экран. Для удобства пользования введем комментарии, которые позволяют записать нужную учетную и поясняющую информацию. При вычислениях будет использована константа π, которой в Турбо Паскале соответствует имя PI. В качестве имен переменных будем использовать переменные, обозначения которых максимально совпадают с именами и обозначениями переменных самой задачи. Общий вид схемы алгоритма для рассматриваемого примера показан на рис. 1.1 и представляет последовательность простейших действий (линейный алгоритм).
Тема 1. Программирование линейных алгоритмов 5 Программа на языке Турбо Паскаль также состоит из последовательности операторов, выполняемых в порядке их следования. С целью сокращения объема вычислений дважды повторяющееся выражение 2 R π вычислим один раз, присвоим полученное значение вспомогательной переменной T и затем будем использовать его при вычислении более сложных выражений. {*****************************************} {Программа: CONUS. } {Цель: вычисление площади и объема конуса. {Описание параметров и переменных: } { R – радиус; L – длина образующей; } { H – высота; S – площадь поверхности; } { V – объем; T – вспомогательная } { переменная. } {Требуемые подпрограммы: нет. {Метод: вычисление по формулам. } {Программист: Старкова Т.В. } {Дата написания: 25 октября 2005 г. } {*****************************************} Program CONUS; Var H, L, R, S, T, V: Real; Begin {CONUS} WriteLn('Введите радиус и длину’, ‘ образующей'); Read(R,L); WriteLn('R=',R,' L=',L);{Эхо-печать} H:=Sqrt(L*L-R*R);{Вычисление высоты} T:=PI*R*R;{Площадь основания} Начало Ввод R, L Вывод S, V Конец 2 2 H L R = − 2 S R RL = π +π 2 1 3 V R H = π Рис. 1.1. Алгоритм вычисления площади и объема конуса S:=T+PI*R*L;{Полная площадь поверхности} V:=T*H/3;{Вычисление объема конуса} WriteLn('Параметры конуса:'); WriteLn('H=',H,' V=',V,' S=',S) End.{CONUS} Исходные данные для просчета контрольного варианта выбираем таким образом, чтобы вычисления были достаточно простыми и в то же время обеспечивали полные вычисления по всем формулам. Например, R = 3 см, L = 5 см. Тогда получим H = 4 см, S = 75,36 см2, V = 37,68 см3. В результате выполнения программы при заданных исходных данных на экран дисплея будет выведена следующая информация:
Сборник примеров и задач по программированию 6 Введите радиус и длину образующей 3 5 R = 3.000000E+00 L = 5.000000E+00 Параметры конуса: H = 4.000000E+00 V = 3.767990E+01 S = 7.539820E+01 Данные контрольного просчета подтвердили правильность выполнения программы. ЗАДАНИЯ Составить линейный алгоритм и программу для предложенного варианта, в которой вводятся исходные данные, вычисляются заданные арифметические выражения и выводятся на экран дисплея результаты вычислений (исходные данные выбираются произвольно, исходя из области допустимых значений функции). Вариант 1 3 2 2 5 0 0 1 2 0,13725 10 2 2 sin 3 a y a a x x x − ⋅ + = + + + + ; 3 3 0 0 1 ln |1 | z a x a a x = + + + Вариант 2 2 3 1 ln | | tg x x y x eα + = + α − ; 4 7 2 2 4 4,56 10 lg | | arctg | | y a x a x − π + ⋅ = + + + Вариант 3 2 2 5 ( ) | cos | x a a x x α = + − ; 2 3 18 sin 2 y ax y α = + + Вариант 4 ( ) 3 2 5 sin b ax b ϖ = + + ; ( ) 2 3 1 1 2 a x a z e x +ϖ − = − + Вариант 5 3 2 2 y a b = + ; 2 sin cos 2 3 a b z = ⋅ ; ( ) 2 2 3 ay b z y z x e + + = Вариант 6 5 ( ) (1 ) a b x a + = + ; 1 x z e − = ; 2 2sin cos 2 3 cos x x y x + = +
Тема 1. Программирование линейных алгоритмов 7 Вариант 7 3 3 ax x x x y e + + + = ; 2 3 sin cos 2 2 y a z a x = ⋅ + + Вариант 8 2 3 3 ( ) ln | | 3,45 10 a x a x − π + + α = + + ⋅ ; 2 1 1 1 1 1 1 x x x β = + + + + + Вариант 9 sin a x = ; 2 cos b x = ; 1 tg c x = + ; ( ) ( ) ( ) ( ) 2 3 2 4 x y a x b x c x ab a b = + + + + + Вариант 10 |2 | 1 x e− α = + ; 2 1 x x x e e e − − + β = + ; 2 3 cos sin 3 ctg 3 1 1 y x α β + α = + + + Вариант 11 ( ) 2 3 sin 3 ln 2 ax ax a x e y b c b − ⋅ + ⋅ = + + ; 5 2 2 sin 3 a c y z a b ax bx ⎛ ⎞ = + + ⎜ ⎟ + + ⎝ ⎠ Вариант 12 2 2 x x e e− α = − ; 2/3 2 2 3 tg ax b y x a x b ⎛ ⎞ + ⎜ ⎟ = + ⎜ ⎟ + ⎝ ⎠ Вариант 13 ( ) 2 3 2 arctg cos ln 2,4 x x x x y e x + = + ; 5 cos arctg x z ay b y y = + ⋅ + Вариант 14 2 5 10 3 3 25 ln( 1) 2 x x e y x x ax + = + + + + ; 2 2 sin 3 8 x z x a x a π ⎛ ⎞ = π − + ⋅ + ⎜ ⎟ ⎝ ⎠
Сборник примеров и задач по программированию 8 Вариант 15 2 2 2 32 16 ln sin x x x x z e x e x + = + ⋅ ⋅ + ; 3 2 3 ( 1) 7,5 3,2 ln | 6 | x x a y a x x ⋅ − = + + − − Вариант 16 3 6 2 2 2 3,45 10 sin 2 1 x b b x z e x bx x − + ⋅ + = + + + + ; 2 8 4 2 y x x π π π = ⋅ + ⋅ + Вариант 17 2 2 5 2 sin ln | 2 3| x x z a x b x x x x e = − + ⋅ + − + + + ; 2/3 3 2 2 sin x y a x a x ⎛ ⎞ = ⋅ − ⋅ ⎜ ⎟ + ⎝ ⎠ Вариант 18 2 1 2 m t c = ⋅ π ; 2 3 2 sin tg 8 12 mc t t z e t ⋅π = + ⋅ − Вариант 19 2 |2 | sin arctg 2 a a x a e = + − ; 3 2 2 a a y ax x a x e− = + ⋅ + ⋅ + Вариант 20 2 sin cos 2 3 2 t s t ϖ ⋅ ϖ ϖ = ⋅ + ϖ ⋅ ; 2 cos tg 3 3 4 ϖ π + ϖ ϑ = ⋅ ϖ + ⋅ Вариант 21 sin 2 a x = ; 2 4 b a x = − ; 4 0,5 x c e + = ; 2 2 3 y a x bx c = ⋅ + + Вариант 22 2 2 a b c a b + = + ; 7 5 3 a b a b x c c + + π ⎛ ⎞ ⎛ ⎞ = + + ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠
Тема 1. Программирование линейных алгоритмов 9 Вариант 23 1 2 b D x a − + = ; 2 2 b D x a − − = , где 2 4 D b ac = − Вариант 24 3 cos(4 0,2) x x y a e a x = − + + − ; 3 84,85 10 tg4,5 2 sin 0,5 x z x x − + ⋅ = + + Вариант 25 3 2 3 2,3 10 ln 3,4 10 ax b x z x e x − + − + ⋅ = − + + ⋅ ; 2 3 5 2 ln 1 ax b y z ax b + = + + +
Тема 2. СОСТАВЛЕНИЕ И ПРИМЕНЕНИЕ ПРОСТЕЙШИХ ФУНКЦИЙ ПОЛЬЗОВАТЕЛЯ ПРИМЕРЫ СОСТАВЛЕНИЯ ПРОГРАММ Пример 2.1. Пусть необходимо составить программу для вычисления площади выпуклого четырехугольника ABCD, заданного длинами своих сторон a, b, c, d и одной из диагоналей e (рис. 2.1). Рис. 2.1. Выпуклый четырехугольник Площадь четырехугольника в данном случае можно получить как сумму площадей треугольников ABC и ACD, вычисленных по формуле Герона ) )( )( ( c p b p a p p S − − − = , где 2 c b a p + + = – полупериметр; , , a b c – длины сторон. Поскольку здесь дважды необходимо вычислять значение площади треугольника, то целесообразно в программу ввести описание функции и дважды обратиться к ней при вычислении площади четырехугольника. Схема алгоритма решения поставленной задачи приведена на рис. 2.2, где наряду с алгоритмом основной программы дается и схема алгоритма вычисления функции PlTr, вычисляющей площадь треугольника. Схема алгоритма вычисления функции начинается блоком «вход» и заканчивается блоком «выход», в которых указываются имя функции, и список параметров a, b, c, являющихся исходными данными, необходимыми для вычисления площади треугольника. Вычисленное значение площади присваивается непосредственно имени функции PlTr и возвращается в основную программу. В основной программе происходит обращение к описанию функции для вычисления площади первого треугольника, ABC, и второго, ACD.