Лабораторная работа № 1 Создание линейной программы на языке Pascal Задание 1.1 Составьте и отладьте программу для вычисления по формуле (значения переменных, указанных в правой части, вводятся с клавиатуры; результат необходимо вывести на экран). 1 3 st 1 x ( y x) 2 t 1. w 2 ; 2. y xz 2 ; 3. z ; z s t y2 (k 2 l ) 2 ( n v) 2 v (a c) 2 (b d 2 ) 4. t ; 5. ; 6. ; r s k l (v n)n 2 (a d ) 2 2 ax 2 bx c 7. h ; abc x2 y2 ; ( x y) 2 x 2 ( x y )( x 2 y 2 ) 13. z ; x2 y2 10. b x y z 8. f ; y z x ( m n) 2 ( m n) 2 11. a ; m2 n2 (n(n k )) 2 n 2 14. c ; 4 6 2 x y 16. z 2 2 ; x y 1 17. q A ; 1 B 9. p dr 2 rd 2 rd ; (d r ) 2 12. k (b n) 2 (b n) 2 ; b2 n2 15. f gs g ; g s2 s 18. z ( p 2 u)( p u) 2 ; ( p u) 2 1 C 2 t2 t t 19. t 2 ; h h h 20. s (ab m) 2 (m ab 2 ) . abm Задание 1.2 Составьте и отладьте программу для пооперационного вычисления по формуле (значения переменных, указанных в правой части, вводятся с клавиатуры; результат необходимо вывести на экран). ab 1 1. y 5 a 2b3 c 2 ln( a 3 ) ; 2. y 6 ln ; c 4(b c) 3. y 10 e ab ln c ; ln ab 5. y a 5 b 4 c e a ; 1 5 7. y 4 e a 2 9. y 3 b ; c3 a2 c 2 ln( a b) ; 2 b a 4. y 3 b b ln c ; e 6. y 4 ac b ac b ln ab ; 8. y 4 a 3 9 b 2 e c ; 10. y 8 a 2 b 2 e ab ; 11. y 7 (1 b) ln c e a ; 12. y 3 ln f d 2 c dcf ; 13. y abc e a 6 e b ; 14. y e x 9 k 2 kx3 ; 15. y 6 abc c 2 7 ; 16. y a 2 b 2 c 2 4 ln abc ; 17. y 3 c 2 b 2 21ab a 3 ; 18. y 19. y bc(e a 3 ln b ) ; 1 k 4 k ; e k m 20. y ln( f h 2 )7 fh 5h . 1 Задание 1.3 Составьте и отладьте программу для вычисления по формуле (значения переменных, указанных в правой части, вводятся с клавиатуры; результат необходимо вывести на экран). 1. k tgx ctg ( x ln y ) ; x 2 ax b 2 3. k 2sin x ax by x2 y2 x y 2 2 0.61x ; x y2 3 xy ; 2 2 ln( x y ) 1 7. k ln x cos x 2 ; sin (cos 2 x) 9. k sin x sin y 4. k arctg 3 x 1 ; 5. k arctg cos 2. k ; 1 2 x y 6. k 8.1sin(1.5 x ) x 2 x3 ; 8. k e sin 2 x 1 ; cos (1 2 x 2 ) 2 2 1 x ; 2 1 x sin( 1 sin 2 x) 10. k sin 2 ( x x 3 ) 2 e 2 x 1 x 2 ; 11. k e tgx cos ax 2 b 1 ; 12. k arcctg cos x 1 13. k sin( 0.7 x) cos(5.1x ) ; 14. k ; sin( x x 2 ) (x) 2 x ; x 1 cos x arctgx 17. k tg 3 x (4 x) ; 1 4x 2 15. k 19. k e 2 x x 2 cos(x) 2 sin x 2 sin 2 ctgx ctg ( x ln xt) x 2 tx 16. k arctg ( x 2 y) x 3 cos(x) sin 2 ( x 2 y 2 ) ; 18. k cos(0.9 x 2 ) tg (6.1x ) ; sin ; ; x3 3 20. k 1 x . 2 1 x ctg (1 cos 2 x) Задание 1.4 Составьте и отладьте программу для выполнения следующего задания. Результат выведите на экран. 1. Даны длины трёх рёбер параллелепипеда, имеющих общую вершину. Найти объем параллелепипеда и площадь его боковой поверхности. 2. Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности. 3. Дан радиус окружности. Найти длину окружности и площадь круга. 4. Даны два числа. Найти их среднее арифметическое и среднее геометрическое. 5. Даны радиус основания и высота цилиндра. Вычислить его объём и площадь боковой поверхности. 6. Составить программу для решения линейного уравнения ax+b=0 (a<>0). 7. Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь. 8. Найти площадь кольца по заданным внешнему и внутреннему радиусам. 9. Даны катеты прямоугольного треугольника. Найти его периметр. 10.Даны основания и высота трапеции. Найти ее среднюю линию и площадь. 2 11.Даны два числа. Найти среднее арифметическое и среднее геометрическое их модулей. 12.Даны два числа. Найти их произведение, сумму, разность, а также частное от деления первого числа на второе. 13.Даны длины сторон треугольника. Вычислить его периметр и площадь. 14.Дан радиус шара. Найти его объём и площадь поверхности. 15.Определить координаты вершины параболы y ax 2 bx c, a 0 по заданным коэффициентам a, b, c . 16.Определить расстояние в пространстве между двумя точками с заданными координатами. 17.Даны высота и образующая конуса, а также радиус круга, лежащего в его основании. Найти объём конуса и площадь боковой поверхности. 18.Заданы длина ребра основания и высота правильной треугольной пирамиды. Найти её объём. 19.Заданы длина ребра основания и высота правильной четырёхугольной пирамиды. Найти её объём. 20.Заданы длина ребра основания и высота правильной прямой треугольной призмы. Найти её объём и площадь боковой поверхности. Задание 1.5 Составьте и отладьте программу для выполнения следующего задания. Результат выведите на экран. 1. Дано расстояние в сантиметрах. Найти число полных метров в нем. 2. Дано расстояние в сантиметрах. Найти число полных километров в нем. 3. Дано расстояние в метрах. Найти число полных километров в нем. 4. Дана масса в килограммах. Найти число полных центнеров в ней. 5. Дана масса в килограммах. Найти число полных тонн в ней. 6. Дана масса в граммах. Найти число полных килограммов в ней. 7. Дана масса в граммах. Найти число полных центнеров в ней. 8. Дано натуральное двухзначное число. Найти число, полученное при прочтении его цифр справа налево. 9. Дано натуральное трехзначное число. Найти число, полученное при перестановке первой и второй цифр заданного числа. 10.Дано натуральное трехзначное число. Найти число, полученное при перестановке второй и третьей цифр заданного числа. 11.Дано натуральное трехзначное число. Найти число, полученное при перестановке первой и третьей цифр заданного числа. 12.Дано натуральное четырёхзначное число. Найти число единиц в нем. 13.Дано натуральное четырёхзначное число. Найти число десятков в нем. 14.Дано натуральное четырёхзначное число. Найти число сотен в нем. 15.Дано натуральное четырёхзначное число. Найти число тысяч в нем. 16.Дано натуральное трёхзначное число. Найти число единиц в нем. 17.Дано натуральное трёхзначное число. Найти число десятков в нем. 18.Дано натуральное трёхзначное число. Найти число сотен в нем. 19.Дано натуральное двухзначное число. Найти число единиц в нем. 20.Дано натуральное двухзначное число. Найти число десятков в нем. 3 Задание 1.6 Составьте программу для определения указанных ниже параметров треугольника. Выполните программу для конкретных значений аргументов. Результаты выполнения программы проверьте по соответствующему чертежу. 1. По заданным координатам вершин треугольника найти стороны и площадь. 2. По заданным координатам вершин треугольника найти высоты. 3. По заданным координатам вершин треугольника найти медианы. 4. По заданным координатам вершин треугольника найти биссектрисы. 5. По заданным координатам вершин треугольника найти радиусы вписанной и описанной окружностей. 6. Заданы две стороны треугольника и угол между ними. Найти углы и стороны. 7. Заданы две стороны треугольника и угол между ними. Найти высоты. 8. 3аданы две стороны треугольника и угол между ними. Найти медианы. 9. 3аданы две стороны треугольника и угол между ними. Найти биссектрисы. 10.Заданы две стороны треугольника и угол между ними. Найти радиусы вписанной и описанной окружностей. 11.Заданы сторона треугольника и два прилежащих к ней угла. Найти углы и стороны. 12.3аданы сторона треугольника и два прилежащих к ней угла. Найти высоты. 13.Заданы сторона треугольника и два прилежащих к ней угла. Найти медианы. 14.Заданы сторона треугольника и два прилежащих к ней угла. Найти биссектрисы. 15.3аданы сторона треугольника и два прилежащих к ней угла. Найти радиусы вписанной и описанной окружностей. 16.3аданы длины трех сторон треугольника. Найти углы и площадь. 17.3аданы длины трех сторон треугольника. Найти высоты. 18.3аданы длины трех сторон треугольника. Найти медианы. 19.3аданы длины трех сторон треугольника. Найти биссектрисы. 20.Заданы длины трех сторон треугольника. Найти радиусы вписанной и описанной окружностей. 4 Лабораторная работа № 2 Программирование алгоритмов разветвляющейся структуры Задание 2.1 Составьте и отладьте программу для выполнения следующего задания. Результат выведите на экран. 1. Дано целое число. Оканчивается ли оно цифрой 7? 2. Дано целое число. Оканчивается ли оно четной цифрой? 3. Дано натуральное двухзначное число. Какая из его цифр меньше, первая или вторая? 4. Дано натуральное трёхзначное число. Какая из его цифр больше, третья или первая? 5. Даны числа А, В. Удвоить эти числа, если А>B, заменить их абсолютными значениями, если это не так. 6. Даны два действительных числа. Заменить первое на 0, если оно меньше или равно второму и оставить числа без изменений в противном случае. 7. Даны числа x, y, x y. Меньшее из этих двух чисел заменить на (x+y)/2, а большее на 2*y. 8. Даны три числа. Возвести в квадрат те из них, значения которых неотрицательны. 9. Даны х и у. Если х<0 и у<0, то каждое значение заменить его модулем; если х>0 и у>0, то значения уменьшить в 10 раз. В остальных случаях х и у оставить без изменений. 10. Даны два числа. Вычесть из большего меньшее. 11. Даны два числа. Поделить большее на меньшее. 12. Определить, имеет ли квадратное уравнение Ах 2 Вх С 0 действительные корни. 13.Определить, какая из двух фигур (круг или квадрат) имеет большую площадь. Известно, что сторона квадрата равна а, радиус круга r. Вывести на экран название и значение площади большей фигуры. 14.Даны длины трёх отрезков. Могут ли они являться сторонами треугольника? 15.Узнать, делится ли данное натуральное число на 4. 16.Написать программу, которая вычисляет частное от деления двух чисел. Программа должна проверять правильность введённых данных и, если они не верные (делитель равен нулю), выдавать сообщение об ошибке. 17.Написать программу проверки знания даты начала второй мировой войны. В случае неверного ответа пользователя программа должна выводить правильный ответ. 18.Даны два числа. Найти остаток от деления большего из них на меньшее. 19.Даны числа А, В. Заменить эти числа на им противоположные, если А>B, утроить их, если А=В. 20.Определить, делится ли данное натуральное число на 7. Задание 2.2 Составьте и отладьте программу для выполнения следующего задания. Результат выведите на экран. 1. Написать программу решения квадратного уравнения. Программа должна проверять правильность исходных данных и в случае, когда коэффициент при второй степени неизвестного равен нулю, выводить соответствующее сообщение. 5 2. Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 10% предоставляется, если сумма покупки больше 1000 руб. 3. Написать программу проверки знания даты основания Санкт-Петербурга. В случае неверного ответа пользователя программа должна выводить правильный ответ (Санкт-Петербург был основан в 1703 году). 4. Написать программу проверки знания истории архитектуры. Программа должна вывести вопрос и три варианта ответа. Пользователь должен выбрать правильный ответ и ввести его номер. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Архитектор Исаакиевского собора: 1. Доменико Трезини 2. Огюст Монферран 3. Карл Росси Введите номер правильного ответа и нажмите <Enter> 2 Вы ошиблись. Архитектор Исаакиевского собора - Огюст Монферран. 5. Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 3% предоставляется в том случае, если сумма покупки больше 500 руб., в 5% — если сумма больше 1000 руб. 6. Написать программу проверки знания истории архитектуры. Программа должна вывести вопрос и три варианта ответа, а пользователь выбрать правильный ответ и ввести его номер. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Невский проспект получил свое название: 1. По имени реки, на берегах которой расположен Санкт-Петербург 2. По имени близко расположенного монастыря Александро-Невской лавры 3. В память о знаменитом полководце Александре Невском Введите номер правильного ответа и нажмите <Enter> 2 Вы ошиблись. Правильный ответ: 2. 7. Написать программу, которая сравнивает два числа, введенных с клавиатуры. Программа должна указать, какое число больше, или, если числа равны, вывести соответствующее сообщение. 8. Написать программу, которая выводит пример на умножение двух однозначных чисел, запрашивает ответ пользователя, проверяет его и выводит сообщение "Правильно!" или "Вы ошиблись" и правильный результат. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные, пользователем, выделены полужирным шрифтом). Сколько будет 6 7 ? Введите ответ и нажмите <Enter> 56 Вы.ошиблись. 6 7 42 . 9. Написать программу, которая выводит пример на вычитание (в пределах 100), запрашивает ответ пользователя, проверяет его и выводит сообщение "Правильно!" или "Вы ошиблись" и правильный результат. Рекомендуемый вид экрана аналогичен варианту 8. 6 10.Написать программу определения стоимости разговора по телефону с учетом скидки 20%, предоставляемой по субботам и воскресеньям. Ниже представлен рекомендуемый вид экрана программы во время ее работы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление стоимости разговора по телефону. Введите исходные данные: Длительность разговора (целое количество минут) 3 День недели (1 - понедельник, ... 7 - воскресенье) 6 Предоставляется скидка 20%. Стоимость разговора: 5.52 руб. 11.Написать программу, которая вычисляет оптимальный вес пользователя, сравнивает его с реальным и выдает рекомендацию о необходимости поправиться или похудеть. Оптимальный вес вычисляется по формуле: рост (в сантиметрах)—100. Рекомендуемый вид экрана во время работы программы приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом). Введите в одной строке через пробел рост (см) и вес (кг) затем нажмите <Enter> 170 68 Вам желательно поправиться на 2 кг. 12.Написать программу, которая выводит пример на сложение (в пределах 100), запрашивает ответ пользователя, проверяет его и выводит сообщение "Правильно!" или "Вы ошиблись" и правильный результат. Рекомендуемый вид экрана аналогичен варианту 8. 13.Написать программу проверки знания истории музыки. Программа должна вывести вопрос и три варианта ответа. Пользователь должен выбрать правильный ответ и ввести его номер. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Автор балета «Спящая красавица»: 1. П.И. Чайковский 2. М.П. Мусоргский 3. А.П. Бородин Введите номер правильного ответа и нажмите <Enter> 2 Вы ошиблись. Автор балета «Спящая красавица» П.И. Чайковский. 14.Написать программу, которая выводит пример на деление (в пределах 100), запрашивает ответ пользователя, проверяет его и выводит сообщение "Правильно!" или "Вы ошиблись" и правильный результат. Рекомендуемый вид экрана аналогичен варианту 8. 15.Написать программу вычисления площади кольца. Программа должна проверять правильность введённых данных (радиус внешней окружности должен быть больше радиуса внутренней). 16.Написать программу проверки знания истории музыки. Программа должна вывести вопрос и три варианта ответа. Пользователь должен выбрать правильный ответ и ввести его номер. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Какой композитор был назван «Королём вальса»: 1. В. Моцарт 7 2. И. Бах 3. И. Штраус Введите номер правильного ответа и нажмите <Enter> 2 Вы ошиблись.«Королём вальса» был назван И. Штраус. 17.Написать программу решения биквадратного уравнения. Программа должна проверять правильность исходных данных и в случае, когда коэффициент при четвёртой степени неизвестного равен нулю, выводить соответствующее сообщение. 18.Написать программу проверки знания даты рождения А.С. Пушкина. В случае неверного ответа пользователя программа должна выводить правильный ответ (А.С. Пушкин родился в 1799 году). 19.Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 4% предоставляется в том случае, если сумма покупки больше 400 руб., в 8% — если сумма больше 1000 руб. 20.Написать программу проверки знания даты рождения Фёдора Тютчева. В случае неверного ответа пользователя программа должна выводить правильный ответ (Ф. Тютчев родился в 1803 году). Задание 2.3 Составьте и отладьте программу для вычисления значений функции у . 1 2 x 2 , x 1, 2 x 2 , 1 x 2, 1. y 2 x 3, 2x , Lg (1 x), x 3. 8 x, 5Lg ( x), 2. y 2 x 2 x, sin( x), 0,1x 0,6, 2 4x , 3. y sin( x 3), x 2, 3 x 2 , х 6, 2 2 x 4, 6 x 6, 4. y cos( x) 1, 6 x 8, x 2, x 8. x 0, 0 x 2, 2 x 4, x 4. x 0, 0 x 1, 1 x 4, x 4. 2 x 2 7 x 3, x 4, x 1, 4 x 5, 5. y 5 x 7, 6 x, cos( x), x 7. x 2 4, x 1, Ln( x) 3, 1 x 3, 6. y 3 x 5, 2 x 1, x, x 3. x 2 7, 5 x, 7. y x 3, sin( x), 3x 2 1, x 0,58, 2 x 3, 0,58 x 0,68, 8. y cos( x 1), 0,68 x 2, 1 x, x 2. x 0, 0 x 2, 2 x 4, x 4. 0,5 x 2 0,2, x 1, tg ( x), 1 x 1, 9. y 1 x 2, 4 x, 5 x, x 2. x 2 x 1, x 0, 2 x 1, 0 x 1, 10. y sin( x 1), 1 x 3, arctgx, x 3. 8 x 0, Lg (1 x), 2 x 2 x 3, 0 x 4, 11. y 4 x 6, 2 x, x 7, x 6. x 2 2 x, x 3, cos( x), 3 x 4, 12. y 4 x 6, 2 x , arctg ( x), x 6. 2 x 2 3x 4, Ln( x 2), 13. y sin( x 4), 2 x 1, arctg (2 x), x 2, 14. y 2 2 x 14 x, Lg (2 x), 9.2 x 3 10, arctg ( x), 15. y sin x, 7 x, 1 x 3, x 3. x 1, 1 x 1, 1 x 2, x 2. Lg (1 7 x), 2 5 x 4 x 1, 17. y 2 x 7, sin x, x 2 2 x 7, Ln( x 3), 19. y sin( 2 x 3), x 7, x 0, 0 x 1, x 0, 0 x 3, 3 x 6, x 6. x 1, 1 x 5, 5 x 7, x 7. x 1, 1 x 1, 1 x 3, x 3. 9 x 2 6 x 1, x 1, 2 x 1, 1 x 2, 16. y cos( x 1), 2 x 3, x , x 3. 2 x 2 3x, x 3, cos( x), 3 x 5, 18. y 2 x 9, 5 x 7, arcctg ( x), x 7. arcctg (4 x 5), x 1, 3x 1, 1 x 2, 20. y 2 4 x 7 x 1, 2 x 5, Lg (2 x 3), x 5. Задание 2.4 Вычислите результат, используя условный оператор (исходные данные вводятся с клавиатуры, результат необходимо вывести на экран). max( x, y, z ) min( x y, y z ) 2. n ; 5; min( x, y ) max( x, y ) max( x y z, xyz) 4. q ; 5. max 2 (max( xy, x y),0) ; min( x y z, xyz) 1. m min 2 ( zx, yx) ; max(min( x, y), z ) max(min( x, y ), z 10. r ; 3 min(max( x, y ), z ) 13. s ; max( x, z ) min( x, y ) 16. p ; 2 max( х, y, z ) 7. j min( x y z, z x y) ; max( x y, z y) min( x, y) max( y, z ) ; 2 min( x y z, xz) 6. g ; max( xy, y) 3. p max 2 ( x, y, z ) ; min 2 ( x, y, z ) min( x y , y z ) max( x, y, yx 4) 11. k ; 12. b ; min( x y, z x) min 2 ( x, y z ) min( 2 x y, z ) min( 0, x) min( 0, y ) 14. z ; 15. n ; 2 max ( y, x) min( x, y, z ) max(min( x,5), max( y,0)) max( x, y, min( z, y )) 17. t ; 18. m ; 5 min( x, y ) min(max( x,5), max( y,5)) 19. max(min( x y , y x ),0) ; 20. f . 2 max( x, y) 8. a 9 9. c Задание 2.5 Составьте программу для выполнения указанного ниже задания, используя оператор множественного ветвления. 1. По номеру месяца выдать его название. 2. По номеру дня недели выдать название дня недели. 3. По номеру месяца выдать название времени года. 4. Выдать последнюю цифру куба натурального числа от 1 до 9. 5. Выдать последнюю цифру квадрата натурального числа от 1 до 9. 6. По числу ног выдать название животного (птица, паук, жук, черепаха). 7. По номеру класса выдать название школьной ступени. 8. По номеру дня недели выдать одно из сообщений: «Рабочий день» или «Выходной день». 9. Написать программу, которая после введённого с клавиатуры числа от 1 до 20, обозначающего денежную единицу, дописывает слово «рубль» в правильной форме (1 рубль, 2 рубля, 5 рублей, …). 10.Написать программу, которая после введённого с клавиатуры числа от 1 до 20, обозначающего денежную единицу, дописывает слово «копейка» в правильной форме (1 копейка, 2 копейки, 5 копеек, …). 11.По номеру месяца выдать количество праздничных и воскресных дней. 12.По номеру месяца выдать день недели, на который приходится 15-е число. 13.По введённому количественному числительному от 1 до 20 выдать соответствующее порядковое (1 – первый, 2 – второй, …) . 14.По номеру месяца выдать число рабочих дней в нем. 15.По номеру этажа главного корпуса выдать название размещённых на нем факультетов. 16.По номеру компьютера выдать фамилию студента, работающего на нём. 17.По номеру месяца выдать числа и названия праздничных дней в нём. 18.По номеру растения (1 - подснежник, 2 - ландыш, 3 - тюльпан, 4 - роза, 5 - нарцисс, 6 - одуванчик) выдать цвет цветка. 19.По номеру в журнале выдать фамилию студента. 20.По номеру дня недели выдать число пар в этот день. 10 Лабораторная работа № 3 Программирование алгоритмов циклической структуры Задание 3.1 Дано действительной число а, натуральное число n. Вычислить: 1 1 1 1 1 ... ); ; 3. (1 1)(1 ) ... (1 a a 1 an 3 2n 1 1 1 1 1 1 4. (1 2)(1 3) ... (1 n) ; 5. (1 1)(1 ) ... (1 ) ; 6. ... ; 2 n a 3a (2n 1)a 1 1 1 1 1 1 ... ... 7. ; 8. ; 9. (1 1)(1 2) ... (1 n) ; 2a 4a 2na 2a 2a 1 2a n 10. (1 2)(1 4) ... (1 2n) ; 11. (1 3)(1 5) ... (1 2n 1) ; 1 1 1 12. (à 2)( à 3) ... (à n) ; 13. (1 ) (1 ) ... (1 ) ; 2 4 2n 1 1 14. ; 15. ; à(à 1)...(à n 1) (1 2)(1 4) ... (1 2n) 1 1 16. ; 17. ; (1 2)(1 3) ... (1 n) (1 1)(1 2) ... (1 n) 1 1 18. ; 19. ; (1 3)(1 5) ... (1 2n 1) (à 2)( à 3) ... (à n) 1 1 1 ... 20. . 3a 6a 3na 1. à(à 1)...( à n 1) ; 2. Задание необходимо выполнить тремя способами (с использованием различных операторов цикла). Задание 3.2 Составьте программу вычисления суммы произведений. Проверьте правильность работы программы, взяв верхние пределы для суммы и произведения: (1,1); (1,2); (2,1); (2,2). 3i ; j 1 i j M N i 1 i 1 2i ; j 1 i j N M M N 5. 3i ; 2 j 1 i j N M 13. i 2 i 1 j 1 N 17. M i i 1 j 1 j 2j N M 1 ; j 1 i j i 1 N j ; M 10. i 1 j 1 2 N ; i 1 18. i 1 i j2 ; i2 j 1 N M 3i 2 j 2i j N 15. M N i 1 2i i 3 j ; N M 2i (i j ) i 1 j 1 11 2 M 1 ; 2 j 1 ij 12. N 16. N 2 M 4i 2 i j ; i 1 j 1 i 1 j 1 ; 19. 2 2 ; 2 j 1 i j i 1 M M N 8. i j i j ; 11. 2 ; 2 i 2 j i 1 j 1 i i2 j ; j 1 i j i 1 j 1 1 ; 2 j 1 i j i 1 i 1 i j ; 2 j 1 i j M N 4. 7. M M M N 3. N 14. N 3 3 i 1 2 ; j 1 i j 6. 9. i 1 M N 2. 1. ; 20. M i i 1 j 1 3 i . j2 Задание 3.3 Протабулируйте функцию y(x) и функцию g(x) на отрезке [a;b] с шагом h=(b-a)/n. Функцию y(x) необходимо взять из задания 2.3., результат получить в виде таблицы: x | y(x) | g(x) | | | | 2 1. a 2; b 4.5; n 15; g ( x) 1 2 x ; 2. a 1; b 5.2; n 10; g ( x) 5ln | 2x | ; 3. a 1.5; b 5.8; n 12; g ( x) sin( x 3) ; 4. a 7.5; b 8.4; n 13; g ( x) x 2 ; 2 5. a 3.2; b 7.4; n 9; g ( x) 2 x 7 x 3 ; 6. a 0.5; b 5.4; n 8; g ( x) ln | x | 3 ; 7. a 2; b 5; n 14; g ( x) sin( x) ; 8. a 1.5; b 3.4; n 16; g ( x) x 2 9 ; 9. a 3.5; b 1.5; n 9; g ( x) 1 2x; 11. a 0.2; b 2.8; n 8; g ( x) ñîs ( x 1) ; 13. a 0.8; b 3.9; n 15; g ( x) x 2 x 1 ; 15. a 3.4; b 5.9; n 13; g ( x) sin( 2 x 2 4) ; 17. a 1.5; b 5; n 10; g ( x) õ3 sin x ; 19. a 0.3; b 5.6; n 12; g ( x) x 2 x 1; 10. a 9.2; b 2.8; n 14; g ( x) sin( x 3) ; 12. a 1.5; b 2.5; n 14; g ( x) 2 õ ; 14. a 3.5; b 7.4; n 9; g ( x) x 2 2 x 3 ; 16. a 5; b 8.2; n 11; g ( x) 3x; 18. a 8; b 9; n 17; g ( x) 3x 2 2 x 1 ; 20. a 0.3; b 5.5; n 9; g ( x) ln | x 4 | . Задание 3.4 Вычислите сумму. Суммирование необходимо производить до тех пор, пока очередное слагаемое по модулю не станет меньше наперёд заданного , 0 . xk 1. 1 ; k 1! k 2 k 2 k 1 3õ 2. 1 ; k 3 3k 3õ 3. 1 ; k 1! k 2 k k! k 1 4. 1 k 2 k x 3k 1 ; k! k 4 x k 2 5. 1 k! k 2 k 1 2 õ ; 1 ; 6. k 3 2k 7. k! 1k 3 k 4 1k 2 õ ; k 1! k 3 õ4 k ; k 1! 8. 4k 3k 9. õ 1k 3 ; k 2 k! 1k 1 4 õ ; k 1! k 3 3 k 1 13. õ k 3 10. 1 ; k 1! k 3 14. 11. k 2 1k 5 õ ; k 1! k 3 15. 1k 1 2 õ ; k 1! k 3 19. k 3 õ 1 5k ; k! 12. 1k k 1 1k 1 3õ ; k 2! k 2 16. õ4 k 1 ; k 1! 20. k 2 k 1 k 3 õ ; 1 k õ3k ; k! k 1 2k k! k x 17. 1k 3 ; k! k 2 18. 2 k 1 1k 2 k 4 12 k 2 õ 2 . 1 k 1 k k! Лабораторная работа № 4 Массивы Задание 4.1 Составить программу определения значений указанных ниже параметров линейного массива. Выполнить программу для длины массива N=8 (количество элементов массива и их значения должны быть введены с клавиатуры). 1. Сумма всех элементов массива. 2. Сумма всех квадратов элементов массива. 3. Сумма всех абсолютных значений элементов массива. 4. Максимальный элемент массива. 5. Минимальный элемент массива 6. Сумма кубов отрицательных элементов массива. 7. Сумма обратных величин ненулевых элементов массива. 8. Сумма обратных величин абсолютных значений ненулевых элементов массива. 9. Разность максимального и минимального элементов массива. 10.Сумма положительных элементов массива. 11.Сумма отрицательных элементов массива. 12.Номер максимального элемента массива. 13.Номер минимального элемента массива. 14.Количество нулей среди элементов массива. 15.Количество единиц среди элементов массива. 16.Количество отрицательных чисел в массиве. 17.Количество положительных чисел в массиве. 18.Количество элементов массива, превышающих первый элемент массива. 19.Сумма элементов массива, имеющих нечетные номера. 20.Сумма элементов массива, имеющих четные номера. Задание 4.2 Составить программу определения значений указанных ниже параметров матрицы размерности N N . В программе предусмотреть ввод, вывод матрицы и результата (размерность массива и значения элементов должны быть введены с клавиатуры). Выполнить программу для N=3. 1. Определить номер строки, содержащей наибольший элемент матрицы. 2. Определить номер строки, содержащей наименьший элемент матрицы. 3. Определить номер столбца, содержащего наибольший элемент матрицы. 4. Определить номер столбца, содержащего наименьший элемент матрицы. 5. Определить положение наименьшего элемента в матрице. 6. Определить положение наибольшего элемента в матрице. 7. Заменить положительные элементы матрицы нулями. 8. Заменить отрицательные элементы матрицы нулями. 9. Определить номер строки с наибольшей суммой элементов. 10. Определить номер строки с наименьшей суммой элементов. 11. Определить номер столбца с наибольшей суммой элементов. 12. Определить номер столбца с наименьшей суммой элементов. 13. Определить сумму диагональных элементов матрицы. 14. Определить, имеются ли равные столбцы в матрице. 13 15. Определить, имеются ли равные строки в матрице. 16. Определить номер строки с наименьшим из положительных элементов. 17. Определить номер столбца с наибольшим из отрицательных элементов. 18. Определить номер столбца с наименьшим из положительных элементов. 19. Определить номер строки с наибольшим из отрицательных элементов. 20. Определить номер строки с наибольшим произведением элементов. Задание 4.3 Составить программу обработки матрицы. В программе предусмотреть вывод исходной матрицы и полученной (размерность массива и значения элементов должны быть введены с клавиатуры). 1. Дана матрица N M . Образовать новую матрицу N 1 M вставкой после строки с номером P данной матрицы новой строки с элементами 1, 2,... М. 2. Дана матрица N M . Образовать новую матрицу N M 1 удалением столбца с номером P данной матрицы. 3. Даны числа à1 , à2 , ..., àm и матрица M N . Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные среди à1 , à2 , ..., àm . 4. Дана матрица N M . Найти матрицу, получающуюся из данной перестановкой столбцов - первого с последним, второго - с предпоследним и т.д. 5. Дана матрица N N . Преобразовать матрицу по правилу: строку с номером N сделать столбцом с номером N, а столбец с номером N сделать строкой с номером N. 6. Даны две матрицы M N . Получить новую матрицу умножением элементов каждой строки первой матрицы на сумму элементов соответствующих строк второй матрицы. 7. Даны две матрицы N N . Получить новую матрицу прибавлением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй матрицы. 8. Дана матрица M N , целые числа К, L ( 1 K N,1 L N, K L ). Преобразовать матрицу так, чтобы строка с исходным номером К непосредственно следовала за строкой с исходным номером L, сохранив порядок следования остальных строк. 9. Дана матрица N N . Получить новую матрицу N 1 N 1 удалением строки и столбца, на пересечении которых расположен наибольший по модулю элемент. 10. Дана матрица N N . Получить новую матрицу N 1 N 1 удалением строки и столбца на пересечении которых расположен наименьший положительный элемент. 11. Поменять местами строки матрицы, расположив их в обратном порядке. 12. Поменять местами столбцы матрицы, расположив их в порядке возрастания суммы элементов столбцов. 13. Дана матрица N M . Образовать новую матрицу N M 1 вставкой после столбца с номером P данной матрицы нового столбца с элементами 1, 2, ..., N . 14. Дана матрица N M . Образовать новую матрицу N 1 M удалением строки с номером P данной матрицы. 15. Дана матрица N M . Найти матрицу, получающуюся из данной перестановкой строк - первой с последней, второй - с предпоследней и т.д. 16. Поменять местами столбцы матрицы, расположив их в обратном порядке. 17. Поменять местами строки матрицы, расположив их в порядке возрастания суммы элементов строк. 14 18. Даны две матрицы M N . Получить новую матрицу умножением элементов каждого столбца первой матрицы на сумму элементов соответствующего столбца второй матрицы. 19. Даны две матрицы N N . Получить новую матрицу прибавлением к элементам каждой строки первой матрицы произведения элементов соответствующих столбцов второй матрицы. 20. Дана матрица N N . Получить новую матрицу N 1 N 1 удалением строки и столбца, на пересечении которых расположен наибольший по модулю отрицательный элемент. 15 Лабораторная работа № 5 Процедуры и функции Задание 5.1 Составить программы, используя указанные в скобках вспомогательные алгоритмы (вспомогательные алгоритмы оформить процедурами). 1. Найти сумму цифр четырехзначного числа (остаток от деления целых чисел). 2. Найти НОД четырех чисел (НОД двух чисел). 3. Найти максимум из десяти чисел (максимум из трех (максимум из двух)). 4. Найти произведение цифр четырехзначного числа (остаток от деления целых чисел). 5. Даны координаты четырех точек х1, у1, х2, у2, х3, у3, х4, у4. Найти наименьший из периметров треугольников, вершины которых находятся в заданных точках (расстояние, минимум из двух). 6. Вычислить площадь выпуклого четырехугольника по заданным координатам х1, у1, х2, у2, х3, у3, х4, у4 его вершин (Герон, расстояние). 7. Найти минимум из восьми чисел (минимум из четырех (минимум из двух)). 8. Определить, делится ли четырехзначное число на три (остаток от деления целых чисел). 9. Найти НОД пяти чисел (НОД двух чисел). 10. Вычислить площадь выпуклого пятиугольника по заданным координатам х1, у1, х2, у2, х3, у3, х4, у4 , х5, у5 его вершин (Герон, расстояние). 11. Определить, делится ли пятизначное число на девять (остаток от деления целых чисел). 12. Найти НОД шести чисел (НОД трех чисел (НОД двух чисел)). 13. Даны координаты пяти точек х1, у1, х2, у2, х3, у3, х4, у4 , х5, у5. Найти наименьшее расстояние между ними (расстояние, минимум из двух). 14. Даны координаты четырех точек х1, у1, х2, у2, х3, у3, х4, у4. Найти наибольшее расстояние между ними (расстояние, максимум из двух). 15. Найти минимальную из цифр четырехзначного числа (остаток от деления целых чисел, минимум из двух). 16. Найти первые десять простых чисел (подпрограмма, определяющая, является ли число простым). 17. Определить, является ли трехзначное число простым (остаток от деления целых чисел). 18. Даны координаты четырех точек х1, у1, х2, у2, х3, у3, х4, у4. Найти наибольшую из площадей треугольников, вершины которых находятся в заданных точках (Герон, максимум из двух). 19. Найти максимальную из цифр четырехзначного числа (остаток от деления целых чисел, максимум из двух). 20. Вычислить площадь выпуклого шестиугольника по заданным координатам х1, у1, х2, у2, х3, у3, х4, у4 , х5, у5, х6, у6 его вершин (Герон, расстояние). 16 Задание 5.2 Составить программы, используя указанные в скобках вспомогательные алгоритмы (вспомогательные алгоритмы оформить функциями). Задания - смотри задание 5.1. Задание 5.3 Протабулировать функцию y(x) и функцию g(x) на отрезке [a;b] с шагом h=(ba)/n, результат получить в виде таблицы: x | y(x) | g(x) | | | | | | | Значения a, b, h, g(x) взять из задания 3.3, значения у(х) из задания 2.3. Вычисление у(х) оформить в виде процедуры, вычисление g(x) - в виде функции. Вывод таблицы на экран оформить в виде процедуры. Задание 5.4 Выполнить задание 4.2. Ввод, вывод и обработку матрицы оформить в виде процедур или функций. Задание 5.5 Выполнить задание с использованием рекурсивных процедур или функций. 1. Ежедневно Незнайка учит половину от суммы выученных за два предыдущих дня иностранных слов и ещё два слова. Знайка считает, что силы незнайки иссякнут, когда нужно будет выучить 50 слов в день. Написать программу, определяющую, через сколько дней иссякнут силы у Незнайки, если в первые два дня он выучил по одному слову. 2. Царевна-лягушка съедает ежедневно на 20% комаров больше, чем в предыдущий день, и ещё два комара. Написать программу, определяющую, через сколько дней количество съеденных комаров превысит 100, если в первый день было съедено 12 комаров. 3. На каждом следующем дне рождения Винни-Пух съедает столько же мёда, что и на двух предыдущих. На двух первых днях рождения у Пятачка и Кролика он съел по 100 г мёда. Написать программу, определяющую, сколько килограммов мёда Винни-Пух съест на пятнадцатом дне рождения. 4. Одноклеточная амеба каждые три часа делится на две клетки. Написать программу, определяющую, сколько клеток будет через 3, 6, 9, ... 24 часа. 5. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% от нормы предыдущего дня. Написать программу, определяющую, какой суммарный путь он пробежит за 7 дней. 6. Богатый дядюшка подарил племяннику 1$ к первому дню рождения. В каждый следующий день рождения он удваивал свой подарок и прибавлял к нему столько долларов, сколько исполнилось лет. Написать программу, определяющую, к какому дню рождения сумма подарка превысит 100$. 7. С 25 лет штангист каждые полгода увеличивает вес штанги на 10% от предыдущего веса, начав со 120 кг. Написать программу, определяющую, во сколько лет он может стать чемпионом мира, подняв свыше 210 кг. 17 8. Каждый раз, когда Буратино солжет, его нос вырастает на 1/20 от предыдущей длины. Мудрый сверчок предупредил, что с носом длиной более 45 см его ждут большие неприятности. Написать программу, определяющую, через сколько дней это может произойти, если Буратино лжет через день, а первоначально длина носа была 10 см. 9. Мачеха приказала Золушке перебрать мешок зерна (40 кг). Начав в 6 часов вечера, Золушка каждый час перебирала на 15% больше, чем в предыдущий час. Написать программу, определяющую, успеет ли она на бал (и сколько часов там пробудет, если успеет), если бал заканчивается в 2 часа ночи, а с 6 до 7 часов Золушка перебрала 6 кг зерна? 10.Долг Сайда хану составляет 900 золотых. За хорошую работу хан каждый год сокращает долг в 3 раза, но добавляет количество золотых, равное удвоенному числу пройденных лет. Последние 20 золотых хан готов простить. Написать программу, определяющую, через сколько лет Сайд отработает свой долг. 11.Садовник в первый день посадил 2 розы, во второй день - 4 розы. В каждый следующий день количество посаженных роз должно быть равно сумме посаженных роз за два предыдущих дня минус 2 розы. Написать программу, определяющую, сколько роз должен посадить садовник на 13 день. 12.Турист на своем маршруте встречает отметки пройденного пути каждые 15 км. Складывая последовательно все числа, он после 5 дней пути получил число, равное 825. Написать программу, определяющую, сколько километров прошел турист. 13.Поток студентов сдавал один и тот же зачет в течение 5 дней. Студенты, не сдавшие зачет, приходили на следующий день. Каждый день успешно сдавали зачет 1/3 всех студентов и еще 1 студент. Написать программу, определяющую, каково наименьшее количество студентов, так и не сдавших зачет. 14.Числа Фибоначчи u0 , u1 , u2 ,... определяются следующим образом: u0 0, u1 1, u u u , n 2,3,4,... n 1 n2 n Написать программу вычисления первого числа Фибоначчи, большего m (m>1). 15.Найти (в выражении присутствуют ровно n радикалов): õn 2 2 2 ... 2 . 16.Снежная королева подарила Каю 9 льдинок. В каждый последующий день она дарила на 1/3 льдинок больше, чем в предыдущий день, плюс ещё две льдинки. Написать программу, определяющую, через сколько дней количество льдинок превысит 50. 17.Каждые два часа Шрек проходит на 5% километров больше, чем за предыдущие два часа, плюс 0.5 км. Написать программу, определяющую, за какое время он достигнет замка принцессы, если за первые два часа пути Шрек прошёл 5 км, а длина дороги 30 км. 18. Найти (в выражении присутствуют ровно n радикалов): õn 1 2 1 3 1 4 1 ... . 19.Лыжник на своем маршруте встречает отметки пройденного пути каждые 5 км. Складывая последовательно все числа, он после 7 часов тренировки получил число, равное 155. Написать программу, определяющую, сколько километров прошел лыжник. 20.На бал к графу Дракуле приглашено 666 гостей. Каждые 10 минут прибывает на 25% гостей больше, чем предыдущие 10 минут, плюс 5. Написать программу, определяющую, через какое время все гости соберутся, если в первые 10 минут прибыло 66 приглашённых. 18 Лабораторная работа № 6 Строковые переменные Задание 6.1 Составьте программу, выполняющую следующее задание: дана строка символов. 1. Определить количество букв в строке. 2. Определить количество символов, предшествующих первому восклицательному знаку. 3. Определить количество символов, заключенных между двумя апострофами. 4. Подсчитать, какой процент составляет количество символов “a” от количества символов “б”. 5. Определить количество цифр в строке. 6. Подсчитать, каких символов “+” или “-” больше и на сколько. 7. Определить количество символов, расположенных после первого “:”. 8. Подсчитать количество латинских букв в строке. 9. Найти номер позиции последней “,” в строке. 10.Выяснить, входит ли в строку буква “ж”. 11.Найти символ, встречающийся только один раз. 12.Подсчитать количество гласных букв в строке. 13.Найти номер позиции первой цифры в строке. 14.Определить, входят ли в строку символы, отличные от букв латинского алфавита. 15.Определить, входят ли в строку цифры. 16.Найти символ, встречающийся больше двух раз. 17.Найти номер позиции последней цифры в строке. 18.Найти номер позиции первой буквы в строке. 19.Найти номер позиции последней буквы в строке. 20.Найти номер позиции первой “.” в строке. Задание 6.2 Составьте программу, которая 1. Запрашивает имя пользователя и здоровается с ним. 2. Выдает код символа, введенного пользователем. Программа должна завершать работу после ввода, например, точки. 3. Выводит на экран первую часть таблицы кодировки символов (символы, имеющие коды от 0 до 127). Таблица должна состоять из восьми колонок и шестнадцати строк. В первой колонке должны быть символы, имеющие код от 0 до 15, во второй — от 16 до 31 и т. д. 4. Удаляет начальные пробелы из введенной с клавиатуры строки. 5. Проверяет, является ли введенная с клавиатуры строка целым числом. 6. Во введенной с клавиатуры строке преобразует прописные буквы русского алфавита в строчные. 7. Проверяет, является ли введенная с клавиатуры строка двоичным числом. 8. Проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом. 9. Заменяет конечные пробелы введенной с клавиатуры строки символами «_». 10.Проверяет, является ли введенная с клавиатуры строка дробным числом. 19 11.Преобразует введенное с клавиатуры восьмиразрядное двоичное число в десятичное. 12.Выдает символ, код которого введён пользователем. Программа должна завершать работу после ввода, например, точки. 13.Во введенной с клавиатуры строке преобразует строчные буквы английского алфавита в прописные. 14.Заменяет начальные пробелы во введенной с клавиатуры строке символами «!». 15.Проверяет, является ли введенная с клавиатуры строка числом. 16.Во введенной с клавиатуры строке преобразует прописные буквы английского алфавита в строчные. 17.Удаляет конечные пробелы во введенной с клавиатуры строке. 18.Во введенной с клавиатуры строке преобразует строчные буквы русского алфавита в прописные. 19.Заменяет цифры их названиями. 20.Заменяет несколько подряд идущих пробелов одним. Задание 6.3 Составьте программу, заменяющую во введенном строковом выражении указанную подстроку нужным числовым значением в строковом представлении. 1. Сумма двух чисел. 11. ехр(х), где х - число. 2. Разность двух чисел. 12. а^х, где х и а - числа. 3. Произведение двух чисел. 13. log(x), где х - число. 4. Частное двух чисел. 14. mах(х,у), где х и у - числа 5. Квадрат числа. 15. min(х,у), где х и у - числа. 6. Куб числа. 16. sqr(x), где х - число. 7. sin(x), где х - число. 17. sqrt(x), где х – число. 8. cos(x), где х - число. 18. abs(x), где х - число. 9. tg(x), где х - число. 19. [х], где х - число. 10. arctg(x), где х - число. 20. {х}, где х - число. Задание 6.4 Дана строка символов. Группа символов, разделенная пробелами и не содержащая пробелов внутри себя, называется словом. Составьте программу, выполняющую следующее задание. 1. Подсчитать количество букв «е» в последнем слове строки. 2. Найти количество слов, у которых первый и последний символы совпадают. 3. Подсчитать процент букв «а» в первом слове строки от общего количества букв «а» в тексте. 4. Найти количество слов, начинающихся на букву «б». 5. Найти количество слов, заканчивающихся на букву «я». 6. Найти букву, на которую начинается большинство слов в тексте. 7. Найти букву, на которую заканчивается большинство слов в тексте. 8. Подсчитать наибольшее количество идущих подряд пробелов. 9. Поменять порядок слов в тексте на противоположный. 10.Найти количество слов, имеющих четное количество букв. 11.Найти количество слов, имеющих нечетное количество букв. 20 12.Определить, какой процент от общего количества слов составляют слова, имеющие более шести букв. 13.Определить, какой процент от общего количества слов составляют слова, имеющие менее трех букв. 14.Определить, какой процент от общего количества слов составляют слова, состоящие из пяти букв. 15.Подсчитать количество букв «о» в третьем слове строки. 16.Подсчитать процент букв «с» во втором слове строки от общего количества букв «с» в тексте. 17.Подсчитать количество букв в самом длинном слове строки. 18.Поменять местами первое и последнее слова в тексте. 19.Найти количество слов, состоящих из четырёх буквы. 20.Подсчитать количество букв в самом коротком слове строки. 21 Лабораторная работа № 7 Множества Задание 7.1 Составьте программу, выполняющую следующее задание. Необходимо сформировать множества X1, X2, (X3), содержащих целые числа из диапазона 1…100. Мощность каждого множества равна 5. Значения элементов исходных множеств вводятся с клавиатуры. 1. Из X1 сформировать подмножество Y1 чисел, делящихся на 3 без остатка, а из X2 - подмножество Y2 чисел, делящихся на 5 без остатка. Вывести на экран мощность и значения элементов множества Y1Y2. 2. Сформировать новое множество Y=(X1X2)(X2\X3), из которого выделить подмножество нечетных чисел. Определить мощность полученного множества и вывести его на экран. 3. Из X1 сформировать подмножество Y1 чисел, делящихся на 4 без остатка, а из X2 - подмножество Y2 чисел, делящихся на 2 без остатка. Вывести на экран мощность и значения элементов множества Y1Y2. 4. Сформировать новое множество Y=((X2X3)\(X1X2))(X1X3), из которого выделить подмножество чисел, превышающих число 12. Определить мощность полученного множества и вывести его на экран. 5. Из X1 сформировать подмножество Y1 чисел, оканчивающихся на 3, а из X2 подмножество Y2 чисел, оканчивающихся на 0. Вывести на экран мощность и значения элементов множества Y1Y2. 6. Сформировать новое множество Y=(X2X3)\((X1X2)(X1X3)), проверить принадлежность множеству чисел 10, 20, 30. Определить мощность полученного множества и вывести его на экран. 7. Сформировать новое множество Y=((X2X3)\(X1X2))(X1X3), из которого выделить подмножество чисел, не превышающих число 9. Определить мощность полученного множества и вывести его на экран. 8. Сформировать новое множество Y=(X1X2)\(X2X3), из которого выделить подмножество чисел, оканчивающихся цифрой 3. Определить мощность полученного множества и вывести его на экран. 9. Сформировать новое множество Y=(X1X3)((X1X2)\(X1X3)), из которого выделить подмножество четных чисел. Определить мощность полученного множества и вывести его на экран. 10. Из X1 сформировать подмножество Y1 чисел, кратных 10, а из X2 подмножество Y2 чисел, кратных 8. Вывести на экран мощность и значения элементов множества Y1\Y2. 11. Сформировать новое множество Y=((X2X3)\(X1X2))\(X1X3), из которого выделить подмножество чисел, превышающих число 4. Определить мощность полученного множества и вывести его на экран. 12. Сформировать новое множество Y=(X1X2)\(X2X3), из которого выделить подмножество чисел, оканчивающихся цифрой 5. Определить мощность полученного множества и вывести его на экран. 22 13. Сформировать новое множество Y=(X1X2)(X2X3), из которого выделить подмножество простых чисел. Определить мощность полученного множества и вывести его на экран. 14. Сформировать новое множество Y=((X2X3)(X1X2))(X1X3), проверить принадлежность множеству чисел 2, 3, 5. Определить мощность полученного множества и вывести его на экран. 15. Сформировать новое множество Y=((X1X2)\(X1X2))\(X1X3), из которого выделить подмножество чисел, не превышающих число 5. Определить мощность полученного множества и вывести его на экран. 16. Сформировать новое множество Y=(X1\X2)(X2X3), из которого выделить подмножество чисел, не являющихся простыми. Определить мощность полученного множества и вывести его на экран. 17. Сформировать новое множество Y=((X1X3)\(X1X2))(X1X3), из которого выделить подмножество чисел, кратных 7. Определить мощность полученного множества и вывести его на экран. 18. Сформировать новое множество Y=(X1X2)\(X2X3), из которого выделить подмножество чисел, делящихся на 6 без остатка. Определить мощность полученного множества и вывести его на экран. 19. Сформировать новое множество Y=(X1\X2)\(X2X3), из которого выделить подмножество чисел, оканчивающихся цифрой 2. Определить мощность полученного множества и вывести его на экран. 20. Сформировать новое множество Y=(X1\X2)(X2\X3), из которого выделить подмножество простых чисел. Определить мощность полученного множества и вывести его на экран. Задание 7.2 Дана непустая последовательность символов. Необходимо построить и напечатать множество, элементами которого являются встречающиеся в последовательности 1) буквы oт 'F' до 'Н' и все цифры, кроме '8' и '5'. 2) буквы от 'А' до 'G' и от 'х' до 'z'. 3) цифры от '2' до '7' и буквы от 'а' до 'h', кроме 'd', 'j', 'l' . 4) знаки препинания и буквы от 'n' до 't'. 5) знаки препинания и знаки арифметических операций. 6) цифры от '3' до '9', знаки арифметических операций и буквы от 'G' до 'К'. 7) буквы от 'F до 'J' и нечетные цифры. 8) знаки препинания и цифры, делящиеся на 3. 9) знаки препинания и операций отношения. 10) все цифры, все большие и маленькие латинские буквы. 11) буквы от 'F' до 'Т' и четные цифры. 12) цифры от '0' до '5', знаки арифметических операций, кроме сложения, знаки операций отношения. 13) цифры от '5' до '9', знаки арифметических операций и все маленькие латинские буквы. 14) цифры от '3' до '6', знаки арифметических операций и знаки препинания. 15) цифры от '4' до '8', знаки арифметических операций и знаки операций отношения. 23 16) цифры от '1' до '8' и буквы от 'Е' до 'N'. 17) цифры от '0' до '9' и знаки операций отношения. 18) буквы от 's' до 'z' и четные цифры. 19) знаки препинания и все виды скобок. 20) все большие латинские буквы, за исключением букв от 'А' до 'F' и все цифры, кроме '4', '5', '6' и '7'. Задание 7.3 Составьте программу, выполняющую следующее задание. Даны множества А, В, (С). Проверить (на примерах), верно ли равенство: 1) À Â Ñ À Â Ñ . 2) À Â Ñ À Â Ñ . 3) À Â Ñ À Â À Ñ . 4) À Â Ñ À Â À Ñ . 5) À \ Â Ñ À \ Â À \ Ñ . 6) À \ Â Ñ À \ Â À \ Ñ . 7) À Â \ À Â À \ Â Â \ À . 8) Â Ñ \ À Â \ À Ñ \ À . 9) À \ À \ Â À Â . 10) À \ Â Ñ À Ñ \ Â . 11) Â À \ Â À Â . 12) Â À \ Â , где -пустое множество. 13) À Â \ Ñ À Â \ À Ñ . 14) À Â \ Ñ À Â \ Ñ . 15) À Â \ À Ñ À Â \ Ñ . 16) À \ Â \ Ñ À \ Ñ \ Â \ Ñ . 17) À Â \ Ñ À \ Ñ Â \ Ñ . 18) À \ Â \ Ñ À \ Ñ \ Â . 19) À Â À Â \ À . 20) À À Â À . 24 Лабораторная работа № 8 Записи Задание 8.1 Составить программу с использованием записей для выполнения указанного ниже задания. 1. Даны две простые дроби. Найти их разность. Сократить полученную дробь, если это возможно. 2. Даны две простые дроби. Найти их произведение. Сократить полученную дробь, если это возможно. 3. Даны две простые дроби. Найти их частное. Сократить полученную дробь, если это возможно. 4. Заданы координаты начала и конца вектора. Найти его модуль. 5. Заданы координаты начала и конца двух векторов. Найти вектор суммы. 6. Заданы координаты начала и конца двух векторов. Найти вектор разности. 7. Заданы координаты начала и конца двух векторов. Найти их скалярное произведение. 8. Заданы проекции вектора на оси координат X и Y. Найти его модуль. 9. Заданы проекции двух векторов на оси координат X и Y. Найти модуль вектора суммы. 10. Заданы проекции двух векторов на оси координат X и Y. Найти модуль вектора разности. 11. Заданы проекции двух векторов на оси координат X и Y. Найти скалярное произведение векторов. 12. Задано время начала и конца телевизионной передачи. Определить продолжительность передачи в секундах. 13. Описать переменную "круг", в которой содержатся все данные для построения круга в декартовой системе координат. Определить площадь и длину окружности круга. 14. Заданы два комплексных числа. Умножить одно число на другое. 15. Заданы два комплексных числа. Необходимо сложить их. 16. Заданы два комплексных числа. Вычесть из одного числа другое. 17. Найти корни линейного уравнения с заданными коэффициентами. 18. Найти корни квадратного трехчлена с заданными коэффициентами. 19. Определить расстояние в пространстве между двумя точками с заданными координатами. 20. Даны две простые дроби. Найти их сумму. Сократить полученную дробь, если это возможно. Задание 8.2 Составить программу с использованием записей для выполнения указанного ниже задания. Исходные списки в программе описать в виде массивов записей. 1. Дана ведомость абитуриентов, сдавших вступительные экзамены в институт. В каждой строке данной ведомости записана фамилия абитуриента, его постоянное местожительство и полученные им оценки по отдельным 25 дисциплинам (например, физике, математике, литературе). Необходимо определить количество абитуриентов, проживающих в городе Брянске и сдавших экзамены со средним баллом не ниже 4, распечатать их фамилии. 2. В справочной аэропорта хранится расписание вылета самолетов на следующие сутки. Для каждого рейса указаны его номер, пункт назначения, время вылета. Определить все номера рейсов и времена их вылета на Mоскву. 3. У администратора железнодорожных касс хранится информация о свободных местах в поездах по всем направлениям на ближайшую неделю. Данная информация представлена в следующем виде: дата выезда, конечный пункт назначения, время отправления, число свободных купейных мест, число свободных плацкартных мест. Оргкомитет международной конференции обращается к администратору с просьбой зарезервировать 3 купейных места до Берлина на субботу. При этом время отправления поезда должно быть не позднее 10 часов вечера. Выдать на печать время отправления или сообщение о невозможности выполнить заказ в полном объеме. 4. Дана ведомость абитуриентов, сдавших вступительные экзамены в институт. В каждой строке данной ведомости записана фамилия абитуриента и полученные им отметки по отдельным дисциплинам (например, физике математике, литературе). Необходимо определить средний балл по институту и распечатать список абитуриентов, средний балл которых выше среднего балла по институту. 5. В радиоателье хранятся квитанции о сданной в ремонт радиоаппаратуре. Каждая квитанция содержит следующую информацию: наименование группы изделий (телевизор, радиоприемник и т.п.), марка изделия, дата приемки в ремонт, состояние готовности заказа (выполнен, не выполнен). Необходимо выдать информацию начальнику ателье о состоянии заказов на текущие сутки по группам изделий. 6. Написать программу формирования ведомости об успеваемости студентов. Каждая запись этой ведомости должна содержать номер группы, фамилию студента, средний балл за последнюю сессию. Необходимо распечатать списки студентов по группам. 7. В больнице имеется общий список больных, каждый из которых характеризуется записью: фамилия и инициалы больного, номер палаты, диагноз. Требуется вывести на печать перечень больных по каждой палате и отдельно по каждому диагнозу. Разместить больных по палатам так, чтобы больные с одинаковым диагнозом располагались по возможности вместе. 8. Имеется список сотрудников, в котором записаны: фамилия сотрудника, год рождения, месяц и день рождения. Определить сотрудников, которые родились в год быка (1901 – год быка). Определить, кто из сотрудников родился осенью. 9. Имеется список учета нуждающихся в улучшении жилищных условий. Каждая запись этого списка содержит фамилию, имя, отчество и дату постановки на учет. Известно число квартир, выделяемых по данному списку в течение года. Рассчитать, какое количество лет в среднем необходимо ожидать получения 26 квартиры и вывести весь список с указанием ожидаемого года получения квартиры. 10. В предвыборной кампании проводится регистрация кандидатов в депутаты. Каждый кандидат, подавая заявление на регистрацию, указывает номер округа, в котором он собирается баллотироваться, наименование партии, которую он представляет, свой возраст и профессию. Пресс-служба центральной избирательной комиссии выдает информационный бюллетень, в котором приводит следующую информацию: число поданных заявлений на регистрацию кандидатов каждой политической партии; средний возраст кандидатов от каждой политической партии. 11. В библиотеке имеется список книг. Каждая запись этого списка содержит фамилии авторов, название книги, год издания. Определить, имеются ли в данном списке книги, в названии которых встречается некоторое ключевое слово (например, «Информатика»). Если имеются, то выдать на печать фамилии авторов, название и год издания всех таких книг. Ключевое слово ввести с клавиатуры. 12. Имеется список авиапассажиров, в котором записаны: фамилия пассажира, количество вещей багажа, общий вес багажа, номер рейса. Определить, кто из пассажиров, имеет багаж весом более 35 кг и какими рейсами они летят 13. В магазине имеется список поступивших в продажу автомобилей. Каждая запись этого списка содержит марку автомобиля и его параметры: стоимость, расход бензина на 100 км, надежность (число лет безотказной работы), комфортность (отличная, хорошая, удовлетворительная). Покупатель, в свою очередь, имеет ряд требований по каждому из этих параметров. Эти требования задаются в виде некоторого интервала (например, стоимость10..30 тыс. $; расход бензина-4..10 л на 100 км). Вывести на печать перечень автомобилей, удовлетворяющих требованиям покупателя. Требования покупателя ввести с клавиатуры. 14. В бюро по занятости населения (трудовой бирже) ведется список вакантных рабочих мест на предприятиях города. Каждая запись такого списка содержит следующую информацию: наименование организации, местоположение организации (расстояние в км от центра города), наименование должности, требуемая квалификация (разряд или образование), требуемый стаж работы по специальности, заработная плата в месяц, наличие социального страхования (да или нет), продолжительность ежегодного оплачиваемого отпуска. Клиент бюро вводит информацию о своей квалификации и требованиях (например, максимальная удаленность от центра города). Написать программу, которая бы распечатывала для каждого клиента список рабочих мест в соответствии с его требованиями. 15. В технической службе аэропорта имеется справочник, содержащий записи следующей структуры: тип самолета, год выпуска, расход горючего на 1000 км. Для определения потребности в горючем техническая служба запрашивает расписание полетов. Каждая запись расписания содержит следующую информацию: номер рейса, пункт назначения, дальность полета. Рассчитать 27 суммарное количество горючего, необходимое для обеспечения полетов на следующие сутки и вывести его на печать. Справочники расхода горючего и расписания на следующие сутки хранить в виде массивов записей. 16. Имеется список авиапассажиров, в котором записаны: фамилия пассажира, количество вещей багажа, общий вес багажа, номер рейса. Определить фамилии пассажиров, летящих указанным рейсом и суммарный вес багажа этих пассажиров. 17. Имеется список сотрудников, в котором записаны: фамилия сотрудника, год рождения, месяц и день рождения. Определить самого молодого и самого старого сотрудника. Определить, кто из сотрудников родился зимой. 18. Имеется список сотрудников, в котором записаны: фамилия сотрудника, домашний адрес (отдельно улица, номер дома, номер квартиры) и телефон. Определить фамилии сотрудников, которые являются абонентами указанной телефонной станции и проживают на указанной улице (номер станции и название улицы вводятся с клавиатуры). 19. Имеется список автомашин, в котором записаны: марка автомашины, фамилия владельца, год выпуска, регистрационный номер, отметка о прохождении техосмотра. Определить автомашины и их владельцев, не прошедших техосмотр (учесть, что автомашины старше 10 лет должны проходить техосмотр каждый год, остальные – 1 раз в 2 года). 20. Имеется список студенческой группы, в котором записаны: фамилия студента, результаты экзаменов по математике, физике, информатике и истории. Определить для каждого студента средний балл по экзаменам. Перераспределить список студентов в соответствии с набранными баллами. 28 Лабораторная работа №9 Файлы Задание 9.1 Протабулировать функцию y(x) и функцию g(x) на отрезке [a;b] с шагом h=(b-a)/n. Вычисление y(x) оформить в виде процедуры, вычисление g(x) - в виде функции. Значения a, b, h, g(x) взять из задания 3.3, значения у(х) из задания 2.3. Записать в файлы Y.DAT G.DAT значения y(x) и g(x). Составить программу с использованием данных из файла. 1. Найти средние значения y(x) и g(x). 2. Найти наибольшие значения y(x) и g(x). 3. Найти наименьшие значения y(x) и g(x). 4. Найти все отрицательные значения y(x) и g(x). 5. Определить количество положительных значений y(x) и g(x). 6. Определить количество отрицательных значений y(x) и g(x). 7. Найти разности соответствующих значений y(x) и g(x). 8. Найти суммы соответствующих значений y(x) и g(x). 9. Найти произведения соответствующих значений y(x) и g(x). 10. Найти все значения y(x) больше среднего в таблице g(x). 11. Найти все значения y(x) меньше среднего в таблице g(x). 12. Найти все значения g(x) больше среднего в таблице y(x). 13. Найти все значения g(x) меньше среднего в таблице y(x). 14. Найти количество нулевых значений y(x) и g(x). 15. Найти количество ненулевых значений y(x) и g(x). 16. Найти количество целых значений y(x) и g(x). 17. Найти количество дробных значений y(x) и g(x). 18. Найти средние геометрические положительных значений y(x) и g(x). 19. Найти средние геометрические модулей отрицательных значений y(x) и g(x). 20. Найти все положительные значения y(x) и g(x). Задание 9.2 Занести в текстовый файл данные, согласно заданию 8.2 (5 записей). Выполнить задание 8.2 с использованием данных из файла. 29