Добавил:
ФКН Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Семестр 1 / Алгоритмизация Лаба 3 язык С

.pdf
Скачиваний:
108
Добавлен:
05.12.2019
Размер:
279.66 Кб
Скачать

Алгоритмизация и программирование Си

Лабораторнаяработа№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