Uploaded by Иван Иванов

Лабы по Паскалю

advertisement
73
Лабораторная работа № 1
Тема: Программирование алгоритмов линейной структуры
Общие требования для всех вариантов:
Вычислить значения переменных по заданным формулам и наборам
исходных данных.
Указание. На печать вывести значения исходных данных и результаты
вычислений, сопровождая вывод наименованиями выводимых переменных.
Использовать форматный вывод.
Варианты заданий
№
расчетные формулы
1.


2  cos x  
6

a
1
 sin 2 x
2
2.
y
x
b  x 3
z2
b  1
z2
3
5
zx y  y
f 
x
cos 2
y
y
x
исходные данные
x  1,42
y  1,22
z  3,5
x  1,825
y  18,225
z  3,298
3.
s  1 x 
x2 x3 x4


2! 3! 4!
z  x  (sin x 3  cos 2 y)
x  0,335
4.
y  e bt  sin( at  b)  bt  a
a  0,5
w  b  sin( at 2  cos 2t )  1
5.
b 2  sin 3 ( x  a)
c  x b 
x
2
y  cos 2 x 3 
x
a  b2
2
y  0,025
t  0,44
b  1,7
a  1,5
b  15,5
x  2,9
74
№
6.
расчетные формулы
d  x 3  tg 2 ( x  b) 2 
s
7.
x 2 ( x  1)
w
 sin 2 ( x  a)
b
b  3,4
x  0,61
a  0,7
b  0,05
x  0,5
xb
 cos 2 ( x  b) 3
a
x
h  sin ( x  a) 
b
3
z
9.
xb
a  16,5
bx 2  a
e ax  1
f 
8.
a
исходные данные
2
2
a  1,1
b  0,004
x  0,2
x2
 cos( x  b) 3
a
a 2  x  e  x  cos(bx)
v
bx  e  x  sin( bx)  1
a  0,5
b  2,9
x  0,3
f  e 2 x  ln( a  x)  b 3 x  ln( b  x)
10.
f  3 m  tg t  c  sin t
m2
c  1
t  1,2 b  0,7
z  m  cos(bt  sin t )  c
11.
p  b  tg x 
2
a
x
sin
a
2
d  a  e
a
 cos
bx
a
a  3,2
b  17,5
x  4,8
75
№
расчетные формулы
12.
g  ln( a  x 2 )  sin 2
h  e cx 
13.
x
b
исходные данные
a  10,2
b  9,2
x  2,2
c  0,5
x xa
x
x b
a 2 x  b  x  cos( a  b)  x
z
x 1
p  x2  b 
a  0,3
x  0,61
b  0,9
b  sin ( x  a)
x
2
3
a  0,5
14.
t  ax  sin 2 x  e
2 x
 ( x  b)
x  1,4
b  3,1
w  cos 2 x 
15.
z
x
a2  b2
sin x
1  m 2  sin 2 x
 cm  ln mx
m  0,7 c  2,1
x  1,7 a  0,5
b  1,08
s  e ax x  1  e bx x  1,5
76
Лабораторная работа № 2
Тема: Вычисление суммы ряда с заданной точностью
Общие требования для всех вариантов:
1.
Записать расчетные формулы для вычисления слагаемого по
рекуррентной формуле (кроме вариантов 2, 8, 10).
2.
Вычислить сумму с точностью до члена ряда, меньшего , в
указанном диапазоне изменения х с определенным шагом. Для получения шага
диапазон разделить на m.
3.
Вычисленное значение суммы функционального ряда сравнить с
данной суммой ряда Y.
Указание. Результат напечатать в виде таблицы с заголовком: первый
столбец – значение х, второй – вычисленное значение суммы S, третий –
значение Y, четвертый – количество членов ряда в вычисленной сумме.
Значение точности >0 ввести с клавиатуры.
Варианты заданий.
№
1
2
3
4
5
СУММА
S
S
ДИАПАЗОН
ИЗМЕНЕНИЯ Х
m
ФУНКЦИЯ Y

ln n 3 n
 x 1

n
!
n 1
0,1  x  1
10


40
 ln 2 sin
10
sin x
0,1  x  1
10
e x  ex
2
1 x  2
15
ex
cos nx
n
n 1

x 2n 1
S   (1) 
(2n  1)!
n0


n
x 2n
S 
n  0 ( 2n )!

xn
S 
n  0 n!
5
x
9
5
0,1  x  1
3x
x
2
77
№
СУММА
6
S
n
22
 sin
f  e x  sin x
0,1  x  1
10
cos x
0,1  x  0,8
10
1   sin x

2
4
0,1  x  0,8
40
1 1 x 1
ln
 arctg ( x)
4 1 x 2
  x  
20
f  e x  cos x

0,1  x  1
10
(1  2 x2 )e x

0,1  x  1
20
e 2x
0,1  x  1
10
1  x2
x
arctg x 
2
2
0,1  x  0,5
20
arctg x

n!
9
x 2n
S   (1) 
1
(2n )!
n 1
S


n
cos 2nx
n 1 4 n


n
22
n 1
12
13
1
x 4 n 1
S 
n  0 4n  1
10
11
2

S
n
 cos
4  xn
n!
2n  1 2 n
S 
x
n  0 n!
(2x ) n
S 
n  0 n!
S

 (1)
n 1
n 1
14
S
ФУНКЦИЯ Y
25

8
n
4  xn
m
  x  

n 1
7
ДИАПАЗОН
ИЗМЕНЕНИЯ Х

 (1) n
n 0
x 2n 1
4n 2  1
x 2 n 1
2n  1
2
78
15
16

(2x ) 2 n
S   (1)
(2n )!
n 1
n
x 2 n 1
S 
n  0 ( 2n  1)!

0,1  x  1
0,1  x  1
10
2(cos 2 x  1)
10
e x  ex
2
Лабораторная работа № 3
Тема: Простейшие циклы
Указания. Использовать оператор цикла с параметром. Массивы не
использовать.
Варианты заданий.
1. Дано действительное число х. Составить программу для вычисления
многочлена по схеме Горнера:
y1  x10  2 x 9  3x 8  ...  10 x  11,
2.
3.
4.
5.
6.
y 2  11x10  10 x 9  9 x 8  ...  2 x  1.
Даны действительные числа a, h и натуральное число n. Вычислить
f (a)  2 f (a  h)  2 f (a  2h)  ...  2 f (a  (n  1)h)  f (a  nh),
где
f ( x)  ( x 2  1) cos2 x .
Дано натуральное число n. Вычислить сумму слагаемых:
12+234+…+n(n+1)…2n.
Дано действительное число x0. Вычислить значение выражения
x
2
x2 
4
x2 
8
x2 

256
x2  2
x
Дано натуральное число n. Вычислить произведение первых n сомножителей
1 3 5
2 2 4 4 6 6
   ;
      .
2 4 6
1 3 3 5 5 7
Даны действительное число a и натуральное число n. Вычислить значение
1
1
1



a a(a  1)
a(a  1)(a  n)
79
7. Пусть
x0  c ; x1  d ;
xk  q  xk 1  r  xk 2  b, k  2,3,...
Даны действительные числа q, r , b, c, d , натуральное число n (n>2). Составить
программу для вычисления x n .
8. Дано натуральное число n. Составить программу для вычисления
1 3 5 7
произведения первых n сомножителей
   ... .
1 2 3 4
9. Даны натуральное число n и действительное число x . Составить программу
для вычисления значения выражения:
sin x + sin(sin x) + … + sin(sin(…(sin x)…)).
10. Составить программу для вычисления y  3  6  ...  96  99 .
11. Составить программу для вычисления
y1=(2n-1)!!=135…(2n-1) и y2=(2n)!!=246…2n, n>0.
12. Числа Фибоначчи fn задаются формулами: f0=1, f1=1; fn=f n-1+ f n-2 при n>=2.
Определить 40-ое число Фибоначчи.
1 1
1
1
13. Составить программу для вычисления 1    ... 

2 3
9999 10000
последовательно слева направо и справа налево.
1
1

ak 1 , bk  2a 2 k 1  bk 1 , k  2,3,...
14. Пусть a1  b1 , ak   bk 1 
2
2

Дано натуральное число n. Составить программу для вычисления
n
a b .
k 1
15. Вычислить, чему равно «золотое сечение»:
1
 1
1
1
1  ...
1 5
и сравнить с точным значением  
.
2
16. Даны действительные числа x, a и натуральное число n. Составить
программу для вычисления ((…((x+a)2+a)2+…+a)2+a)2+a.
Лабораторная работа № 4
Тема: Циклы и разветвления
Общие требования для всех вариантов:
k
k
80
Задания требуют организации циклических процессов с использованием
оператора цикла в сочетании с оператором условного перехода. Массивы не
использовать.
Варианты заданий.
1.
Даны натуральные числа n, q1, q2, …, qn. Найти те члены
последовательности q1, q2, …, qn, которые имеют четные порядковые номера и
являются нечетными числами.
2. Даны целые числа q1, q2, …, q20. Получить сумму тех чисел данной
последовательности, которые кратны 5.
3. Даны числа nN, q1, q2, …, qn R. Вычислить обратную величину
произведения тех членов последовательности, для которых выполнено условие
i+1  ai  i!
4. Даны натуральное число n и действительные числа q1, q2, …, qn. Найти
максимальное число среди модулей чисел q1, q2, …, qn и сумму квадратов
чисел q1, q2, …, qn.
5. В магазине выстроилась очередь из n покупателей. Время
обслуживания продавцом i-го покупателя равно ti ( i= 1,n ). Пусть даны числа
nN,
t1, t2, …, tn R. Получить с1, с2, …, сn , где сi – время пребывания iго покупателя в очереди. Указать номер покупателя, для обслуживания
которого потребовалось самое малое время.
6. Даны числа nN, q1, q2, …, qn Z. Найти наименьшее из четных чисел,
входящих в последовательность q1-1, q1, …, qn , и количество нечетных чисел
среди них.
i 1
(i  1) 3
 sin
, i  1,2,
7. Пусть аi 
i 1
i 1
Дано nN. Среди a1, a2, …, an найти все положительные числа, а среди
них выбрать наименьше число.
8. Рассматривается последовательность чисел a1 , a2 , ... , an . Требуется
определить, сколько членов последовательности с номерами 1, 2, 4, 8, 16, …
имеют значение меньше 0,25. При этом считать, что
a k  sin 2 (3k  5)  cos(k 2 15), k  1, n .
9. Даны натуральное число n и действительные числа x1, x2, … ,xn .
1 r
Получить
, где r – сумма тех членов заданной последовательности,
1 s
которые не превосходят 1, а s – сумма членов, больших 1.
10. Даны натуральные числа n и k и последовательность целых чисел
x1, x2, … ,xn . Получить число отрицательных элементов подпоследовательности
x1, x2, … ,xn-k и число нулевых элементов последовательности.
11. Даны натуральное число n и действительные числа x1, x2, … ,xn.
Найти минимальное число среди -x1, x2, -x3, x4, … , (-1)n xn .
12. Даны натуральное число n и действительные числа x1, x2, … ,xn .
Верно ли, что отрицательных элементов в последовательности больше, чем
81
положительных? Верно ли, что наибольший элемент последовательности по
модулю больше 1?
13. Даны натуральное число n и действительные числа x1, x2, … , xn.
Заменить на 1 все неотрицательные элементы, не принадлежащие отрезку [1,
2], подсчитать число отрицательных элементов последовательности и число
элементов, принадлежащих отрезку [1, 2].
14. Даны действительные числа x, y1, y2, … ,y12 . Выяснить, верно ли, что
y1  x  y12, и t1  x  t2, где t1 – наименьшее, а t2 – наибольшее среди y1, y2, …,
y12 .
15. Дано натуральное число n. Определить, сколько в числе цифр и чему
равна их сумма?
16. Определить число, получаемое при выписывании в обратном порядке
цифр заданного натурального числа n.
Лабораторная работа № 5
Тема: Оператор варианта
Общие требования для всех вариантов:
Задания требуют организации разветвляющегося
использованием оператора варианта.
процесса
с
Варианты заданий.
1. Даны три целых положительных числа a, b, c. Определить остаток К от
деления на 3 величины М, равной
a + b2
M=
.
c
Вычислить значение функции :
e M+c
, при К=0,
y=
ln(a/b)
, при К=1,
2
(a+b) +c , при К=2.
Вывести значения К и у.
2. Составить программу для ввода четырех символьных значений и
вывести на печать символы с сообщениями «это цифра» и «это не цифра».
3. Найти остаток от деления целой части выражения С=К*(А+В) на 4 и
вывести значение С и величину остатка. Если остаток равен 0, то значение
переменной С оставить без изменения, если остаток равен 1 или 3 – уменьшить
на величину остатка, если 2 – увеличить на величину остатка. Новое значение С
также вывести в качестве результата (оно должно быть кратным 4).
4. Вычислить значение функции:
a+bx+cx2
, при 10  х < 20,
2
(asin(xb))
, при 20  x < 30,
3
y = |a+bx |+c
, при 30  x < 40,
82
aln|b+c/(2x)|
, при 40  x < 50,
asin(x)
3
e
+c
, при 50  x < 60.
5. Найти остаток от деления целой части значения функции z=ln(x2+a*b)
на 7, вывести значения z, её целой части и остатка. В зависимости от остатка
вывести название дня недели (понедельнику соответствует 1 и т. д.).
Задать a и b как константы, x – как переменную.
6. Ввести целое число К (от 1 до 99) и напечатать фразу «мне К лет»,
учитывая при этом, что при некоторых значениях К слово « лет » надо заменить
на слово « год » или « года ».
7. Составить программу вычисления площади определенной фигуры:
аb
, для прямоугольника,
ah/2
, для треугольника,
S = (a+b)h/2 , для трапеции,
R2
, для круга,
2
R /360
, для сектора.
Ввести значения только тех переменных, которые необходимы для
вычисления площади выбранной фигуры.
8*. Считая, что год не високосный и известен день, на который
приходится 1 января, определить день недели, на который приходится день с
датой d, m (с клавиатуры вводится число d и месяц m ).
9*. Считая, что год не високосный и известен день, на который
приходится 1 января, подсчитать количество понедельников в году,
приходящихся на 13-ое число.
10. Вычислить значение функции:
1-sin(x)
,при 5  x < 10,
y = (1+cos(x))/2
,при 10  x < 15,
tg(x)/3
,при 15  x < 20,
2
ctg (x)
,при 20  x < 25.
11. Составить программу вычисления площади боковой поверхности
определенной фигуры:
ph
, для прямой призмы,
2
6a
, для куба,
S=
2Rh
, для круглого цилиндра,
RL
, для круглого конуса,
2
4R
, для шара.
Ввести значения только тех переменных, которые необходимы для
вычисления площади боковой поверхности выбранной фигуры.
12. Даны три целых положительных числа a, b, c. Определив остаток от
деления на 3 величины
a + b2
M=
c ,
вычислить значение функции:
a2 - 4b+
, при k=0,
83
(b+)2+c+/2
, при k=1,
tg(b+)+1/(ac)
, при k=2 .
13*. Пусть значение функции f(n) равно количеству букв в записи числа
n русскими словами, т.е. f(1)=4, f(42)=8 и т. д. Напечатать все натуральные
числа, меньшие 100, для которых f(n)=n.
14. Известно, что астрологи делят год на 12 периодов и каждому ставят в
соответствие один из знаков Зодиака. Написать программу, которая по
введенной с клавиатуры дате печатает название соответствующего знака
Зодиака.
15. Вычислить момент инерции для задаваемого типа профиля к:
bh3/12
, при к=1,
3
3
I = (bh -vg )/12
, при к=2,
3
3
(bh -vg )/12
, при к=3,
3
3
3
(bL1 -vg +aL2 )/3
, при к=4,
2
2
где L1=(ah +bd )/(2+ah+bd), L2=h-L1, при заданных значениях b,v,h,a,d,g.
16. Для новогоднего вечера выпущены лотерейные билеты трех разрядов:
для детей, взрослых и пенсионеров. Номера билетов каждого разряда находятся
в пределах:
для детей – от 1 до 100;
для взрослых – от 101 до 200;
для пенсионеров – от 201 до 250.
Составить программу для определения разряда по номеру билета.
y=
Лабораторная работа № 6
Тема: Обработка строк символов
Общие требования: текст, необходимый для обработки, вводится с
клавиатуры.
Варианты заданий.
1.
Составить программу для проверки баланса левых и правых скобок
в заданном тексте.
2.
Составить программу для редактирования заданного предложения,
удаляя из него лишние пробелы.
3.
Составить программу для нахождения в заданном тексте самого
длинного и самого короткого слова.
4.
Составить программу для редактирования заданного текста путем
замены многоточия точками.
5.
Составить программу для удаления из заданного текста всех
запятых и подсчитать их количество.
6.
Составить программу для создания нового текста, состоящего из
последних букв всех слов заданного текста.
84
7.
Составить программу для вывода в обратном порядке слов
заданного текста.
8.
Ученики зашифровывают свои сообщения друг другу, записывая
все слова наоборот. Составить программу для расшифровки таких сообщений.
9.
Составить программу для нахождения в строке слов,
начинающихся на букву «м» и заканчивающихся на букву «а». Если таких слов
нет, то выдать сообщение об этом.
10. Составить программу для удаления из текста слов, заключенных в
скобки (вместе со скобками).
11. Составить программу для определения количества слов в заданном
тексте.
12. Составить программу для выяснения, на какую букву начинается
больше всего слов в заданном тексте.
13. Составить программу для определения, сколько раз в заданном
тексте встречается заданное слово.
14. Составить программу для вывода всех слов заданного текста в
алфавитном порядке.
15. Составить программу для выделения из заданного текста целых
положительных чисел и вычисления их среднего значения.
16. Составить программу для нахождения в заданном тексте самого
длинного симметричного слова (например, КАЗАК).
Лабораторная работа № 7
Тема: Процедуры и функции пользователя
Общие требования для всех вариантов:
Задание а) выполнить с использованием функции; задание б) выполнить с
использованием процедуры. Исходные данные выводить на экран. При
необходимости использовать динамическую память.
а) Вычислить большие корни квадратных уравнений:
a1х2 + b1x + c1 = 0 и a2x2 + b2x + c2 = 0 .
s1  s 2
Z
б) Вычислить
,
k1  k 2
где s1 и k1 – сумма и количество положительных элементов массива Х(N)
соответственно, s2 и k2 - сумма и количество положительных элементов
массива Y(M) соответственно.
2.
а) Подсчитать число точек, находящихся внутри круга радиусом R
с центром в начале координат. Координаты точек заданы массивами X(N),Y(N).
1.
б) Вычислить
e s1  e s 2
Z
,
k1  k 2
85
где s1 и k1 – сумма и количество положительных элементов массива Х(N)
соответственно, s2 и k2 - сумма и количество отрицательных элементов массива
Y(M) соответственно. Для вычисления суммы и количества нужных элементов
использовать подпрограмму.
3.
а) Определить периметры пяти треугольников, заданных
координатами вершин с помощью массивов XA(5), XB(5), XC(5),YA(5), YB(5),
YC(5). Длину стороны треугольника вычислять в подпрограмме.
б) Вычислить и запомнить сумму положительных элементов каждой
строки данных двухмерных таблиц А(n,m) и B(k,t).
4. а) Подсчитать число точек, находящихся внутри круга радиусом R с
центром в точке с координатами (1,1). Координаты точек заданы массивами
X(N),Y(N).
б)
Вычислить z=(x1+y1)/(x2-y2), где x1 и x2 - корни уравнения
2
a1х +b1x+c1=0, y1 и y2 - корни уравнения а2y2+b2y+c2=0. Рассмотреть случай
действительных корней. Для вычисления корней использовать подпрограмму.
5. а) Вычислить: V1 + V2 + V3
Z =
,
3
где V1,V2,V3 – объемы шаров с радиусами R1, R2, R3 соответственно.
Для вычисления объема шара использовать подпрограмму.
б) Найти наибольшие элементы и их порядковые номера в данных
массивах X(N) и Y(M).
6. а) Вычислить суммы положительных элементов данных линейных
массивов X(n), Y(m), Z(k).
б) Переписать положительные элементы данных линейных массивов
X(n) и Y(m) в массив Z подряд. Запись в массив Z осуществлять в
подпрограмме.
7. а) Вычислить среднее арифметическое положительных элементов для
данных линейных массивов X(n), Y(m), Z(k).
б) Найти наименьшие элементы и номера строк и столбцов, в которых
они расположены, для данных двухмерных таблиц A(n,m) и B(s,d).
8. а) Подсчитать количество элементов в данных двухмерных таблицах
A(n,m) и B(s,d), принадлежащих отрезку [0,1].
б) Вывести на печать элементы целочисленных матриц A(n,m) и B(s,d),
кратные 3.
9. а) Вычислить суммы положительных элементов каждой строки для
данных двухмерных таблиц А(n,m) и B(k,t).
б) Вычислить
sin(xi)-sin(yi)
,
Z =
|xi|
где X(n) и Y(m) – данные линейные массивы.
10. а) Вычислить
xm1 - xm2
86
,
Z =
2
где xm1 и xm2 - наименьшие элементы массивов X1(n) и X2(m). Для
нахождения xm1 и xm2 использовать подпрограмму.
б) Подсчитать количество отрицательных элементов для каждого
столбца данных двухмерных таблиц А(n,n) и B(k,t).
11. а) Вычислить суммы элементов на главных диагоналях матриц A(n,n)
и B(m,m). Вычисление каждой суммы проделать в подпрограмме.
б)
Вычислить
xmax - ymin
,
Z =
2
где xmax – максимальный элемент массива X(n), ymin – минимальный
элемент массива Y(m). В подпрограмме предусмотреть вычисление
минимального и максимального значений массивов одновременно.
12. а) Вычислить
S1 + S2
,
Z =
2
где s1 - сумма
положительных элементов массива Х(N), s2 - сумма
отрицательных элементов массива Y(M). Для вычисления суммы указанных
элементов использовать подпрограмму.
б) Вычислить суммы элементов, находящихся в интервале от a до b,
для данных двухмерных таблиц X(n,m), Y(k,t).
13. а) Подсчитать число нулевых элементов в данных двухмерных
таблицах X(n,m), Y(k,t).
б) Найти среднее значение и среднее отклонение для элементов
данных линейных массивов X(n), Y(m).
14. а) Вычислить суммы элементов нижних треугольных матриц A(n,n) и
B(m,m).
б) Преобразовать массивы X(n), Y(m), расположив в них подряд
только положительные элементы. Остальные элементы заменить нулями.
Формирование нового массива выполнить в подпрограмме.
15. а) Определить число положительных элементов до первого
отрицательного значения в данных линейных массивах X(N), Y(M), Z(K).
б) Вычислить суммы элементов верхней треугольной матрицы для
массивов A(N,N), B(M,M).
Лабораторная работа № 8
Тема: Действия на матрицами
Общие требования для всех вариантов:
В программе предусмотреть вывод исходных матриц и матрицырезультата. Программу составить с минимальным числом вспомогательных
матриц и циклов.
87
Варианты заданий.
1.
A=
2
4
-1
3
5
0
-1
2
7
-1
0
2
0
1
-2
5
3
4
B=
2
0
5
1
1
7
-1
3
3
B=
2
3
7
4
1
2
1
0
1
0
1
3
2
0
1
3
-2
1
3
-1
2
6
-2
1
-1
0
3
3
1
0
7
1
1
-2
-2
3
1
-3
5
4
-2
7
16
0
2
-1
2
4
B=
C = 2 (A + B) (2B - A).
2.
A=
4
3
4
5 -2
-1 0
2 7
C = 3A - (A + 2B ) B.
3.
A=
5
1
-10 -2
0 1
7
1
2
C = 2 (A - B) ( A2 + B).
4.
A=
7
-7
1
2
-2
1
0
1
1
B=
C = (A 2+ B2) (A + B).
5.
A=
5
10
7
2
4
3
0
1
2
B=
C = (A - B2) (2A + B).
6.
A=
7.
5
0
-2
-1
2
-1
3
-1
0
B=
C = (A - B)2A + 2B.
5
3 -1
A =
2
0 4
B=
3 5 -1
C = 2 (A – B/2) + AB.
8.
3
2
-5
88
A =
4
1
2
1
0
2
B=
0
-1
3
-3
2
4
B=
4
4
2
6
10
4
-2
1
-5
B=
2
5
1
0
-7
0
2
-2
-1
7
0
-3
5
1
-1
2
2
-1
7
0
13
13
5
21
11
6
2
3
1
16
8
7
3
7
3
5
22 -14
6
-7
11
3
3
0
15
C = (A – B) A + 3B.
9.
A =
1
2
0
4
1
1
2
-2
-1
C = 2A-( A2 + B)B.
10.
A =
4
3
0
2
-2
-1
1
0
2
C = 3 (A2 – B2) – 2AB.
11.
A =
1
-2
-1
0
0
3
3
1
1
B=
C = (2A – B) (3A + B) –2AB.
12.
A =
2
-1
5
3
2
3
1
4
0
B=
2
-1
5
C = A (A2 – B) – 2 (B + A) B.
13.
A =
-1
2
1
-2
3
4
3
5
-1
B=
4
1
2
C = (A + B) A – B (2A + 3B).
14.
A =
2
4
0
3
-1
1
1
0
2
B=
9
2
4
C = A (2A + B) – B (A - B).
15.
A =
2
1
4
1
-2
-3
3
0
0
B=
89
C = 3 (A + B) (AB – 2A).
Лабораторная работа № 9
Тема: Методы вычисления определенных интегралов
Общие требования для всех вариантов:
1)
Составить блок-схемы к методу прямоугольников (левых, правых
или средних), методу трапеций и методу Симпсона.
2)
Составить программу с тремя подпрограммами – отдельная
подпрограмма для каждого метода.
3)
После реализации каждого метода вывести на экран полученное
значение интеграла и число итераций. Также вывести точное значение
интеграла.
Указания.
1)
В программе предусмотреть формирование меню из четырех
пунктов: три пункта для вызова соответствующей подпрограммы, четвертый
пункт – для выхода из программы.
2) Начальное число разбиений задать равным 10. Точность >0 для всех
методов задать одинаковую (ввести с клавиатуры).
Варианты заданий.
Подынтегральная
функция
1
2
3
4
e x 1
Первообразная
[ a, b ]
[ 0, ln(2)]
2( e  1 -arctg e  1 )
xsh(x)
1
sin  
 x
x2
[ 0, 2 ]
x ch(x)-sh(x)
[ 1, 2.5 ]
1
cos 
x
xx (1 + ln(x))
[ 1, 3 ]
xx
x
x
90
5
e3x  1
ex 1
[ 0, 2 ]
0.5 e 2x – e x + x
[ 0, /2 ]
0.5  x - 0.25  sin(2x)
6
sin2(x)
7
e x  cos2(x)
[ 0, ]
ex(0.1+0.2sin(2x)+0.1cos(2x))
Подынтегральная
функция
[ a, b ]
Первообразная
8
9
10
11
12
13
(xln(x))2
e x  (1  sin( x))
1  cos( x)
1
(3 sin( x)  2 cos( x)) 2
x3
3 x
[ 1, e ]
[ 0, 1.5]
x
ex tg  
2
[ 0, 1]

[ 1, 2]
x
x  3x 2  2
4
xarctg(x)
3x
14
2
15
2xcos(x2)
x3
(9ln2(x)-6ln(x)+2)
27
[ 1, 2]
[ 0, 3 ]
3  cos( x)  2  sin( x)
26  cos( x)  39  sin( x)
3x 2 x 3
 -27ln(3+x)
9x2 3
1  x2 1 

ln 
2  x 2  2 
x2
x 1
arctg(x)- + arctg(x)
2 2
2
[ 0, 1]
23x  1
3 ln( 2)
[ 0, /2]
sin(x2)
Лабораторная работа № 10
Тема: Численные методы решения уравнений
91
Общие требования для всех вариантов:
1)
В программе предусмотреть формирование меню из четырех
пунктов: три пункта - для вызова методов (для каждого метода отдельная
подпрограмма: метод половинного деления, метод хорд и метод касательных),
четвертый пункт – для выхода из программы.
2)
Для каждого метода вывести на экран полученное значение корня,
число итераций и точное значение корня.
3) Точность >0 для всех методов задать одинаковую (ввести с
клавиатуры).
Варианты заданий.
Уравнение
Корень
[a,b]
1
3sin( x )+0.35 x -3.8 = 0
2.2985
[2, 3]
2
0.25 x 3 + x -1.2502 = 0
1.0001
[0.5, 1.5]
3
x + x + 3 x -2.5 = 0
0.7376
[0, 1]
4
5
0.1 x 2 - x ln( x ) = 0
1.1183
[0.5, 1.5]
5
1
1
1
tg( x )- tg3( x )+ tg5( x )- = 0
3
5
3
0.3333
[0, 1]
6
3 x -4ln( x )-5 = 0
3.2300
[3, 4]
7
ex -e
0.8814
[0, 1]
1.3749
[1, 2]
8
x
-2 = 0
sin(ln( x ))-cos(ln( x ))+2ln( x ) = 0
9
1
x -2+sin( ) = 0
x
1.3077
[1, 2]
10
e x +ln( x )-10 x = 0
3.5265
[3, 4]
1.0804
[1, 2]

x2
2
11
cos( x ) - e
+ x -1 = 0
12
1- x +sin( x )-ln(1+ x ) = 0
1.1474
[1, 2]
13
3 x -14+ e x - e  x = 0
2.0692
[1.5, 2.5]
14
1  x -tg( x ) = 0
0.5768
[0, 1]
15
3ln2 (x ) +6ln (x ) -5 = 0
1.8832
[1.5, 2.5]
92
16
sin( x 2 )+cos( x 2 )-10 - x = 0
0.1010
[0.5, 1.5]
Лабораторная работа № 11
Тема: Обработка файловых структур данных
Общие требования для всех вариантов:
Указания. Тип компонент файла - комбинированный. В программе
предусмотреть формирование меню из следующих пунктов: создание файла,
добавление записей в файл с возможностью его просмотра, обработка файла,
выход из программы.
Варианты заданий.
1. Создать файл, содержащий сведения о месячной зарплате рабочих
завода. Каждая запись содержит поля: фамилия, название цеха, размер
зарплаты за месяц. Вычислить общую сумму выплат за месяц по цеху Х, а
также среднемесячный заработок рабочих этого цеха. Напечатать ведомость
для начисления зарплаты рабочим этого цеха. Значение Х вводится с
клавиатуры.
2. Создать файл, содержащий сведения о количестве изделий, собранных
рабочими цеха за неделю. Каждая запись содержит поля: фамилия, количество
изделий, собранных ежедневно в течение 6-дневной недели. Предусмотреть
формирование и вывод следующей информации: фамилий рабочих и
количество деталей, собранных каждым за неделю; фамилию рабочего,
собравшего наибольшее число изделий и день, когда он достиг наибольшей
производительности.
3. Создать файл, содержащий сведения о количестве изделий категорий
А, В, С, собранных рабочими за месяц. Каждая запись содержит поля: фамилия,
название цеха, количество изделий по категориям, собранных рабочим за
месяц. Считая заданными значения расценок Sa, Sb, Sc за выполненную работу
по сборке каждой единицы изделия категорий А, В, С соответственно,
сформировать и вывести следующие сведения:
общее количество изделий категорий А, В, С, собранных рабочими
цеха Х;
ведомость зарплаты рабочих и средний размер зарплаты рабочих
цеха Y .
Значения Х, Y вводятся с клавиатуры.
93
4. Создать файл, содержащий сведения о телефонах. Каждая запись
содержит поля: фамилия абонента, год установки телефона, номер телефона.
Написать программу для формирования и вывода следующих сведений:
номер телефона для заданного абонента;
количество телефонов, установленных с определенного года (год
вводится с клавиатуры).
5.
Создать файл, содержащий сведения об ассортименте игрушек в
магазине. Каждая запись содержит поля: название игрушки, цена, количество,
возрастные границы, например, 2-5, т.е. от 2 до 5 лет.
Написать программу для формирования и вывода следующих сведений:
названия игрушек, которые подходят детям от 1 до 3-х лет;
цену самой дорогой игрушки и ее название;
название игрушки, которая по стоимости не превышает Х руб. и
подходит ребенку в возрасте от a до b лет. Значения Х, а, b вводятся с
клавиатуры.
6.
Создать файл, содержащий сведения о сдаче студентами сессии.
Каждая запись содержит поля: номер группы, фамилия студента, оценки по
пяти экзаменам и данные по пяти зачетам («з» или «н»).
Написать программу для формирования и вывода следующих сведений:
фамилии неуспевающих студентов с указанием группы и
количества задолженностей;
средний балл, полученный каждым студентом группы Х и всей
группой в целом (номер группы вводится с клавиатуры).
7. Создать файл, содержащий сведения о сдаче студентами сессии.
Каждая запись содержит поля: номер группы, фамилия студента, оценки по
пяти экзаменам, признак участия в общественной работе: «1» - участие, «0» неучастие.
Написать программу для назначения студентам группы Х на стипендии.
Студент, получивший все оценки «5» и активно участвующий в общественной
работе, зачисляется на повышенную стипендию (доплата 50%), не
участвующий – доплата 25%. Студент, получивший «4» и «5», зачисляется на
обычную стипендию. Студент, получивший одну «3», но участвующий в
общественной работе, также зачисляется на обычную стипендию, в противном
случае зачисление не производится. Номер группы вводится с клавиатуры.
8. Создать файл, содержащий сведения о личной коллекции книголюба.
Каждая запись содержит поля: шифр книги, автор, название, год издания, номер
стеллажа, номер полки.
Написать программу для формирования и вывода следующих сведений:
местонахождение книги автора Х с названием Y;
список книг автора Z;
число книг издания ХХХХ года.
Значения Х, Y, Z и ХХХХ вводятся с клавиатуры.
94
9. Создать файл, содержащий сведения о наличии билетов и рейсах
самолетов. Каждая запись содержит поля: номер рейса, пункт назначения,
время вылета, время прибытия, количество свободных мест.
Написать программу для формирования и вывода следующих сведений:
время отправления самолетов в город Х;
наличие свободных мест на рейс в город Y со временем
отправления Z .
Значения Х, Y, Z вводятся с клавиатуры.
10. Создать файл, содержащий сведения об ассортименте обуви в
магазине. Каждая запись содержит поля: артикул, наименование, количество,
стоимость одной пары. Артикул начинается с буквы Ж для женской обуви, М –
для мужской, Д – для детской.
Написать программу, выдающую следующую информацию:
наличие и стоимость обуви артикула Х;
список женской обуви с указанием наименования и имеющегося в
наличии числа пар каждой модели.
Значение Х вводится с клавиатуры.
11.
Создать два файла, содержащие сведения о десяти нападающих
команд «Динамо» и «Спартак» соответственно: имена нападающих, число
заброшенных шайб, число голевых передач, заработанное штрафное время.
Написать программу, которая создает третий файл, содержащий имена,
название команды, сумму очков (голы + передачи) для шести лучших игроков.
Содержимое этого файла вывести на экран.
12.
Создать файл, содержащий сведения о том, какие из пяти
предлагаемых дисциплин по выбору желает слушать студент. Каждая запись
содержит поля: фамилия, номер группы, 5 дисциплин, средний балл
успеваемости. Выбираемая дисциплина отмечается символом 1, иначе –
пробелом. Написать программу, которая выводит список студентов, желающих
прослушать дисциплину Х. Если число желающих больше 8, то отобрать
студентов, имеющих более высокий средний балл успеваемости. Значение Х
вводится с клавиатуры.
13.
Создать файл, содержащий сведения об отправлении поездов с
Казанского вокзала. Каждая запись содержит поля: номер поезда, станция
назначения, время отправления, время в пути, наличие билетов.
Написать программу для формирования и вывода следующих сведений:
времени отправления поездов в город Х во интервале от А до В
часов;
наличие билетов на поезд с заданным номером ХХХ.
Значения Х, А, В, ХХХ вводятся с клавиатуры.
14. Создать файл, содержащий сведения о сотрудниках института.
Каждая запись содержит поля: фамилия, название отдела, год рождения, пол,
стаж работы, должность, оклад.
Написать программу для формирования и вывода следующих сведений:
списка сотрудников пенсионного возраста с указанием стажа
работы;
95
среднего стажа работы для отдела Х.
Значение Х вводится с клавиатуры. Пенсионный возраст для женщин 55
лет, для мужчин – 60 лет.
15. Создать файл, содержащий сведения о пациентах клиники. Каждая
запись содержит поля: фамилия, пол, возраст, место проживания (город),
диагноз. Написать программу для формирования и вывода следующих
сведений:
количества иногородних пациентов, прибывших в клинику,
списока пациентов, старше Х лет с диагнозом Y.
Значения Х, Y вводится с клавиатуры.
16. Создать файл, содержащий сведения о сдаче студентами сессии.
Каждая запись содержит поля – номер группы, фамилия студента, оценки по
трем экзаменам и данные по трем зачетам («з» или «н»).
Написать программу для формирования и вывода следующих сведений:
среднего балла для каждого студента группы Х и всей группой в
целом;
список отличников, сдавших все зачеты.
Значение Х вводится с клавиатуры.
Лабораторная работа № 12
Тема: Обработка текстовых файлов
Указание. Текстовый файл можно создать с помощью Shift+F4.
Варианты заданий.
1. Дан текстовый файл f. Составить программу для подсчета в файле
числа строк, состоящих из одинаковых букв.
2. Дан текстовый файл f. Составить программу для вывода первой из
самых коротких строк текстового файла и последней из самых длинных.
3. Дан текстовый файл f. Записать в перевернутом виде строки файла f в
файл g. Порядок строк в файле g должен быть обратным по отношению к
порядку строк файла f.
4. Дан текстовый файл f, содержащий сведения о сотрудниках
учреждения, записанные по следующему образцу: фамилия, имя, отчество.
Записать эти сведения в файл g в следующем виде: имя, отчество, фамилия.
5. Дан текстовый файл f. Определить, являются ли первые два символа
каждой строки файла цифрами. Если да, то установить, является ли число,
образованное этими цифрами, четным.
6. Даны текстовые файлы f и g. Определить совпадают ли эти файлы.
Если нет, то получить номер первой строки, в которой файлы f и g отличаются.
В случае, когда один из файлов имеет N строк (N>0) и является началом
другого (более длинного), ответом должно быть число N+1.
96
7. Дан текстовый файл f. Составить программу, удваивающую в тексте
каждую цифру. Результат сформировать в файле g.
8. Дан текстовый файл f. Получить файл g, образованный из файла f
заменой всех заглавных букв одноименными строчными и наоборот.
9. Дан текстовый файл f. Подсчитать число вхождений в каждую строку
файла слова «word».
10. Дан текстовый файл f. Подсчитать число вхождений в файл каждой
из букв: a, b, c, d, e, f . Вывести результат в виде таблицы:
a – Na
b – Nb
c – Nc
d – Nd
e – Ne
f – Nf,
где Na, Nb, Nc, Nd, Ne, Nf – число вхождений соответствующих букв.
11. Даны текстовые файлы f и g. Записать в файл h все начальные
совпадающие строки файлов f и g.
12. Дан текстовый файл f. Записать в файл g с сохранением порядка
следования те символы файла f, которым предшествует буква «а».
13. Дан текстовый файл f. Найти самое длинное слово среди слов, вторая
буква которых есть «и», если слов с наибольшей длиной несколько, то в
качестве результата взять последнее. Если таких слов нет вообще, то выдать
сообщение об этом.
14. Дан текстовый файл f. Группы символов, разделенные пробелами
(одним или несколькими) будем называть словами. Удалить из текста все
однобуквенные слова и лишние пробелы. Результат записать в файл g.
15. Дан текстовый файл f. Переписать строки этого файла в файл g,
заменяя при этом каждую группу из стоящих рядом точек одной точкой.
16. Дан текстовый файл f и строка s. Напечатать все строки файла f,
содержащие в качестве фрагмента строку s.
Лабораторная работа № 13
Тема: Построение графиков функций в графическом режиме
Общие требования для всех вариантов:
Построить точечный график функции в заданном диапазоне изменения
аргумента x от a до b с числом точек n. Предусмотреть вычерчивание осей
координат с нанесением цены деления, обозначить оси координат и вывести
значения масштабов по осям.
Варианты заданий.
№ вар.
1
2
Вид функции
sin x
sin x  cos x
Диапазон изменения
a


2
0
b
Число точек
n

2
30

40
97
4
2 sin x  3 cos x
sin x  cos 2 x
5
2  cos x
3
7
sin( 2 x )  cos x
sin x  cos x  1
8
2 sin 2 x  1
6
-

50
-

50
0
3
2
40
0
2
50
-

40

2
50


2
x2  2
10
1  x2
x3
x2  2
x  cos 2 x
-3
5
40
-3
3
30
-1
4
50
-1
4
50
-1
3
40
-1
3
40
15
x e
1
x2  x  1
sin x  cos x
0

30
16
2  cos x  2


2
40
9
10
11
12
13
14
2
 x

2
Лабораторная работа № 14
Тема: Однонаправленные списки
Цель работы: изучение организации списковых структур, основанных на
динамических данных.
Указание. Для организации однонаправленного списка использовать типы
вида:
Type Ukaz = ^Zveno;
Zveno = Record
Next : Ukaz;
Info : Char
end;
Варианты заданий.
1.
В слове, состоящем из букв и цифр и заканчивающимся точкой,
перед каждой группой одинаковых букв, вставить цифру, изображающую число
букв в этой группе, а саму группу заменить одной буквой.
98
2.
В слове, состоящем из букв и цифр и заканчивающемся точкой,
удалить все цифровые символы.
3.
В слове, состоящем из букв и цифр и заканчивающемся точкой,
удвоить каждый цифровой символ.
4.
В слове, заканчивающимся точкой, заменить вхождения Е1 на Е2,
где Е1 и Е2 – элементы слова одинаковой длины.
5.
В слово, заканчивающееся точкой, вставить элемент Е1 за каждым
вхождением элемента Е2.
6.
В слово, заканчивающееся точкой, вставить новый элемент Е1
перед первым вхождением элемента Е2, если такое вхождение имеет место.
7.
В слове, заканчивающимся точкой, удалить за каждым вхождением
элемента Е один элемент, если он есть и отличен от Е.
8.
Слово, заканчивающееся точкой, вывести в обратном порядке
(использовать рекурсию).
9.
В слове, заканчивающемся точкой, подсчитать число вхождений
элемента Е.
10. В слове, состоящем из букв и цифр и заканчивающемся точкой,
продублировать каждый нецифровой символ.
11. В слове, заканчивающимся точкой, удалить все элементы, у
которых есть одинаковые соседи.
12. К слову, заканчивающемуся точкой, добавить все его элементы,
располагая их в обратном порядке.
13. В слове, заканчивающемся точкой, удалить все гласные буквы.
14. В слове, состоящем из букв и цифр и заканчивающемся точкой,
удвоить каждый нецифровой символ.
15. В слове, состоящем из букв и цифр и заканчивающемся точкой,
удалить все нецифровые символы.
Библиографический список
1.
Абрамов С.А., Зима Е.В. Начала информатики. М.: Наука, 1989. –
256 с.
2.
Вычислительная техника и программирование. Учебн. пособие для
техн.вузов. Под редакцией А.В.Петрова. М.: Высш.шк., 1990. – 479 с.
3.
Пильщиков В.Н. Сборник упражнений по языку Паскаль. М.:
Наука, 1989. –160 с.
4.
Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык
Паскаль. М.: Наука, 1988. –320 с.
5.
Йенсен К., Вирт Н. Паскаль: руководство для пользователя. М.:
Финансы и статистика, 1989. – 255 с.
6.
Грехем Р. Практический курс языка Паскаль для микро-ЭВМ. М.:
Радио и связь, 1986. – 200 с.
7.
Перминов О.Н. Программирование на языке Паскаль. М.: Радио и
связь, 1988. –224 с.
99
8.
Семашко Г.Л., Садтыков А.И. Программирование на языке
Паскаль. М.: Наука, 1988. -128 с.
9.
Джонс Ж., Харроу К. Решение задач в системе Турбо Паскаль. М.:
Радио и связь, 1991, -720 с.
10. Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо
Паскаль (версия 5.5). М.: Изд-во МАИ, 1992. –576 с.
11. Вирт Н. Алгоритмы и структуры данных. М.: Мир, 1989. –360 с.
Содержание
Введение ………………………………………………………………..
БНФ и синтаксические диаграммы ……………………………………
Основные символы и лексемы ………………………………………..
Понятия «программа» и «блок» ……………………………………….
Концепция данных ……………………………………………………..
Ординальные типы данных ……………………………………………
Стандартный тип Integer ……………………………………………….
Стандартный тип Boolean ………………………………………………
Стандартный тип Char ………………………………………………….
Стандартный тип Real ………………………………………………….
Концепция действия ……………………………………………………
Оператор присваивания ………………………………………………..
Составной оператор …………………………………………………….
Выбирающий оператор …………………………………………………
Операторы цикла ……………………………………………………….
Простейшие средства ввода/вывода данных …………………………
Перечислимые типы данных …………………………………………..
Интервальные типы данных ……………………………………………
Составные типы данных ……………………………………………….
Регулярный тип данных ………………………………………………..
Многомерные массивы ………………………………………………….
Строки символов и стринги …………………………………………….
Комбинированный тип данных …………………………………………
Записи с вариантами …………………………………………………….
Множественный тип данных ……………………………………………
Операции над множествами …………………………………………….
Файловый тип данных …………………………………………………..
Текстовые файлы ………………………………………………………..
Процедуры и функции пользователя …………………………………..
Локальные и глобальные переменные. Локализация подпрограмм …
Статические и динамические объекты …………………………………
Понятие данных ссылочного типа. Переменные с указателем.
Порождение и уничтожение динамических объектов …………….
Действия над ссылками ………………………………………………….
Проблема программного «мусора» и «висячих» ссылок ……………..
100
Понятие таблицы …………………………………………………………
Простая цепочка ………………………………………………………….
Цепочка с упорядоченными записями ………………………………….
Дихотомический поиск в таблице ………………………………………
Двоичные деревья ………………………………………………………..
Работа в графическом режиме …………………………………………..
Лабораторные работы ……………………………………………………
Библиографический список ……………………………………………..
Download