Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Сборник примеров и задач по программированию

Покупка
Артикул: 096838.02.01
Целькн иги - помочь изучающим язык Турбо Паскаль 7.0 приоб- рести практические навыки разработки алгоритмов и программ с ис- пользованием принципов структурного программирования путем решения специально подобранных задач. В систематизированном виде приведены необходимые теоретические сведения и примеры решения типовых задач. По каждой теме приведены наборы заданий различной степени сложности. Для учащихся высших учебных заведений.
Москвитина, О. А. Сборник примеров и задач по программированию: Учебное пособие / О.А. Москвитина, В.С. Новичков, А.Н. Пылькин. - 2-e изд., стер. - Москва : Гор. линия-Телеком, 2014. - 244 с.: ил.; . - (Специальность). ISBN 978-5-9912-0411-8, 300 экз. - Текст : электронный. - URL: https://znanium.com/catalog/product/460994 (дата обращения: 27.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
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.