Оглавление Лабораторная работа № 1 .............................................................................................................. 2 1.1. Варианты заданий ................................................................................................................... 2 1.2. Пример решения задачи ......................................................................................................... 5 1.3. Задачи повышенной сложности ............................................................................................ 6 2. Лабораторная работа № 2 .............................................................................................................. 7 2.1. Задание 1. Ветвление с двумя альтернативами ................................................................... 7 2.1.1. Варианты заданий на ветвление с двумя альтернативами ......................................... 7 2.1.2. Пример решения задачи ............................................................................................... 10 2.2. Задание 2. Ветвление ветвления.......................................................................................... 11 2.2.1. Варианты заданий: ........................................................................................................ 11 2.2.2. Пример решения задачи ............................................................................................... 15 2.3. Задание 3. Оператор выбора ................................................................................................ 16 2.3.1. Варианты заданий на оператор выбора ...................................................................... 16 2.3.2. Пример решения задачи ............................................................................................... 20 2.4. Задачи повышенной сложности .......................................................................................... 22 3. Лабораторная работа № 3 ............................................................................................................ 23 3.1. Варианты заданий к лабораторной работе № 3 ................................................................. 23 3.2. Пример решения задачи ....................................................................................................... 26 4. Задания к лабораторной работе № 4 ........................................................................................... 30 4.1. Одномерный массив ............................................................................................................. 30 4.1.1. Варианты заданий ............................................................................................................. 30 4.1.2. Пример решения задачи ................................................................................................... 33 4.2. Двумерные массивы ............................................................................................................. 35 4.2.1. Варианты заданий ............................................................................................................. 35 4.2.2. Пример решения задачи ................................................................................................... 38 5. Задания к лабораторной работе № 5 ........................................................................................... 40 5.1. Варианты заданий ................................................................................................................. 40 5.2. Пример решения задачи ....................................................................................................... 45 6. Задания к лабораторной работе № 6 ........................................................................................... 46 6.1. Варианты заданий ................................................................................................................. 46 6.2. Пример решения задачи ....................................................................................................... 48 1. 1. Лабораторная работа № 1 Тема: Запись арифметических выражений на языке программирования Турбо Паскаль 1.1. Варианты заданий Задание: Составить блок-схему алгоритма и программу на языке Паскаль для вычисления значений функции y=f(x) при заданном значении x, которое вводится с клавиатуры. Таблица 1.1 Номер варианта 1 2 Исходные данные y=f(x) у y cx 62,7e x ax 2 7 x b ln x ax 3,8tgx bx 3 c 3 a y 2 cx 3 b sin 2 x bx 1 4 y a 4,19 x 3 1 b ln x c 5 y ln a sin x b cos x 2 6 7 8 9 10 11 2 y y ax 3 arctgx cx b ln x ax b 2e x bx y cosax b ln 1 bx e x 2 y e ax x 2 ln x 2 bx 10 sin cx 4,2 y e 2 x b 1,7 coscx 3 x ln x 2 a y ln x 2 b cx 3 ex a 2 1 a 7, 2 b 14,3 c 13,4 x 5,6 a 1,23 b 5,14 c 3,97 x 7,1 a 2,27 b 1,18 c 3,92 x 0,78 a 9,2 b 3,5 c 12,3 x 3,2 a 1,2 b 2,3 x 5,6 a 2,71 b 1,63 c 0,81 x 0,51 a 6,32 b 3,704 x 7,15 a 7,1 b 1,8 x 0,9 a 5,7 b 6,4 c 3,1 x 2,8 a 2,1 b 5,3 c 1,4 x 1,2 a 4,7 b 7,21 c 1,72 x 0,91 12 13 14 15 16 17 y sin e x ax 2 b ln x ax 2 cx 13,7 y a b ctg x e cx 2 1 bx y cx 2 e bx x cosax y sin x 2 a 2 e b x ax c 3 ln 2 ax 2 sin bx 2 1 x2 bx 2 1 y x e ax ln 2 cx 3 y 18 2 sin ax 3 3 bx 2 y e x 3,2 19 y ax 2 bx 3 9,2 ln 2 cos x 20 21 22 23 24 25 26 ye cos bx x y xln x e y ax 1 sin c ax tg bx ax b cos x e cx 2 ax 2 ln x a 2 b cos x 4,7 ln b x y arctg e ax x3 y y y a cos x be sin x ln x cx 4 a cx ln x ax 2 x b 27 a 2 x 2 e b x y sin cx 4,79 28 tg c x 2 e x bx y a2 x 3 3 a 3,7 b 4,9 c 2,5 x 1,3 a 4,5 b 2,2 c 1,5 x 0,85 a 4,5 b 2,2 c 1,67 x 2,36 a 4,26 b 1,71 c 3,86 x 2,73 a 4,3 b 2,9 x 1,8 a 2,44 b 1,39 c 6,21 x 3,10 a 4,17 b 3,69 x 1,2 a 6,27 b 2,73 x 2,83 a 2,13 b 4,7 c 2,6 x 1,2 a 3,2 b 1,67 x 3,49 a 2,71 b 6,23 c 3,34 x 2,43 a 1,83 b 2,15 x 3,57 a 0,21 b 2,19 x 3,74 a 1,93 b 3,48 c 0,27 x 1,44 a 5,72 b 4,48 c 1,72 x 1,29 a 0,83 b 1,16 c 2,72 x 1,63 a 1,3 b 2,8 c 0,9 x 3,5 29 ln ax 2 c sin bx y e 2 x4 30 a ctgx x cos x y b e cx 4 a 4,53 b 3,19 c 1,73 x 0,58 a 2,63 b 3,71 c 0,32 x 1,29 1.2. Пример решения задачи Задание: y a 2 ln bx , e x coscx a 1,5; b 2,1; c 3,22; x 1,83 Решение: 1.Блок-схема алгоритма приведена на рисунке. Рисунок 1.1. Начало a 1,5; b 2,1; c 3,22 Ввод Х ввод y x a 2 ln bx , e x coscx Вывод Х, Y Конец 2.Текст программы: program p1; var a,b,c,x,y:real; begin a:=1.5;b:=2.1;c:=3.22; write('введите x='); readln(x); y:=(sqr(a)+ln(b*x))/(exp(x)+cos(c*x)); writeln('при x=',x:4:2,' значение y=',y:5:2); readln; end. 3.Результат выполнения контрольного примера: при x=2.34 значение y= 0.36 5 1.3. Задачи повышенной сложности Таблица 1.2 № варианта 1 2 3 4 5 6 7 Задание Вычислить периметр и площадь прямоугольного треугольника по заданным длинам двух катетов a и b. Вычислить длину окружности и площадь круга одного и того же заданного радиуса R. Найти произведение цифр заданного четырехзначного числа Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел. Даны два действительных числа x и y.Вычислить их сумму, разность, произведение и частное Вычислить корни квадратного уравнения ax bx c 0 , заданного коэффициентами a, b и c (предполагается, что a0 и что дискриминант уравнения неотрицателен). Дано действительное число x. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить за минимальное число операций 2 8 2 x 4 3x 3 4 x 2 5 x 6 2 3 Дано x. Получить значения 2 x 3 x 4 x и 1 2 x 3x 2 4 x 3 . Позаботиться об экономии операций. 9 Дано a. Не используя никаких функций и никаких операций, кроме 10 умножения, получить a за три операции; a и a за четыре операции. Полторы кошки за полтора часа съедают полторы мышки. Сколько мышек съедят X кошек за Y часов? Дана величина А , выражающая объем информации в байтах. Перевести А в более крупные единицы измерения информации. 8 11 10 6 16 2. Лабораторная работа № 2 Тема: Составление алгоритмов и программирование разветвляющихся алгоритмов с двумя альтернативами, ветвление ветвления, оператор выбора 2.1. Задание 1. Ветвление с двумя альтернативами Задание: Составить схему алгоритма и программу на языке Паскаль для вычисления значений функции y = f(x) при произвольных значениях x. Получить результат работы программы для двух заданных значениий x. Варианты заданий в таблице 2.1. 2.1.1. Варианты заданий на ветвление с двумя альтернативами Таблица 2.1 Номер вар. 1 b 2 ln x y x2 x 2 a 2 1 x y a 2 e cos(bx 1) 3 Исходные данные Y=f(x) 1 y a2 x2 b ln x при x 3, при x 3 при x 0, при x 0 при x 1, при x 1 4 a x2 при x 2, y b ln( x 1) e x x 2 при x 2 5 a sin 2 x x при x 1, y x2 при x 1 be 6 a tg ( x 2 ) y x2 b x2 a при x 1, при x 1 7 (a x)arctg (ax) при x 3, y 2 3 при x 3 cos (b x ) 8 sin 3 (a x) при x 5, y при x 5 ln b x 9 y 1 x ax sin( bx) 3 при x 2, при x 2 7 a 10,2 b 13,4 1) x 4,5 2) x 1,72 a 8,53 b 17,1 1) x 2,5 2) x 3,1 a 7, 2 b 5,7 1) x 2,92 2) x 3,57 a 9,1 b 3,6 1) x 5,41 2) x 0,71 a 1,1 b 3,2 1) x 4,23 2) x 0,93 a 9,5 b 3,8 1) x 4,52 2) x 1,83 a 4,1 b 2,9 1) x 6,81 2) x 2,17 a 1,9 b 3,4 1) x 7,39 2) x 0,62 a 4,6 b 3,2 1) x 3,78 2) x 1,54 10 e 2 x b 1 при x 0, y 1 при x 0 x 2 a 11 y a sin x при x 4, при x 4 tg (bx) 12 2 bx) при x 1, y 2 xx a cos( 3 e tg x при x 1 13 14 2 y ln(sinax x ) 2b e при x 2, при x 2 0,2 x 3 a y 2 bx ln x 3 при x 1, при x 1 15 2 sin( x a ) при x 2, y 2 при x 2 ln( x 2 x b) 16 a b 2 x при x 3, y 1 при x 3 x 2 e bx 17 sin ax y 2 ln 1 (bx) 18 3 y bx(a2 x) e 19 20 21 22 при x 1, при x 1 при x 1, при x 1 2 y 2 x 3 cos x при x 6, при x 6 b sin (ax) y 2 x 2 cos(b x) a sin( x ) 1 3 cos 2 b y x ln( 1 ax) a y 2 3e sin bx x при x 3, при x 3 при x 2, при x 2 при x 0, при x 0 8 a 6,7 b 1,8 1) x 0,24 2) x 2,13 a 3,9 b 4,8 1) x 5,17 2) x 2,35 a 1,71 b 0,83 1) x 2,16 2) x 3,37 a 5,9 b 6,1 1) x 6,72 2) x 1,23 a 2,9 b 1,6 1) x 3,18 2) x 1,17 a 1,39 b 2,76 1) x 3,68 2) x 0,91 a 7,5 b 1,4 1) x 4,13 2) x 0,77 a 1,57 b 2,38 1) x 0,1 2) x 4,25 a 4,92 b 5,18 1) x 5,13 2) x 1,32 a 4,49 b 5,18 1) x 4,41 2) x 7,69 a 1,89 b 2,7 1) x 2,37 2) x 5,72 a 1,89 b 0,78 1) x 2,63 2) x 0,12 a 4,17 b 2,24 1) x 1,93 2) x 3,27 23 24 25 26 27 28 29 30 a 2 sin ax 3 при x 1, y 2 при x 1 ln x b 1 a y x2 1 ln( b x ) при x 4, при x 4 x y a 3be 2при x 1, при x 1 cos (ax) a x x a при x 0, y v3 при x 0 3 3 u v /(u v ) z xx a x y a z /( a x) (a x) 1 (a x)2 при x 2, при x 2 10(3 x x a 2 ) при x 10, y 2 (sin z) x a при x 10 e a x (tg 2 z 1) x при x 0, y 3 8 x a 2 1 при x 0 x2 a2 2 x при x 1 a a x 3 y (1 tg 2 z ) a 6 при x 1 2 9 a 1,43 b 4,18 1) x 3,29 2) x 1,64 a 6,18 b 3,52 1) x 5,22 2) x 2,15 a 1,83 b 2,27 1) x 3,67 2) x 0,48 a=1,25 u=-0,22 v=0,01 1)x=-0,85 2)x=2,34 a=18,225 z=-3,298 1)x=1,825 2)x=3,546 a=-2,75 z=0,15 1)x=8,45 2)x=16,55 a=0,750 z=0,845 1)x=-4,500 2)x=2,320 a=-8,750 z=0,765 1)x=0,100 2)x=2,76 2.1.2. Задание: Пример решения задачи b 3 cos 3 x при x 2 y , если известно, что a 3,7; b 6,1 2 ax 7 x 10 при x 2 1) при x= 5.00 2) при x= 1.20 Решение: 1.Блок-схема алгоритма вычислений представлена на рисунке. Рисунок 2.1 начало a 3,7; b 6,1 Ввод X Да X <= 2 Нет 2 y ax 7 x 10 Вывод X, Y конец 2.Текст программы. program p2; var a,b,x,y:real; begin a:=3.7;b:=6.1; write('введите x='); readln(x); if x<=2 then y:=b+3*cos(x)*sqr(cos(x)) else y:=sqrt(a*sqr(x)+7*x+10); writeln('при x=',x:5:2,' значение y=',y:5:2); readln; end. 3.Результат выполнения контрольного примера при x= 5.00 значение y=11.73 при x= 1.20 значение y= 6.24 10 y b 3 cos 3 x 2.2. Задание 2. Ветвление ветвления Задание. Составить схему алгоритма и два варианта программы на языке Паскаль для вычисления значений функции y=f(x) при произвольных значениях x. Варианты заданий в таблице 2.2. 2.2.1. Варианты заданий: Таблица 2.2 Номер варианта 1 2 3 4 5 Y=F(x) x 3 2a при x 2 y ln cos bx при 2 x 5 2 x при x 5 x e 1 x при x 0 a 2 e y sin (b 2 x) при 0 x 4 2 x 2a при x 4 при x 1 sin ln x 2 y 4 x b при 1 x 3 1 2 при x 3 x a2 cos( ax) при 3 x 5 x x 2 1 a y b sin при x 5 x e x ln x при x 3 2 cos 2 (ax 2 b) при x 2 y 3x 2 b при x 3 2 ax при 2 x 3 x e 6 b x 2 1 при x 3 y ln x a при x 8 2 2 при 3 x 8 cos ax 3 7 a cos2 x b sin x 2 при x 1 3 y b ln x x при 1 x 4 2 при x 4 x ab cos3 ax 2 при x 2 b y sin 2 x при x 1 x 2 x 2 3 при 1 x 2 8 11 Исходные данные a 2,1 b 6, 7 1) x 2,37 2) x 0, 49 3) x 7,51 a 7,1 b 3, 2 1) x 3, 04 2) x 2,16 3) x 5,37 a 2, 73 b 1, 68 1) x 0,37 2) x 1,9 3) x 4,58 a 3,9 b 4, 6 1) x 3,57 2) x 7, 49 3) x 1, 73 a 1,3 b 2,5 1) x 3,16 2) x 4,16 3) x 1.78 a 7,1 b 4, 2 1) x 1, 48 2) x 9,17 3) x 6, 23 a 2, 6 b 5,1 1) x 0, 44 2) x 3, 67 3) x 5,38 a 2, 7 b 3,59 1) x 4, 27 2) x 2, 63 3) x 1,39 9 10 11 12 13 14 15 ax 14 при x 3 1 y 2 при 3 x 5 2 x b ln x a cos b x 2 при x 5 1 a x при x 1 2 y 2 ax e x при x 6 2 при 1 x 6 x 1 b ln a x x 2 ax при x 1 1 y 2 при x 4 x 2 3 x 12 при 1 x 4 1 при 2 x 0 1 a x y cos bx 2 0,5 x при x 2 при x 0 1 e ax ln( x ax 2 1) b y arctg 2 x 1 a2 x2 e sin x y ln 2 bx 1 (ax) 2 17 при x 5 при 2 x 5 при x 1 при x 5 при 1 x 5 e x 1 при x 1 2 y cos ax при 0 x 1 при x 0 ln b x ax bx 2 при x 3 x 2 y e x при 3 x 6 sin 2 bx при x 6 16 при x 2 1 (1 x) 2 y x 2 cos a sin( ax b) при x - 1 при x 1 при - 1 x 1 12 a 1,8 b 3,3 1) x 2, 46 2) x 4,3 3) x 6,82 a 6, 72 b 4,85 1) x 0, 4 2) x 7,5 3) x 4, 45 a 1,7 1) x 2,61 2) x 1,49 3) x 5,56 a 2,1 b 0, 7 1) x 1, 47 2) x 4, 28 3) x 5, 07 a 4,8 b 0,51 1) x 3, 24 2) x 7, 62 3) x 0, 28 a 0,19 b 6,1 1) x 4,38 2) x 8, 2 3) x 3, 74 a 5,5 b 3,1 1) x 2, 61 2) x 0,53 3) x 4,39 a 7, 2 b 3,9 1) x 0,38 2) x 4,19 3) x 9,13 a 2, 7 b 1,5 1) x 4,5 2) x 0,33 3) x 2,53 18 19 20 21 22 23 24 25 x cos ax при 2 x 5 y ln x ax при x 5 arctg b при x 2 x2 1 ax при x 3 1 x y e b x при x 5 ln (ax bx 2 ) при 3 x 5 2 при x 2 ax b 1 y cos при 2 x 4 1 a x при x 4 ln x sin bx e ax e bx при 6 x 8 2 y sin ax 2 при x 6 cos 2 bx при x 8 x 2 cos x при x 2 sin ax y e при 0 x 2 ln (x 2 b) при x 0 sin 2 a x при x 5 b y e x 1 при x 3 2 3 при 3 x 5 x ab e bx1 при 2 x 7 1 y 3 при x 7 ax 1 ln 1 (ax) 2 при x 2 ax 2 1 при x 3 y ln( bx) при 3 x 6 2 cos 3x при x 6 1 ax 13 a 4,8 b 0, 64 1) x 3, 68 2) x 6, 7 3) x 4,51 a 3,9 b 2, 4 1) x 1,38 2) x 5, 47 3) x 3, 2 a 4, 27 b 1,39 1) x 4,51 2) x 2, 75 3) x 5,32 a 3, 6 b 1, 7 1) x 7, 24 2) x 9, 63 3) x 0, 48 a 6, 27 b 5,13 1) x 3,18 2) x 4, 6 3) x 1,12 a 2, 2 b 3, 4 1) x 6, 47 2) x 5,9 3) x 1,94 a 4,9 b 1,3 1) x 4, 27 2) x 8,5 3) x 1, 48 a 2, 7 b 4, 4 1) x 1, 49 2) x 5,3 3) x 7, 28 26 b при 1 x 4 ax x 1 1 y sin при x 4 bx 2 e a x b при x 1 a 0, 46 b 1,39 1) x 2,91 2) x 5, 62 3) x 0, 76 27 при 0 x 1 a tg (bx) 1 y sin bx при x 1 x e x a при x 0 a 1, 24 b 5,17 1) x 0, 61 2) x 4,8 3) x 0,95 28 b x 3 y a 3 x e x a 1,76 29 30 при x 5 при 5 x 2 при x 2 2 x bx 3 y arccos x ln ( x a) 2 sin bx 1 y ctg x ax 3 при x 1 при - 1 x 1 при x 1 b 2,34 1) x 0,59 2) x 1,06 3) x 0,58 a 0,65 b 1,43 1) x 1,9 2) x 0,16 3) x 2,52 a 0,55 при x 0,5 при 0,5 x 2,5 b 4,31 при x 2,5 1) x 2,98 2) x 0,21 3) x 1,27 14 2.2.2. Задание: При Пример решения задачи x 2b, x -1 y e x , - 1 x 2 cos ax, x 2 a=3,7 b=6,1 и значениях Х 1) Х =-1,16 2) Х= 1.32 3) Х =3.9 Решение: 1.Блок-схема программы с вложенным ветвлением. Рисунок 2.2 Начало a 3,7; b 6,1 Ввод Х Нет X < -1 Да Нет y x 2b X<=2 Да Y = e-x Вывод X, Y Конец 2.Текст программы. program p3; var a,b,x,y:real; begin a:=3.7;b:=6.1; write('введите x='); readln(x); if x<-1 then y:=x+2*b else if x<=2 then y:=exp(-x) else y:=cos(a*x); writeln(' при x=',x:5:2,' значение y=',y:5:2); readln; end. 3.Результат выполнения контрольного примера при x=-1.16 значение y=11.04 при x= 1.32 значение y= 0.27 при x= 3.90 значение y=-0.29 15 y cos ax 2.3. Задание 3. Оператор выбора Задание. Составить схему алгоритма и программу на языке Турбо Паскаль для вычисления значений функции y=f(x) при произвольных значениях x. Варианты заданий в таблице 2.3. 2.3.1. Варианты заданий на оператор выбора Таблица 2.3 Номер варианта 1 2 3 4 5 6 Исходные данные Y=F(x) x 3 2a y ln cos bx 2 x x e 1 x a 2 e y sin (b 2 x) 2 x 2a при x 3 a=2,1 b=6,7 x=-2; 4; 6; 8 при x 4 при x 6 a=7,1 b=3,2 x=-1; 3; 4; 6 при x 1 при x 3 при x 4 sin(ln x ) при x 2 y (4 x b) 2 при x 3 1 2 при x 5 x a2 cos( ax) x x 2 1 a y b sin x x e ln x при x 5 при x 8 a=2,73 b=1,68 x=-2; 3; 5; 7 a=3,9 b=4,6 x=1; 2; 5; 8 при x 2 2 cos 2 (ax 2 b) при x 2 y 3x 2 b при x 4 2 ax при x 3 x e a=3,9 b=4,6 x=-2; 1; 3; 4 b x 2 1 y ln( x a ) 2 2 cos (ax 3) a=7,1 b=4,2 x=3; 4; 7; 8 7 a cos 2 x b sin x 2 y b ln x x 3 2 x ab 16 при x 3 при x 8 при x 7 a=2,6 b=5,1 при x 1 x=1; 2; 4; 5 при x 4 при x 5 8 cos 3 (ax) 2 при x 3 b y sin 2 x при x 1 x (2 - x 2 ) 3 при x 1 (ax 1) 4 при x 3 1 y 2 при x 4 2 x b ln x a cos(b x) 2 при x 6 1 a x при x 1 y 2 (ax) 2 e x при x 7 2 x 1 b ln( a x) при x 5 x ax при х 2 1 y 2 при х 5 x 2 3 ( x 1) 2 при x 3 a=2,7 b=-3,59 x=-1; 1; 3; 5 12 1 при х 0 1 a x y cos)bx 2 0,5 x при х 2 ax при х 1 1 e a=2,1 b=0,7 x=-2; 0; 1; 2 13 ln( x ax 2 1) b y arcsin 2 x 1 a2 x2 a=4,8 b=0,51 x=-2; 1; 4; 8 9 10 11 14 15 16 при при х 8 a=6,72 b=4,85 x=1; 5; 4; 7 a=1,7 b=6,6 x=1; 2; 3; 5 при х 1 e sin x при х 2 y ln 2 bx при х 7 1 (ax) 2 при х 4 e x 1 при х 2 2 y cos ax при х 1 ln( b x при х 0 ax bx 2 при x 4 x y e x 2 при x 6 sin 2 bx при x 9 17 х 2 a=1,8 b=3,3 x=1; 3; 4; 6 a=0,19 b=6,1 x=-2; 2; 4; 7 a=5,5 b=3,1 x=0; 1; 2; 5 a=7,2 b=3,9 x=1; 4; 6; 9 17 18 19 20 21 22 23 24 1 (1 x) 2 y x 2 cos a sin( ax b) при x - 2 при x 2 при x 1 a=2,7 b=1,5 x=-2; 1; 2; 3 x cos ax при x 3 y ln x ax при x 6 arctg b при x 1 x2 1 ax при x 3 1 x y e b x при x 12 ln (ax bx 2 ) при x 5 2 при x 3 ax b 1 y arccos при x 3 1 a x при x 5 ln x sin bx e ax e bx при x 8 2 y sin ax 2 при x 6 cos 2 bx при x 9 a=4,8 b=0,64 x=1; 3; 4; 6 x 2 cos x y e sin ax ln (x 2 b) sin 2 a x b y e x 1 2 3 x ab e bx1 1 y 3 ax 1 ln 1 (ax) 2 a=6,27 b=5,13 x=-2; 1; 2; 5 при x 2 при x 1 a=3,9 b=2,4 x=1; 3; 5;12 a=4,27 b=1,39 x=-3; 2; 3; 5 a=3,6 b=1,7 x=1; 6; 8; 9 при x 2 при x 5 при x 3 a=2,2 b=3,4 x=-3; 2; 4; 5 при x 4 при x 6 при x 7 при x 2 18 a=4,9 b=1,3 x=1; 2; 6; 7 25 26 27 28 29 30 ax 2 1 при x 3 y ln( bx) при x 4 2 cos 3x при x 6 1 ax b при x 3 ax x 1 1 y arcsin при x 5 bx 2 e a x b при x 0 при x 1 a tg (bx) 1 y sin bx при x 2 x e x a при x 1 a=2,7 b=4,4 x=1; 3; 4; 6 b x 3 при x 5 y a 3 x при x 3 e x при x 2 2 x bx 3 при x 1 y arccos x при x 0 ln ( x a) 2 при x 1 a=1,76 b=2,34 x=1; 2; 3; 5 sin bx 1 y ctg x ax 3 a=0,55 b=4,31 x=0; 2; 3; 5 при x 0 при x 2 при x 3 19 a=0,46 b=1,39 x=0; 2; 3; 5 a=1,24 b=5,17 x=1; 2; 4; 5 a=0,65 b=1,43 x=-1; 0; 1; 2 2.3.2. Пример решения задачи Задание: Вычислить x 2b, при x -2 y e x , при x 1 cos ax, при x 3 Решение: 1.Блок-схема алгоритма с оператором выбора приведена на рис. 2.3. Рисунок 2.3 Начало a=3.7; b=6.1 Ввод X Нет x=-2 ? Да Y=x+2b Нет x=1 ? Да Y=e-x Нет x=3? Да Y=cos ax Вывод сообщения Вывод Х, Y Конец 20 2.Текст программы program p3a; var a,b,y:real; x:integer; begin a:=3.7;b:=6.1; write('введите x='); readln(x); case x of -2: y:=x+2*b; 1: y:=exp(-x); 3: y:=cos(a*x); else begin writeln ('значение x задано неверно' ); writeln('нажми Enter'); readln; exit; end; end; writeln('при x=',x,' значение y=',y:5:2); readln; end. 3.Результат выполнения контрольного примера. при x=-2 значение y=10.20 при x=1 значение y= 0.37 при x=3 значение y= 0.10 vvedite x=5 значение x задано неверно нажми Enter 21 2.4. Задачи повышенной сложности 1) Написать программу нахождения суммы большего и меньшего из 3 чисел. 2) Найти max{min(a, b), min(c, d)}. 3) Даны три числа a, b, c. Определить, какое из них равно d. Если ни одно из них не равно d, то найти max(d-a, db, d-c). 4) Даны числа x, y, z. Найти значение выражения: max 2 ( x, y, z ) 2 x min( x, y, z ) u sin 2 x max( x, y, z ) / min( x, y, z ) 5) Написать программу, которая по заданным трем числам определяет, является ли сумма каких-либо двух из них положительной. 6) На оси OX расположены три точки a, b, c. Определить, какая из точек b, c расположена ближе к a. 7) Даны действительные числа a, b, c. Удвоить эти числа, если a<b<c, и заменить их абсолютными значениями, если это не так. 22 3. Лабораторная работа № 3 Тема: Программирование циклических алгоритмов на примере задачи табулирования функции одной переменной Задание. Составить схему алгоритма и программу а языке Паскаль для вычисления значений функции y=f(x) в точках от x x1 до x xn c шагом x . При выполнении задания использовать операторы цикла с постусловием, с предусловием и оператор цикла с параметром. Результаты вычислений оформить в виде таблицы, используя символы псевдографики. Коды символов приведены в таблице. Для вставки нужного символа в текст программы держите нажатой клавишу ALT при наборе кода. Код набирать на ЦИФРОВОЙ КЛАВИАТУРЕ. Коды символов приведены в таблице 3.1. Таблица 3.1 Одинарная рамка ┌ ┬ ┐ 218 194 191 ├ ┼ ┤ 195 197 180 └ ┴ ┘ 192 193 217 Двойная рамка ╔ ╦ ╗ 201 203 187 ╠ ╬ ╣ 204 206 185 ╚ ╩ ╝ 200 202 188 Горизонтальные элементы ─ 196 ═ 205 Вертикальные элементы │ 179 ║ 186 3.1. Варианты заданий к лабораторной работе № 3 Таблица 3.2 Номер варианта 1 2 3 4 5 y = f(x) y ax b ax x y sin(ax) 3cos 2 (bx 2 1) y 1 a ( x b) 3 cos(ax) y bx 1 a 2 ln x y b cos x 1 a 2 sin 3 x 6 b ln ax y a 2 b x 7 y 1 ax b cos x 8 y ax 1 ae x 9 y b ln ax 2 b ln 2 x 23 Исходные данные x1 = 1; xn = 2; Δx = 0,2; a = 3,5; b = 1,2 x1 = 0; xn = 5; Δx = 0,5; a = 0,5; b = 0,7 x1 = 1; xn = 3; Δx = 0,2; a = 3,9; b = 2,3 x1 = 2; xn = 3; Δx = 0,1; a = 4; b=7 x1 = 1; xn = 6; Δx = 0,5; a = 0,57; b=9 x1 = 2; xn = 5; Δx = 0,5; a = 1,5; b = 4,8 x1 = 2; xn = 8; Δx = 0,7; a = 4,2; b = 1,5 x1 =2; xn = 7; Δx = 0,5; a = 3,5; x1 = 1; xn = 4; Δx = 0,3; ln ax 2 b 10 y ax 1 cos ax 2 11 y 12 ln a 2 y xa 15 17 y 21 22 23 24 25 26 bx 2 eax x y 1 e ax ln y 20 cos 2 a y ln x b sin 2 bx 1 18 19 x bx 2 2 ax b cos 2 x y 14 16 1 tg 3 bx y a ln 13 y ax 2 1 ax 2 2 sin ax e x ax 2 3 1 ax ln a x y x 2 cos ax y ax e x 3sin ax x2 2 ln x x 2 ax b cos 1 x2 y ln x 4 1 y sin ex 2 ax 2 ln ax 5 y x 2 ex y y a =4,3; b = 5,4 x1 = 2; xn = 4; Δx = 0,4; a = 1,4; b = 2,5 x1 = 0; xn = 1; Δx = 0,1; a = 2,1; b = 0,3 x1 = 3; xn = 6; Δx = 0,3; a = 1,9; b = 1,1 x1 = 3; xn = 5; Δx = 0,2; a = 1,9; b = 1,1 x1 = 5; xn = 8; Δx = 0,2; a = 5,3; bx 1 a cos 2 bx 24 x1 = 2; xn = 8; Δx = 0,6; a = 1,9; b = 1,1 x1 = 1; xn = 5; Δx = 0,4; b = 5,7 x1 = 4; xn = 7; Δx = 0,3; a = 3,8 x1 = 3; xn = 9; Δx = 0,6; a = 2,7 x1 = 1; xn = 5; Δx = 0,4; a = 5,3 x1 = 2; xn = 4; Δx = 0,1; a = 4,5 x1 = 3; xn = 5; Δx = 0,1; a = 4,5 x1 = 1; xn = 3; Δx =0,2; a = 2,8 x1 = 3; xn = 9; Δx = 0,3; b = 0,71 x1 = 0; xn = 3; Δx = 0,2; a = 3,9 x1 = 5; xn = 9; Δx = 0,4; a = 2,4 x1 = 1; xn = 3; Δx = 0,2; a = 4,1; b = 4,7 27 28 29 30 a 2 sin x 2 y 1 a sin 2 x 1 y ln x sin ax 2 y ax 2 1 e bx y e2 x ebx x6 1 x 25 x1 = 0; xn = 2; Δx = 0,2; a = 1,92 x1 = 1; xn = 4; Δx = 0,3; a = 1,8 x1 = 1; xn = 3; Δx = 0,2; a = 0,8; b = 4,2 x1 = 1; xn = 5; Δx = 0,4; b = 0,37 3.2. Пример решения задачи Задание: Составить схему алгоритма для вычисления значений функции y ln( x 2 2 x 10) от значения x1 = 1 до значения xn = 5 с шагом Δx=0,5. Решение: Блок-схемы алгоритмов вычислений и тексты программ с использованием операторов цикла while, repeat, for приведены ниже. 1) While Рисунок 3.1 начало Ввод x1=1; xn=5; Δx=0,5 x x1 Да Нет x xn x y ln x 2 2 x 10 конец Вывод x, y x = x + Δx Блок-схема алгоритма вычислений с использованием оператора цикла с предусловием WHILE Текст программы: program p3a; var x,y,x1,xn,dx:real; begin write(‘Введите начальное, конечное и шаг=’); readln(x1,xn,dx); x:=x1; writeln(' Таблица'); writeln('┌─────┬─────┐'); writeln('│ X │ Y │'); while x<(xn+dx) do begin y:=ln(sqr(x)+2*x+10); writeln('├─────┼─────┤'); writeln('│',x:5:2,'│',y:5:2,'│'); x:=x+dx; end; writeln('└─────┴─────┘'); readln; end. 26 2) Repeat Рисунок 3.2 начало Ввод x1; xn; Δx xx 1 y ln x 2 2 x 10 Вывод x, y x x Δx Нет x > xn+Δx/2 Да конец Блок-схема алгоритма вычислений с использованием оператора цикла с постусловием REPEAT 27 Текст программы: program p3a; var x,y,x1,xn,dx:real; begin write(‘Введите начальное, конечное и шаг=’); readln(x1,xn,dx); x:=x1; writeln(' Таблица'); writeln('┌─────┬─────┐'); writeln('│ X │ Y │'); repeat y:=ln(sqr(x)+2*x+10); writeln('├─────┼─────┤'); writeln('│',x:5:2,'│',y:5:2,'│'); x:=x+dx; until x>xn+dx/2; writeln('└─────┴─────┘'); readln; end. Результат выполнения контрольного примера: Таблица ┌─────┬─────┐ │ X │ Y │ ├─────┼─────┤ │ 1.00 │ 2.56 │ ├─────┼─────┤ │ 1.50 │ 2.72 │ ├─────┼─────┤ │ 2.00 │ 2.89 │ ├─────┼─────┤ │ 2.50 │ 3.06 │ ├─────┼─────┤ │ 3.00 │ 3.22 │ ├─────┼─────┤ │ 3.50 │ 3.38 │ ├─────┼─────┤ │ 4.00 │ 3.53 │ ├─────┼─────┤ │ 4.50 │ 3.67 │ ├─────┼─────┤ │ 5.00 │ 3.81 │ └─────┴─────┘ 28 3) For Рисунок 3.3 начало Ввод x1=1; xn=5; Δx=0,5 n Trunс(( xn x1 ) / x) 1 k 1, 2,..., n x x1 (k 1)x y ln x 2 2 x 10 конец Вывод x, y Блок-схема алгоритма вычислений с использованием оператора цикла с параметром FOR Текст программы: program p3a; var x,y,x1,xn,dx:real; k,n:integer; begin write(‘Введите начальное, конечное и шаг=’); readln(x1,xn,dx); n:=Round((xn-x1)/dx)+1; writeln(' Таблица'); writeln('┌────┬─────┐'); writeln('│ X │ Y │'); for k:=1 to n do begin x:=x1+(k-1)*dx; y:=ln(sqr(x)+2*x+10); writeln('├─────┼─────┤'); writeln('│',x:5:2,'│',y:5:2,'│'); end; writeln('└─────┴─────┘'); readln; end. 29 4. Задания к лабораторной работе № 4 Тема: Программирование задач на одномерные и двумерные массивы 4.1. Одномерный массив 4.1.1. Варианты заданий Вариант № 1 Дан массив натуральных чисел. Найти сумму элементов, кратных данному К. Вариант № 2 Дан массив целых чисел, в котором есть нулевые элементы. Создать массив из номеров этих элементов. Вариант № 3 Дан массив из N целых чисел. Выяснить, какое число встречается в массиве раньше – положительное или отрицательное. Вариант № 4 Дан массив из N натуральных чисел. Создать массив из чётных чисел этого массива. Если таких чисел нет, то вывести сообщение об этом факте. Вариант № 5 Дан массив из N чисел. Указать наименьшую длину числовой оси, содержащую все эти числа. Вариант № 6 Дан массив из N действительных чисел. Заменить все его члены, большие данного Z, этим числом. Подсчитать количество замен. Вариант № 7 Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов. Вариант № 8 Дан массив действительных чисел, размерность которого N. Поменять местами наибольший и наименьший элементы массива. Вариант № 9 Дан массив А из N целых чисел. Вывести на печать только те числа, для которых выполняется условие Аi ≤ i, где i – номер элемента массива. Вариант № 10 Дан массив из N натуральных чисел. Указать те числа, остаток от деления которых на М равен L (0 ≤ L ≤ M-1). Вариант № 11 В заданном одномерном массиве поменять местами соседние элементы, стоящие на чётных местах, с элементами, стоящими на нечётных. Вариант № 12 При поступлении в вуз абитуриенты, получившие «двойку» на первом экзамене, ко второму не допускаются. В массиве A[n] записаны оценки экзаменующихся, полученные на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену. Вариант № 13 Дана массив чисел, среди которых имеется один нуль. Вывести на печать все числа включительно до нуля. 30 Вариант № 14 В одномерном массиве размещены: в первых элементах значения аргумента, а в следующих – соответствующие им значения функции. Напечатать элементы этого массива в виде двух параллельных столбцов: аргументы и значения функции. Вариант № 15 Дан целочисленный массив с количеством элементов N. Напечатать те его элементы, индексы которых являются степенями двойки (1, 2, 4, 8, 16, …). Вариант № 16 Дан массив из N действительных чисел. Напечатать те его элементы, которые принадлежат отрезку [c, d]. Вариант № 17 Дан массив целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М. Если таких нет, то выдать сообщение об этом. Вариант № 18 Массив из N элементов состоит из нулей и единиц. Поставить в начало этого массива нули, а затем единицы. Вариант № 19 Дан массив из N действительных чисел, в котором есть только положительные и отрицательные элементы. Вычислить произведение отрицательных элементов P1 и произведение положительных элементов P2. Сравнить модуль P2 с модулем P1 и указать, какое из произведений по модулю больше. Вариант № 20 Задан массив с количеством элементов N. Сформируйте два массива: в первый включите элементы исходного массива с чётными номерами, а во второй – с нечётными. Вариант № 21 Составить программу нахождения наибольшего среди тех элементов одномерного массива А, что лежат в интервале [С, D]. Вариант № 22 Составить программу отыскания наименьшего среди тех элементов одномерного массива А, что лежат вне интервала [С, D]. Вариант № 23 Составить программу подсчёта среди элементов одномерного массива В количества чисел, больших С. Вариант № 24 Составить программу отыскания наименьшего среди элементов одномерного массива А и его индекса. Вариант № 25 Задан массив Y с количеством элементов N. Сформируйте массив, в котором элементы с чётными индексами будут равны соответствующим элементам исходного массива, а элементы с нечётными индексами будут равны нулю. Вариант № 26 Составить программу подсчёта в одномерном массиве А суммы элементов с чётными индексами и суммы элементов, значения которых больше нуля. Вариант № 27 Составить программу подсчёта в одномерном массиве С количества отрицательных и произведения положительных элементов массива. Вариант № 28 Составить программу подсчёта в одномерном массиве В произведения элементов с нечётными индексами и суммы отрицательных элементов. 31 Вариант № 29 Заданы два одномерных массива А и В с одинаковым количеством элементов. Составить программу подсчёта суммы элементов с чётными индексами в массиве А и суммы элементов, значения которых больше нуля, в массиве В. Вариант № 30 Заданы два одномерных массива А и В с одинаковым количеством элементов. Составить программу подсчёта суммы элементов с нечётными индексами в массиве B и произведения отрицательных элементов в массиве А. 32 4.1.2. Пример решения задачи Задание. Составить программу подсчёта в одномерном массиве В из n элементов суммы отрицательных и произведения положительных элементов массива. Решение. 1.Блок-схема решения задачи приведена на рисунке. Рисунок 4.1 Начало Ввод n i=1,n Ввод bi S=0; P=1 i=1,n Да Вывод b, P, S bi>0 P=P*bi S=S+bi Конец 2.Текст программы. var b:array [1..20] of integer; i,n,S,P:integer; begin write('введите n='); readln(n); for i:=1 to n do begin write('введите b[',i,']=');readln(b[i]); end; S:=0; P:=1; for i:=1 to n do if b[i]>0 then P:=P*b[i] else S:=S+b[i]; writeln(‘ исходный массив b'); for i:=1 to n do write(b[i]:5); writeln; 33 writeln('Сумма S=',s,' Произведение P=',P); readln; end. 3.Результат выполнения контрольного примера. исходный массив b 0 -6 -2 67 4 2 Сумма S=-8 Произведение P=536 34 4.2. Двумерные массивы 4.2.1. Варианты заданий Вариант № 1 Задан двумерный массив С из 4-х строк и 4-х столбцов (квадратная матрица). Составить программу подсчёта суммы всех отрицательных элементов и суммы элементов по главной диагонали. Вариант № 2 Задан двумерный массив Y из 7-и строк и 3-х столбцов. Составить программу подсчёта суммы произведений элементов строк. Вариант № 3 Задан двумерный массив А из 5-и строк и 2-х столбцов. Составить программу, которая формирует одномерный массив В, каждый элемент которого есть произведение элементов массива А в строке. Вариант № 4 Задан двумерный массив В из 4-х строк и 4-х столбцов. Составить программу, которая организует двумерный массив, элементы главной диагонали которого равны соответствующим элементам исходного массива, а остальные элементы равны нулю. Вариант № 5 Задан двумерный массив А из 2-х строк и 7-и столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть сумма элементов исходного в столбце. Вариант № 6 Задан двумерный массив Y из 5-и строк и 5-и столбцов. Составить программу подсчёта суммы всех положительных элементов и суммы элементов по главной диагонали. Вариант № 7 Задан двумерный массив А из 4-х строк и 4-х столбцов. Составить программу, которая подсчитывает произведение элементов массива, лежащих вне главной диагонали. Вариант № 8 Задан двумерный массив С из 6-и строк и 6-и столбцов. Составить программу, которая подсчитывает сумму всех элементов массива. Затем организовать формирование нового массива С, в котором элементы, лежащие на главной диагонали, равны 1, а остальные элементы равны соответствующим элементам исходного массива С. Вариант № 9 Задан двумерный массив Y из 7-и строк и 3-х столбцов. Составить программу, которая вычисляет значение суммы произведений элементов строк Вариант № 10 Задан двумерный массив В из 4-х строк и 5-и столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть сумма элементов в столбце. Вычислить произведение элементов полученного массива. Вариант № 11 Задан двумерный массив А из 5-и строк и 4-х столбцов. Составить программу, которая вычисляет значение произведения сумм строк. 35 Вариант № 12 Задан двумерный массив Y из 4-х строк и 4-х столбцов. Составить программу, которая вычисляет S – сумму элементов побочной диагонали и значение суммы всех элементов массива Вариант № 13 Задан двумерный массив С из 6-и строк и 3-х столбцов. Составить программу, которая подсчитывает сумму всех элементов массива. Затем организовать формирование нового массива С, в котором элементы, лежащие не на главной диагонали, равны 1, а остальные элементы равны соответствующим элементам исходного массива С Вычислить произведение всех элементов нового массива. Вариант № 14 Задан двумерный массив А из 6-и строк и 3-х столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть произведение элементов массива А в каждой строке. Затем вычислить сумму элементов полученного одномерного массива. Вариант № 15 Задан двумерный массив C из 3-х строк и 5-и столбцов. Составить программу, которая вычисляет произведение всех элементов массива. Затем организовать новый массив С, в котором значения элементов, лежащих на главной диагонали, равны 1, а остальные элементы равны квадрату соответствующих элементов исходного массива С. Вариант № 16 Задан двумерный массив В из 4-х строк и 5-и столбцов. Составить программу, которая вычисляет сумму всех элементов массива. Затем организовать новый массив В, в котором заменить отрицательные элементы исходного массива на 1, а значения остальных элементов оставить без изменения. Подсчитать количество замен. Вариант № 17 Задан двумерный массив А из 8-и строк и 3-х столбцов. Составить программу, которая подсчитывает общее число неотрицательных элементов в массиве. Затем организовать формирование нового массива В, в котором значения элементов исходного массива заменить на противоположные по знаку. Вариант № 18 Задан двумерный массив В из 6-и строк и 3-х столбцов. Составить программу, которая организует одномерный массив С, элементы которого равны количеству положительных элементов в строке исходного массива В. Вариант № 19 Задан двумерный массив D из 5-и строк и 5-и столбцов. Составить программу, которая организует одномерный массив, элементы которого равны элементам массива D , лежащим на побочной диагонали, а затем вычисляет сумму элементов полученного одномерного массива. Вариант № 20 Задан двумерный массив В из 4-х строк и 5-и столбцов. Составить программу, которая подсчитывает количество положительных, отрицательных и нулевых элементов в массиве В и организует одномерный массив из полученных значений. Вариант № 21 Задан двумерный массив А из 3-х строк и 5-и столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть количество положительных элементов исходного массива в столбце. Вычислить произведение элементов полученного массива. 36 Вариант № 22 Задан двумерный массив С из 2-х строк и 4-х столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть количество отрицательных элементов исходного массива в строке. Вычислить сумму элементов полученного массива. Вариант № 23 Задан двумерный массив В из 4-х строк и 4-х столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть количество отрицательных элементов исходного массива в столбце. Вычислить сумму элементов полученного массива. Вариант № 24 Задан двумерный массив В из 4-х строк и 4-х столбцов. Составить программу, которая организует двумерный массив, одна строка которого содержит количество ненулевых элементов исходного массива в столбце, а вторая – количество нулевых. Организовать проверку правильности формирования массива путём вычисления суммы элементов полученного массива. Вариант № 25 Задан двумерный массив D из 5-и строк и 5- столбцов. Составить программу, которая организует новый массив B путём деления всех элементов заданной матрицы на элемент, наибольший по абсолютной величине. Вариант № 26 Задан двумерный массив А из 3-х строк и 5-и столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть наибольший элемент среди элементов в строке исходного массива. Вариант № 27 Задан двумерный массив X из 3-х строк и 7-и столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть наименьший по абсолютной величине элемент среди элементов в столбце исходного массива. Вариант № 28 Задан двумерный массив А из 3-х строк и 5-и столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть наибольший элемент среди элементов в столбце исходного массива. Вариант № 29 Задан двумерный массив X из 3-х строк и 7-и столбцов. Составить программу, которая организует одномерный массив, каждый элемент которого есть наименьший по абсолютной величине элемент среди элементов в строке исходного массива. Вариант № 30 Задан двумерный массив A из 6-и строк и 6-и столбцов и одномерный массив Y из 6 строк. Составить программу, которая подсчитывает количество элементов, больших 1, а затем вычисляет произведение всех элементов массива. 37 4.2.2. Пример решения задачи Задание. Задан двумерный массив С из 4-х строк и 4-х столбцов (квадратная матрица). Составить программу подсчёта суммы всех элементов массива и произведения отрицательных элементов. Решение. 1.Блок-схема решения задачи приведена на рисунке. Рисунок 5.1 Начало i=1,4 i=1,4 j=1,4 j=1,4 Ввод Cij Вывод Cij S=0; P=1 i=1,4 j=1,4 S=S+Cij Ci j< 0 P=P*Cij Вывод S, P Конец 2. Текст программы. program p4; const n=4; var c:array [1..4,1..4] of real; S,P:real; i,j:integer; begin for i:=1 to n do for j:=1 to n do begin write('Введите c[',i,',',j,']='); readln(c[i,j]); end; S:=0; P:=1; writeln('Исходный массив С'); for i:=1 to n do begin for j:=1 to n do write(c[i,j]:6:2); writeln; 38 end; for i:=1 to n do for j:=1 to n do begin S:=S+c[i,j]; if c[i,j]<0 then P:=P*c[i,j]; end; writeln('Сумма S=',s:7:2,' Произведение P=',P:7:2); readln; end. 3.Результат выполнения контрольного примера. Исходный массив С 2.00 -5.90 5.00 -65.00 -3.98 0.00 8.00 76.40 23.70 1.34 -9.00 1.00 4.00 7.40 1.00 8.00 Сумма S= 53.96 Произведение P= 13736.97 39 5. Задания к лабораторной работе № 5 Тема: Программирование задач, решаемых с помощью цикла итерационного типа Задание. Составить программу вычисления значения функции, разложенной в ряд (сумму ряда). В формулах – заданная степень точности; n – порядковый номер очередного члена ряда. 5.1. Варианты заданий Таблица 7.1 № Задание вар. 1 Составить программу вычисления значения функции Y: 1 1 1 1 Y 1 ... (1) n 1 ... 2 3 4 n Исходные данные До выполнения условия , где 1 n 2 Составить программу вычисления значения функции F(x): F (a, ) 1 (a cos a 2 cos 2 a 3 cos 3 ... ... a n cos n ...) 3 4 1 1 1 1 2 2 ... ..., 2 2 1 3 5 2n 1 5 x3 x5 x7 x 2 n1 ... (1) n1 . ... 3! 5! 7! (2n 1)! Составить программу вычисления значения функции F(x): F x 0,1 0, 2 0,3 до выполнения условия где = 0,007; 0,005; 0,001 До выполнения условия 1 (2n 1) 2 Составить программу вычисления значения функции F(x): F ( x) x = 0,05; 0,001; 0,0001 Для a = 0,13; 0,1; 0,78; a n cos n Составить программу вычисления значения функции Y: Y sin 2n 1 x 4a sin3x ... ... sin x 3 2n 1 , при решении принять = 0,005; 0,001; 0,0001 До выполнения условия x 2 n 1 (2n 1)! , где = 0,002; 0,0005; 0,001 x = 1,046; 1,024; 1,342 До выполнения условия sin 2n 1 x 2n 1 где = 0,01; 0,001; 0,005 x = 0,52; 0,73; 0,36 a=12,17,19 6 Составить программу вычисления значения функции F(x): F x 1 x x x x .... x 2 3 4 n 1 ... До выполнения условия x n 1 где 0,0001;0,0005;0,001 x 0,51;0,61;0,71 40 7 Составить программу вычисления значения функции Y(x): 2 n x xx sin x 2x x 1 ... x (x11)n1sin ... nx x ...] x 1 ... F ( x) Y 2[sin 2 n До выполнения условия x x 1 где n = 0,001; 0,005; 0,0001 x = 1,91; 1,81; 1,71 8 Составить программу вычисления значения функции Y: F ( x) sin 2 x sin 3x sin( n 1) x ... (1) n1 ... 1 3 (2n 1) До выполнения условия sin(( n 1) x) (2n 1) где = 0,001; 0,01; 0,0001 x = 2,3; 3,01; 4,56 9 Составить программу вычисления значения функции F(x): x x x x F x 1 ... n! 1! 2! 3! 2 3 n До выполнения условия xn где n! = 0,0001; 0,01; 0,001 x = 0,9; 1,2; 1,7 10 Составить программу вычисления значения функции F(x): F ( x) 2[sin x 11 sin 2 x sin nx ... (1) n1 ...] 2 n Составить программу вычисления значения функции S(x): 2 x ... 2 x 2 x 2 23 x3 S x ... 1! 2! 3! n! 2 n До выполнения условия sinnx где n 0, 0005;0, 0001;0, 001 x 2,15; 2, 76;3, 02 До выполнения условия n 2x где n! 0,001;0,005;0,0001 x 0,501;0,807;0,909 12 Составить программу вычисления значения функции F(x): x x x F x 1 ... ... 1 2 n 2 n До выполнения условия xn n где x 0, 25;0, 26;0,78;0,31 0,005;0,001;0,0001 13 Составить программу вычисления значения функции F(x): До выполнения условия a cos nx F ( x) 1 a cos x a cos 2 x a cos nx 2 ...(1) n 1 2 ... 2a a 2 1 a 22 a n2 41 a 2 n2 где 0,0004;0,0003;0,001 x 2,65; 2,81;3,76 a 1,5;1,03; 4,1 14 Составить программу вычисления значения функции Y: 1 2 3 n Y 2 3 ... n ... 2 2 2 2 До выполнения условия n 2n где 0,00001;0,001;0,005 15 Составить программу вычисления значения функции F(x): 4 cos 2 x cos 3x cos nx F x cos x 2 2 ... 2 ... 2 2 3 n До выполнения условия cos nx n 2 где 0,005;0,001;0,0001 x 0,61;0,37;0, 48 16 Составить программу вычисления значения функции F(x): F x x 3 5 2 n 1 7 x x x n 1 x ... 1 ... 3 5 7 2n 1 До выполнения условия x 2n 1 где 2n 1 0,0005;0,0001;0,001 x 0,61;0,31;0,11 До выполнения условия 17 Составить программу вычисления функции F(x) 1 sin 2 x sin 3x sin(( n 1) x) F ( x) ... ... 2 3 5 (2n 1) sin(( n 1) x) (2n 1) где 0,0003;0,0001;0,001 x 2,37;2,01;3,01 18 Составить программу вычисления значения функции Y: 1 1 1 1 Y 1 ... (1) n 1 n 1 ... 2 4 8 2 До выполнения условия 1 2 n 1 где 0,001;0,01;0,0001 19 Составить программу вычисления значения функции F(x): sin x sin 2 x sin nx F ( x) ... ... 2 2 2 2n 20 Составить программу вычисления значения функции F(x): x 2 x 4 x6 x 2n F x 1 ... ... 2! 4! 6! 2n ! 21 Составить программу вычисления значения функции F(x): x x3 x5 x 2 n1 F ( x) ... ..., 1! 3! 5! (2n 1)! До выполнения условия sin nx 2n где = 0,0005; 0,0001; 0,001 x = 15; 16; 19 До выполнения условия x 2n где 2 n ! = 0,005; 0,001; 0,01 x = 2,73; 1,7; 3,4 До выполнения условия x 2 n 1 (2n 1)! , где = 0,005; 0,01; 0,001 x = 0,2; 0,7; 0,9 42 22 Составить программу вычисления значения функции F(x): F ( x) 23 1 1 1 1 1 3 5 7 ... ... x 3x 5x 7x (2n 1) x 2 n 1 Составить программу вычисления значения функции F(x): x x3 x5 x7 x 2 n1 F ( x) ... ... 1 3 5 7 2n 1 24 Составить программу вычисления значения функции S(x): S ( x) 25 x 1 ( x 1) 2 ( x 1) 3 ( x 1) n ... ... x 2x 2 3x 3 nx n Составить программу вычисления значения функции F(x): F ( x) 1 2 x 3x 2 4 x 3 5x 4 ... (1) n1 nx n1 ... До выполнения условия 1 (2n 1) x 2 n1 ,где = 0,001; 0,005; 0,01 x = 1,3505; 1,37; 1,38 До выполнения условия x 2 n1 2n 1 = 0,001; 0,005; 0,01 x = 0,205; 0,204; 0,200 До выполнения условия ( x 1) n nx n Составить программу вычисления значения функции F(x): x2 x3 x4 x5 xn F ( x) x ... (1) n 1 ... 2 3 4 5 n 27 Составить программу вычисления значения функции F(x): 1 1 1 F ( x) cos( x) cos( 2 x) cos(3x) ... cos( nx) ... 2 3 n 28 Составить программу вычисления значения функции F(x): 1 1 1 F ( x) cos( x) cos(3x) cos(5 x) ... cos( 2n 1) x ... 3 5 2n 1 29 Составить программу вычисления значения функции F(x): F ( x) 18 1 1 1 (sin x 3 sin 3x 3 sin 5 x ... sin( 2n 1) x ...) 3 5 (2n 1)3 43 ,где = 0,005; 0,0001; 0,001 x = 1,41; 2,4; 3,7 До выполнения условия nx n 1 26 ,где ,где = 0,001; 0,0005; 0,001 x = 0,51; 0,708; 0,9 До выполнения условия xn n ,где = 0,0005; 0,0001; 0,01 x = 0,71; 0,848; 0,9 До выполнения условия 1 cos( nx) n ,где =0,001; 0,005; 0,0001 x=0,4; 0,6; 0,8 До выполнения условия 1 cos( 2n 1) x 2n 1 где = 0,001; 0,005; 0,0001 x =1,0472; 0,9471; 0,7831 1 sin( 2n 1) x (2n 1) 3 До выполнения услови = 0,0001; 0,0005; 0,001 x =4,36; 4,37; 5,01 30 Составить программу вычисления значения функции F(x): F ( x) 1 [ 2 n x ln a ( x ln a) ( x ln a) ... ...] 1! 2! n! До выполнения условия ( x ln a) n n! ,где = 0,001; 0,0001; 0,005 x = 1,5; 1,7; 2,4; a = 2,3 44 5.2. Пример решения задачи Задание: Вычислить сумму элементов ряда F ( x) cos x cos 2 x cos 3 x cos n x . . . 1! 2! 3! n! до выполнения условия При x=0,24; =0,001 cos nx n! Решение. 1.Блок-схема алгоритма решения приведена на рисунке. Рисунок 7.1 Начало Ввод x, eps F=0; n=1; Fact=1 S cos nx Fact Нет abs(S)>eps Да F=F+S; n=n+1; Fact=Factn S cos nx Fact Вывод x, eps, F Конец 2.Текст программы: var F,x,S,eps,Fact:real; n:integer; begin write('vvedite x=');readln(x); write('vvedite eps=');readln(eps); F:=0; n:=1; Fact:=1; S:=cos(n*x)/Fact; while abs(S)>eps do begin F:=F+S; n:=n+1; Fact:=Fact*n; S:=cos(n*x)/Fact; end; write('pri x=',x:5:2,' eps=',eps:5:3,' summa F=',F:7:3); readln; end. 3.Результат выполнения контрольного примера: pri x=0.24 eps=0.001 summa F= 1.567 45 6. Задания к лабораторной работе № 6 Тема: Организация подпрограмм: процедуры и функции. Задание. Составить программу на языке Паскаль для вычисления значения функции y = f (x) в точках x при заданных значениях a. Нахождение значения функции f(x) при заданных значениях а оформить в виде подпрограммы. Результат вывести в виде двумерной таблицы. 6.1.Варианты заданий Таблица 6.1 Номер вар. 1 2 3 4 5 a cos x ln ax y x ax e 2 e x ax ea x x 2 3 sin x x 1;0;1;3; 4;7;9 a 0,3;0,5;0,9;1;1, 2 sin a x ax x 2;5;12;13;14;19; 20 a 1; 2; 4;8;9;10;13 y y xa ln 4 2 x x 2 10 y 14 x 1; 4;5;6;8;9;10;17 a 2; 2,5;3;5;5,8;6 2x a 2 ln x a x 1; 4;5;6;9;12 a 6;9;10;16 sin ax x3 x 1;7;8;15;17;19; 20 a 2; 4;5;9 y y 13 x ae 1 9 12 y y e tg x x cos ax 3 x 3; 2;0;1;3;6;7 a 0,5;1;1,8; 2,3 a 1 2 x2 arctg x ax 2 x 1;0; 2;3; 4;5;7 a 5;0; 2;3;7 e x 1 x 3 x 2; 5; 6; 8; 10; 17 a 1; 4; 9; 11 sin ax 2 e x ax 2 ln x y xe x ax 2 cos ax y x 10;12;15; 20; 25;33 a 1; 4;8;9;11 x 2;7;8;11;19; 21 a 3;7;16; 27 y 7 x 1;3; 4;5;7;8 a 2;3;7;13 x 1;3;6;12;13;16;19 a 1;6;9;13;15 e x a ln x x 2 ax 2 sin ax 1, 2 y y 11 x y 0,5ln ax 2 ln 2 x 6 8 Исходные данные Y=f(x) ln 2 x 2 ax 2 sin ax 46 x 2;5;6;7;10;11;13 a 1; 4;5;8;12 x 3;6;7;8;9;10;12;18 a 2;7;8;11 15 16 17 18 y ex x 1;3; 4;5;7;10;13;19 a 2;7;8;11 x ln x a cos x x 2; 4;5;7;10;11;12;13 ex 2 a 0;1;5;9 x ax x a y arctg ln x x x 3;8;9;12;13;15;18 e a 1, 7; 2; 2,3; 2,5;3 x y ax y a x 2 2 sin x ln x 3 x 4; 2;1; 4;9;15; 21 a 3; 2; 1; 2;3;5 a ln x x 2 x 2; 4;5;6;8;9;13 a 0;1; 4;7;9 y 19 y 20 e 4 ax e 1 x 4;5;6;7;10;11 a 1;3;5;9 ln ax x sin ax 4 21 y 1 a( x 2) 3 cos(ax) 22 y ax x 1; 2; 3; 5; 7 a 2; 4; 5; 7; 8; 9; 11 x 2; 3; 4; 7; 12; 19 a 1; 2; 3; 7; 8 2 ax x 23 cos( ax 2 ) y 1 tg (3x) 24 y a ln 25 y x 0; 1; 2; 5; 9 a 0; 2; 3; 4 x 2; 3; 6; 7; 11; 12 a 2;1; 3; 7; 9 x x 2 2 x 3; 4; 5; 6; 7; 8; 9 a 1; 2; 4; 7 sin( 3x e x ) ax 3 2 x 2 cos(ax) 26 y 27 y 28 y a x 2 (1 e 4 x ) 29 y 30 y x 2; 3; 4; 7; 8; 10 a 5; 6; 9; 10; 11 ax e x x 2; 3; 5; 9; 12 a 1; 3; 5; 7; 9 x 1; 2; 3; 4; 5 a 3; - 2; 0; 4; 5; 12;18 3 sin( ax) x 2 2 e 2 x e ax x 1; 2; 3; 4; 5 a 0,1; 0,3; 0,4; 0,8 x 6 (1 x ) x 2; 3; 5; 6; 7; 8 a 1; 2; 3; 4; 5 ln( ax 5) x 2 ex 47 6.2.Пример решения задачи Задание. Вычислить значения функции y значениях sin ax в точках x 0, 2;0,7;1;1, 2;1,8;2;2, 2 при заданных x2 a2 a 2;2,5;3,7;4,1;4,9 . Результаты представить в виде двумерной таблицы. Таблица 6.2 x a 0.2 0.7 1.0 1.2 1.8 2.0 2.2 2.0 2.5 3.7 4.1 4.9 0.096 0.219 0.182 0.124 -0.061 -0.095 -0.108 0.076 0.146 0.083 0.018 -0.103 -0.094 -0.064 0.049 0.037 -0.036 -0.064 0.022 0.051 0.052 0.043 0.016 -0.046 -0.054 0.044 0.045 0.018 0.035 -0.012 -0.039 -0.015 0.021 -0.013 -0.034 Решение. 1. Блок-схема решения представлена на рисунке. a) Блок-схема алгоритма основной программы PR5 Рисунок 6.1 Начало Ввод n, m i=1,n Ввод x j=1,m Ввод a A P i=1,m Вывод a i=1,n;j=1,m Вывод x, y Конец 48 б) Блок-схема алгоритма подпрограммы P Рисунок 6.2 Начало i=1,n j=1,m y sin ax x2 a2 2.Текст программы. type vector= array [1..20] of real; massiv= array [1..20,1..20] of real; var x,a:vector; i,j,n,m:integer; y:massiv; procedure p(n,m:integer;x,a:vector;var y:massiv); begin for i:=1 to n do for j:= 1 to m do y[i,j]:=sin(a[j]*x[i])/(sqr(x[i])+sqr(a[j])); end; BEGIN Write ('Введите количество значений x и a= '); Readln(n,m); for i:=1 to n do begin Write ('Введите x[',i,']='); Readln(x[i]); end; for j:= 1 to m do begin Write ('Введите a[',j,']='); Readln(a[j]); end; p(n,m,x,a,y); Writeln (' Таблица'); Writeln('┌───────┬───────┬───────┬───────┬───────┬───────┐'); Write('│X \ a│'); for i:=1 to m do Write(a[i]:3:1,' ','│'); Writeln; Writeln('├───────┼───────┼───────┼───────┼───────┼───────┤'); for i:=1 to n do begin 49 Write('│',x[i]:3:1,' │'); for j:=1 to m do Write(y[i,j]:7:3,'│'); Writeln; end; Writeln('└───────┴───────┴───────┴───────┴───────┴───────┘'); readln; END. 3. Результат выполнения контрольного примера. Таблица ┌──────┬──────┬──────┬──────┬──────┬──────┐ │x \ a │2.0 │2.5 │3.7 │4.1 │4.9 │ ├──────┼──────┼──────┼──────┼──────┼──────┤ │0.2 │ 0.096│ 0.076│ 0.049│ 0.043│ 0.035│ │0.7 │ 0.219│ 0.146│ 0.037│ 0.016│ -0.012│ │1.0 │ 0.182│ 0.083│ -0.036│ -0.046│ -0.039│ │1.2 │ 0.124│ 0.018│ -0.064│ -0.054│ -0.015│ │1.8 │ -0.061│ -0.103│ 0.022│ 0.044│ 0.021│ │2.0 │ -0.095│ -0.094│ 0.051│ 0.045│ -0.013│ │2.2 │ -0.108│ -0.064│ 0.052│ 0.018│ -0.034│ └──────┴──────┴──────┴──────┴──────┴──────┘ 50