- •Список практических заданий к зачету по программе 1 семестра дисциплины «Методы и технологии программирования»
- •Тема 1: Основные управляющие структуры данных.
- •Тема 2: Основные управляющие структуры данных.
- •Тема 3: Основные управляющие структуры данных.
- •Тема 4: Основные управляющие структуры данных.
- •Тема 5: Рекуррентные вычисления.
- •Тема 6: Процедуры и функции.
- •Тема 7: Последовательности символов.
- •Тема 8: Массивы.
- •Тема 9: Массивы.
- •Тема 10: Массивы.
- •Тема 11: Файлы.
Тема 6: Процедуры и функции.
Задание: Составить алгоритм для решения поставленной задачи. Алгоритм должен быть записан в виде блок-схемы и программы на языке C.
№ п/п |
Задание |
1 |
Составить программу вычисления площади четырехугольника по координатам вершин, в которой используется функция вычисления расстояния между точками и функция вычисления площади треугольника по формуле Герона. |
2 |
Составить программу определения дисперсии выборки из 15 чисел. Использовать для этого подпрограмму вычисления математического ожидания произвольной выборки , , где – выборка значений, М – математическое ожидание, D – дисперсия. |
3 |
Три точки на плоскости заданы своими координатами (x1,y1), (x2,y2), (x3,y3). Вывести на печать координаты этих точек в порядке возрастания угла между осью абсцисс и лучом, соединяющим начало координат с точкой. Вычисление угла оформить в виде функции. |
4 |
Написать процедуру сжатия строки символов: каждая подпоследовательность, состоящая из нескольких вхождений одного и того же символа, заменяется на текст x(k), где x – символ, k – строка, являющаяся записью числа вхождений символа x в исходную последовательность. |
5 |
Описать процедуру, определяющую, является ли число n представимым в виде суммы кубов двух натуральных чисел x и y (x>=y). |
6 |
Определить процедуру, проверяющую, является ли искомое число совершенным (число называется совершенным, если оно равно сумме всех своих делителей, за исключением себя самого. Число 6 – совершенное, т.к. 6=1+2+3. Число 8 – несовершенное, т.к. 81+2+4). |
7 |
Определить процедуру для нахождения простого числа. Использовать ее для нахождения всех простых делителей заданного числа. |
8 |
Написать логическую функцию, которая определяет, является ли заданное натуральное число палиндромом, десятичная запись которого читается одинаково слева направо и справа налево. |
9 |
Написать программу, печатающую разложение на простые множители некоторого заданного натурального числа n>0. Использовать функцию для нахождения простого числа. |
10 |
Напечатать в порядке возрастания корни уравнений , 3ex+x=0, x ln(1+x)=0.5. Определить процедуру нахождения корней уравнения. |
11 |
Дано четное число n>2. Проверить для этого числа гипотезу Гольбаха. Эта гипотеза состоит в том, что каждое число n (четное), большее двух, может быть представлено в виде суммы двух простых чисел. Определить процедуру, позволяющую распознавать простые числа. |
12 |
Описать логическую функцию перестановка(x,y), проверяющую, можно ли переставив литеры слова x, получить слово y. |
13 |
Дано натуральное число n. Выяснить, имеются ли среди чисел n, n+1,…, 2n близнецы, т.е. простые числа, разность между которыми равна двум. Определить процедуру, позволяющую распознавать простые числа. |
14 |
Найти все простые числа, не превосходящие заданного n>0. Использовать процедуру нахождения простого числа. |
15 |
Найти все простые числа, находящиеся в интервале от 100 до 300. Использовать процедуру распознавания простого числа. |
16 |
Переменной t присвоить значение true, если уравнения x2+b*2x+a2=0 и x2+ax+b–1=0 имеют вещественные корни и при этом оба корня первого уравнения лежат между корнями второго, и присвоить значение false в противном случае. |
17 |
Написать программу поиска среди целых чисел n, n+1,…, 2n таких, которые являются суммой двух квадратов. Включить в программу функцию squ такую, что . |
18 |
Составить функции для вычисления значений y=x3-x2+x-0.4 и и программу для вычисления значения функции для всех значений x1,…,x10, где x1=-0.6, xi=xi-1+0.37, . |
19 |
Даны числа a,b, обозначающие числитель и знаменатель некоторой дроби. Описать процедуру приведения дроби к несокращенному виду. |
20 |
Дано вещественное число x. Вычислить sh x * tg(x+1)-tg2(2+sh(x-1)). В программе описать функцию sh(x) (гиперболический синус). |
21 |
Даны три натуральных числа. Определить их НОД. В программе использовать подпрограмму нахождения НОД двух чисел. |
22 |
Даны отрезки a,b,c,d. Для каждой тройки этих отрезков, из которых можно построить треугольник, напечатать площадь данного треугольника. Определить процедуру печати площади треугольника со сторонами x,y,z, если такой треугольник существует. |
23 |
Даны a,b,c – длины сторон некоторого треугольника. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника. Использовать рпоцедуру нахождения длины медианы, проведенной к стороне a. |
24 |
Даны координаты вершин двух треугольников. Определить, какой из них имеет большую площадь. Использовать процедуру нахождения площади треугольника. |
25 |
Два прямоугольника заданы координатами своих вершин. Определить, лежит ли какой-нибудь из прямоугольников целиком внутри другого. |
26 |
Два треугольника заданы координатами своих вершин. Выяснить, лежит ли какой-нибудь из треугольников целиком внутри другого. |
27 |
Дана последовательность символов. Определить количество русских гласных букв в этой последовательности. Написать функцию для определения, является ли символ гласной буквой русского алфавита. |
28 |
Дана последовательность символов. Определить количество русских согласных букв в этой последовательности. Написать функцию для определения, является ли символ согласной буквой русского алфавита. |
29 |
Дана последовательность символов. Определить количество цифр в этой последовательности. Написать функцию для определения, является ли символ цифрой. |
30 |
Дана последовательность символов. Определить количество специальных символов (скобок, знаков препинания и т.д.) в этой последовательности. Написать функцию для определения, является ли данный символ специальным символом алфавита. |
31 |
Дана последовательность символов. Определить количество букв латинского алфавита в этой последовательности. Написать функцию для определения, является ли символ буквой латинского алфавита. |