Алгоритмизация и программирование Си
Лабораторнаяработа№3
Программирование циклов
Работа состоит из 4 заданий. Номер варианта индивидуального задания – номер по списку в журнале группы. Если количество заданий К меньше вашего номера в списке, отнимаем от номера целое число раз К.
Оформить отчет о выполнении и результатах работы. В отчете привести индивидуальное задание, описание алгоритма в удобной форме, программный код, результаты тестовых расчетов.
Задания (оценивание):
Задание 1 (1 балл) Выполните свой вариант индивидуального задания (Приложение 1).
Задание 2 (1 балл) Выполните свой вариант индивидуального задания (Приложение 2).
Задание 3 (1 балл) Выполните свой вариант индивидуального задания (Приложение 3).
Задание 4 (1 балл). Найти сумму ряда:
|
1 |
|
S |
||
i i 1 |
||
i 1 |
с помощью численного суммирования (приближенно), используя вместо бесконечности некоторое достаточно большое число N. От этого зависеть погрешность вычислений.
Выполнить следующие вычисления:
Используя переменную S_f типа float, напишите программу суммирования в нее ряда.
Добавьте новую переменную S_d типа double и суммируйте тот же ряд с ее помощью (выводить обе суммы в одном операторе вывода). Вычислить разницу между S_d и S_f для N=1 000, N=10 000 и N=50 000. Объяснить полученные результаты.
Проведите вычисления для N=1 000 000. Как изменится сумма ряда по сравнению с меньшими значениями N? Возможно ли в точной арифметике такое изменение для ряда, состоящего из положительных слагаемых? Объясните причину наблюдающегося изменения и предложите способ разрешить проблему.
Измените порядок суммирования ряда на обратный. Сравните результаты работы двух циклов (прямого и обратного порядка суммирования), сделайте выводы.
Примечание. В операторе вывода добавте печать значения выражения: T=(1-1/(N+1)).
Общие требования к работе (учитываются при оценивании):
a.соблюдение «хорошего стиля программирования» ;
b.понятный для пользователя интерфейс;
c.должны быть учтены все возможные значения входных данных;
d.массивы не использовать!
Сроки и Бонусы:
Выдача задания – неделя №7. Сдача работы – неделя №9. Досрочная сдача: +1 балл.
Лабораторная работа№3 |
Страница1 |
|
Алгоритмизация и программирование Си |
|
|
|
Индивидуальное задание 1. |
Приложение 1. |
|
|
|
||
1 |
Дано целое число N (>0). Найти сумму N2 + (N+1)2 + (N+2)2 + … + (2·N)2. |
||
|
|
||
2 |
Дано целое число N (>0) и целое число k (<N). Найти сумму 12/N + 22/N + … + k2/N. |
||
|
|
||
3 |
Дано целое число N (>0). Найти сумму (1+2)2 + (2+3)2 + … + (N+(N+1))2. |
||
|
|
||
4 |
Дано целое число N (>0). Найти сумму 13 + (-2)3 + 33 + (-4)3 + … (N слагаемых). |
||
|
|
|
|
5 |
Дано целое число N (>0) и целое число k (<N). |
|
|
Найти сумму (k)2/N + (2k)2/N + … + ((N-1)*k)2/N. |
|
||
|
|
||
6 |
Дано целое число N (>0). Найти сумму 11 + 22 + … + NN. Для вычисления степени |
||
использовать функцию Power(число, степень); подключить библиотекуMath. |
|||
|
|||
|
|
|
|
7 |
Дано целое число N (>0). Найти сумму Sin(x) + Sin(2x) + … + Sin(Nx). |
|
|
|
|
|
|
8 |
Дано вещественное число X (|X|<1) и целое число N (>0). |
|
|
Найти значение выражения X + X2/2 + X3/3 + … + XN/N. Для вычисления степени |
|||
|
использовать функцию Power(число, степень) (подключить библиотекуMath). |
||
|
|
|
|
9 |
Дано целое число N (>0). Найти сумму N2 + (N-1)2 + (N-2)2 + … + 12. |
|
|
|
|
||
10 |
Дано целое число N (>0). Последовательность вещественных чисел AK определяется |
||
следующим образом: A1 = 1, A2 = 2, AK = (АК-2 +AK−1 + 1)/K, где K = 3,4,… |
|||
|
Вывести элементы A1, A2, …, AN. |
|
|
11 |
Дано целое число N (>1). Последовательность вещественных чисел АK определяется |
||
следующим образом: А1 = 1, А2 = 3, АK = АK−2 /К +АK−1, где K = 3,4,… |
|
||
|
Вывести элементы А1, А2, ..., АN. |
|
|
12 |
Дано целое число N (>1). Последовательность вещественных чисел AK определяется |
||
следующим образом: A1 = 1, A2 = 2, AK = (AK−2 + 2·AK−1)/3, где K = 3,4,… |
|||
|
Вывести элементы A1, A2,…, AN. |
|
|
13 |
Дано целое число N (>2). Последовательность целых чисел AK определяется следующим |
||
образом: A1 = 1, A2 = 2, A3 = 3, AK = AK−1 +AK−2 −2·AK−3, где K = 4,5,... |
|
||
|
Вывести элементы A1, A2, …, AN. |
|
|
14 |
Дано целое число N (>2). Последовательность вещественных чисел AK определяется |
||
следующим образом: A1 = 2, A2 = 4, AK = 2/ AК-2 + 1/AK−1, где K =3,4,… |
|||
|
Вывести элементы A1, A2, …, AN. |
|
|
|
Индивидуальное задание 2. |
Приложение 2 |
|
|
|
||
1 |
Дано целое число N и набор целых чисел: A1, A2, …, AN. Вычислить среднее арифметическое |
||
всех положительных чисел. |
|
||
|
|
||
2 |
Пользователь вводит пары целых чисел - стороны прямоугольников. Вычислить |
||
соответствующие площади прямоугольников. 0 считается окончанием ввода и не участвует в |
|||
|
вычислениях, т.е. если введена пара «число, 0», то эта пара не вычисляется. |
||
3 |
Даны два вещественных числа A и B (A<B). Найти сумму квадратов всех целых чисел от A до |
||
B. |
|
||
|
|
||
|
|
||
4 |
Пользователь вводит целые числа. Вычислить среднее арифметическое тех чисел, в разряде |
||
десятков которых стоит число 4. 0 считать меткой окончания ввода. |
|
||
|
|
||
|
|
||
5 |
Дано 2 целых числа а и b и набор из N точек с координатами (х, у). Вывести количество |
||
точек, попадающих в область х є [а; b], у є [a; b]. |
|
||
|
|
||
|
|
|
Лабораторная работа№3 |
Страница2 |
Алгоритмизация и программирование Си
Пользователь вводит целые числа. Вывести сумму чисел, встречающихся более одного раза и
6при этом идущих подряд. 0 – метка остановки.
Пример: 2 3 3 8 5 4 4 4 -7 1 -1 -1 2 0
16 ( т.е. 3+3+4+4+4+(-1)+(-1) )
Даны положительные числа A и B (A > B). На отрезке длины A размещено максимально
7возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти количество отрезков B, размещенных на отрезке A.
8Дано целое число N (>1) и набор из N целых чисел. Вывести количество элементов в наборе, которые меньше своего правого соседа.
9Дано целое число K и набор ненулевых целых чисел; признак его завершения – число 0. Вывести номер последнего числа в наборе, большего K. Если таких чисел нет, то вывести 0.
Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля.
10Вывести сумму чисел из данного набора, расположенных между первым и последним нулем (если первый и последний нули идут подряд, то вывести 0).
Дано целое число N (>1) и набор из N вещественных чисел. Если данный набор образует
11убывающую последовательность, то вывести 0; в противном случае вывести номер первого числа, нарушающего закономерность.
|
|
Индивидуальное задание 3. |
|
|
|
|
|
|
|
|
|
|
|
|
Приложение 3. |
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
1 |
Вычислить произведение |
1 |
|
3 |
|
|
|
5 |
... с точностью до 10-4. |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
4 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
2 |
Вычислить произведение |
1 3 |
|
|
5 7 |
|
|
9 11 |
... с точностью до 10-4. |
|||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
10 12 |
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 4 |
|
|
|
6 8 |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
3 |
Вычислить произведение |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
2 |
|
|
|
3 |
|
|
4 |
... с точностью до 10-6. |
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 4 2 7 3 10 4 13 |
|
|
|
|
|
|
|
|||||||||||||||||||||||||
4 |
Вывести значение слагаемого, при котором сумма ряда |
2 |
|
4 |
|
6 |
... превысит 1000. |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
5 |
7 |
|
|||
5 |
Дано вещественное число k (0 k 1). Вывести значение слагаемого, при котором сумма |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ряда |
|
k |
|
2k |
|
|
|
3k |
|
4k |
|
|
... превысит 100. |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
5 k |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
2 k |
3 k |
|
4 k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
2 |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
6 |
Вычислить ряд |
1 |
|
|
3 |
|
|
5 |
|
|
|
7 |
|
... с точностью очередного члена ряда до 10-3. |
||||||||||||||||||||||||||||||||||||||||||||
3 |
3 |
3 |
3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
1 |
|
|
4 |
|
|
|
7 |
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
7 |
Вычислить ряд |
2 |
|
|
4 |
|
|
|
|
6 |
|
|
|
|
8 |
|
|
... с точностью очередного члена ряда до 10-4. |
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
72 |
|
|
92 |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
32 |
|
|
|
|
|
52 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
8 |
Дано вещественное число k (0 k 1). Вывести номер слагаемого, при котором сумма ряда |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2 k |
|
|
3 k |
|
|
4 k |
|
|
|
5 k |
|
... |
превысит 1000. |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
k |
2k |
3k |
|
|
4k |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9 |
Вывести номер слагаемого, при котором сумма ряда 13 ( 2)3 33 ( 4)3 ... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
превысит 1000. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лабораторная работа№3 |
Страница3 |