
- •1 Курс, 2 семестр
- •230105 Программное обеспечение вычислительной техники и автоматизированных систем
- •График выполнения лабораторных работ
- •Блок-схемы алгоритмов и откорректированные после выполнения тексты функций, реализующих программы.
- •Вводное занятие к лабораторным работам
- •Базовые стандартные типы данных
- •В каждой очерченной части находятся операторы с одинаковым приоритетом
- •Создание нового проекта
- •Добавление к проекту нового файла с исходным текстом
- •Компиляция, компоновка и выполнение проекта
- •Открытие существующего проекта
- •Научитесь общаться с компилятором при появлении ошибок в тексте вашей программы
- •Добавление к проекту существующего файла с исходным текстом
- •Приложение 1
- •Лабораторная работа № 1
- •Тексты индивидуальных задач, выполняемых в лабораторной работе
- •Лабораторная работа № 2
- •Тексты индивидуальных задач, выполняемых в лабораторной работе
- •Лабораторная работа № 3
- •Тексты индивидуальных задач, выполняемых в лабораторной работе
- •Лабораторная работа № 4
- •Тексты индивидуальных задач, выполняемых в лабораторной работе
- •Лабораторная работа № 5
- •Тексты индивидуальных задач, выполняемых в лабораторной работе
- •Лабораторная работа № 6
- •Тексты индивидуальных задач, выполняемых в лабораторной работе
- •Лабораторная работа № 7
- •Тексты индивидуальных задач, выполняемых в лабораторной работе
Лабораторная работа № 3
РЕАЛИЗАЦИЯ ИТЕРАЦИОННЫХ ЦИКЛОВ СРЕДСТВАМИ ЯЗЫКА С++
Цель работы: Составление алгоритмов и написание многомодульных программ с итерационными циклами
Общие указания к заданиям лабораторной работы.
По номеру Вашего варианта выбрать задачу, решаемую в этой лабораторной работе, и выполнить для нее следующие задания.
Алгоритм решения индивидуальной задачи разделить на две функции:
- функцию, которая организует вычисления по формуле, определенной в задаче соответствующего задания.
Алгоритмы этих функций разработайте в трех вариантах:
с использованием цикла do....while;
с использованием цикла while;
с использованием цикла for.
Для каждого варианта составить свою функцию и дать им разные имена. Функции оформить как функции со списком параметров, передаваемых по значению. Результаты вернуть через возвращаемое значение и через параметр по ссылке. Каждую функцию записать в свой файл одного проекта одного решения (solution). Откомпилировать каждый файл отдельно, устранив все ошибки на этом этапе проектирования.
- разработать функцию main(), алгоритм которой обеспечит ввод исходных данных с клавиатуры, вызов функции вычисления и вывод результатов на экран. Алгоритм этой функции должен содержать сообщение–меню, предлагающее пользователю вашей программы сделать выбор для решения Вашей программы одним из трех циклов языка С++. В меню предусмотрите выход из программы по требованию пользователя. В алгоритме main() разработайте организацию выбора нужного решения с помощью переключателя switch. Текст функции main() записать в свой файл и включить в проекта Вашего решения. Откомпилировать функцию в рамках проекта и устранить возможные ошибки компиляции.
- выполнить проект решения, добившись одинаковых результатов для трех вариантов реализации Вашей индивидуальной задачи на таких отладочных данных, которые позволяют судить о правильности ее решения.
Тексты индивидуальных задач, выполняемых в лабораторной работе
Задача 3.01
Даны
действительные числа
.
Последовательность чисел
образована по закону:
Составить
функцию вычисления суммы
,
где к – наименьшее целое число,
удовлетворяющее одному из двух условий:
и количества слагаемых, образующих эту сумму. Для вычисления слагаемого суммы вывести рекуррентную формулу.
В
вызывающей функции main()
организовать
контроль ввода действительных чисел
и
,
а также целого N.
Задача 3.02
Дано
действительное число
.
Последовательность чисел
образована по закону:
Составить
функцию нахождения первого члена
последовательности чисел
для которого выполнено условие
и
его номера.
В функции организовать рекуррентное вычисление факториала.
В вызывающей функции main() организовать контроль ввода числа .
Задача 3.03
Для числа х ( |х|<1) cоставить функцию вычисления суммы:
с
точностью
.
Считать, что требуемая точность
достигнута, если очередное слагаемое
ряда оказалось по модулю меньше чем
.
Найти значение последнего слагаемого,
включенного в сумму и его номер.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.04
Даны
действительные числа
.
Составить функцию вычисления суммы с
точностью
и последнего слагаемого, включенного
в сумму:
Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
Для вычисления слагаемого суммы вывести рекуррентную формулу.
Задача 3.05
Даны действительные числа . Составить функцию вычисления с точностью бесконечной суммы и подсчитать число учтенных слагаемых:
Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
Для вычисления слагаемого суммы вывести рекуррентную формулу.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.06
Даны действительные числа . Составить функцию вычисления суммы с точностью и первого слагаемого, не включенного в сумму:
Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
Для вычисления слагаемого суммы выведите рекуррентную формулу.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.07
Даны
действительные числа
.
Составить функцию вычисления с точностью
следующей
суммы:
Найти значение первого слагаемого, не включенного в сумму и его номер. Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
Для вычисления слагаемого суммы выведите рекуррентную формулу.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.08
Дано действительное число . Последовательность чисел образована по закону:
Составить
функцию нахождения первого члена
последовательности чисел
для которого выполнено условие
и его номер.
В функции организовать рекуррентное вычисление факториала.
В вызывающей функции main() организовать контроль ввода числа .
Задача 3.09
Даны
действительные числа x
и a
Составить функцию вычисления с точностью
следующей
суммы:
Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем . Найти значение последнего слагаемого cуммы и его номер.
Для вычисления слагаемого суммы вывести рекуррентную формулу.
В
вызывающей функции main()
организовать
контроль ввода чисел
и
.
Задача 3.10
Даны
действительные числа
Составить функцию вычисления с точностью
следующей
суммы:
,
где
для слагаемого с номером n
знаменатель
вычисляется по формуле
Найти значение первого слагаемого, не включенного в сумму и его номер. Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
Для вычисления слагаемого суммы выведите рекуррентную формулу.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.11
Даны
действительные числа
.
Последовательность чисел
образована по закону:
Составить функцию вычисления , где к – наименьшее целое число, удовлетворяющее одному из двух условий:
В функции вычислить так же количество слагаемых и значение первого слагаемого, не попавшего в сумму.
В вызывающей функции main() организовать контроль ввода чисел и положительного целого N, большего 1.
Задача 3.12
Даны действительные числа . Составить функцию вычисления суммы с точностью и ее последнего учтенного слагаемого:
Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
Для вычисления слагаемого суммы выведите рекуррентную формулу.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.13
Даны действительные числа . Составить функцию вычисления суммы с точностью и значение ее последнего слагаемого:
Для вычисления слагаемого суммы выведите рекуррентную формулу. Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.14
Даны действительные числа . Последовательность чисел образована по закону:
Составить функцию вычисления суммы слагаемых , где к – наименьшее целое число, удовлетворяющее одному из двух условий:
В функции вычислить так же количество слагаемых и значение последнего слагаемого, попавшего в сумму.
В вызывающей функции main() организовать контроль ввода чисел и и положительного целого N, большего 1.
Задача 3.15
Даны действительные числа . Составить функцию вычисления произведения с точностью и его последнего сомножителя:
Для
вычисления сомножителя произведения
вывести рекуррентную формулу. Считать,
что требуемая точность вычисления
произведения достигнута, если найдено
произведение n
сомножителей
для
которого выполнено условие
.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.16
Даны действительные числа . Составить функцию вычисления суммы с точностью , значение последнего слагаемого, включенного в сумму и его номер:
Для вычисления слагаемого суммы выведите рекуррентную формулу. Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.17
Даны
действительные положительные числа
.
Составить функцию вычисления суммы
с точностью
и определить величину последнего
учтенного слагаемого и его номер.
Считать, что требуемая точность
достигнута, если очередное слагаемое
суммы оказалось по модулю меньше чем
.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.18
Даны
действительные числа
.
Составить функцию вычисления суммы
с точностью
и определить величину первого не
учтенного слагаемого суммы и его номер.
Считать, что требуемая точность
достигнута, если очередное слагаемое
суммы оказалось по модулю меньше чем
.
Факториал в формуле вычисления числителя
слагаемого вычислить рекуррентно.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.19
Для a ( |a|<1) составить функцию, которая вычисляет сумму ряда с заданной точностью . Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем .
Функция в качестве результата должна вернуть вычисленную сумму, количество учтенных слагаемых и первое слагаемое, которое не было включено в сумму.
В
вызывающей функции main()
организовать
контроль ввода чисел
и
.
Задача 3.20
Даны
действительные числа
и нецелое а.
Составить функцию вычисления суммы
с точностью
и определить величину последнего
учтенного слагаемого.
Для вычисления слагаемого суммы вывести рекуррентную формулу. Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
В вызывающей функции main() организовать контроль ввода чисел , и нецелого а.
Задача 3.21
Даны действительные числа . Составить функцию вычисления суммы с точностью и ее последнего слагаемого:
Для вычисления слагаемого суммы вывести рекуррентную формулу. Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.22
Даны действительные числа Составить функцию вычисления с точностью следующей суммы:
Найти значение первого слагаемого, не включенного в сумму и его номер. Считать, что требуемая точность достигнута, если очередное слагаемое суммы оказалось по модулю меньше чем .
Для вычисления слагаемого суммы выведите рекуррентную формулу.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.23
Даны действительные числа . Последовательность чисел образована по закону:
Составить функцию вычисления , где к – наименьшее целое число, удовлетворяющее одному из двух условий:
В функции вычислить так же количество слагаемых и значение последнего слагаемого, включенного в сумму.
В вызывающей функции main() организовать контроль ввода чисел и положительного целого N, большего 1.
Задача 3.24
Для действительного х ( -10< x < 10 ) составить функцию вычисления суммы элементов ряда с точностью . Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем .
Функция возвращает сумму, последний учтенный элемент ряда и его номер. В функции организовать рекуррентное вычисление факториала.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.25
Дано действительное число и положительное целое b<10. Последовательность чисел образована по закону:
Составить
функцию нахождения первого члена
последовательности чисел
для которого выполнено условие
Указать его номер.
В вызывающей функции main() организовать контроль ввода числа и b.
Задача 3.26
Для действительного числа х ( |х|<1) cоставить функцию вычисления суммы элементов ряда:
с точностью . Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем .
Функция возвращает значение суммы, значение последнего слагаемого, включенного в сумму и его номер.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.27
Даны действительные числа . Последовательность чисел образована по закону:
Составить функцию вычисления суммы , где к – наименьшее целое число, удовлетворяющее одному из двух условий:
В качестве результата помимо суммы вернуть количество учтенных слагаемых и первое неучтенное слагаемое.
В функции организовать рекуррентное вычисление факториала.
В вызывающей функции main() организовать контроль ввода чисел и и целого N.
Задача 3.28
Для
действительных чисел
составить функцию вычисления суммы
ряда с точностью
,
значение первого неучтенного слагаемого
и указать количество учтенных слагаемых:
Для вычисления слагаемого суммы вывести рекуррентную формулу. Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем .
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.29
Для действительных чисел составить функцию вычисления суммы ряда с точностью :
Определить значение первого неучтенного слагаемого суммы и количество слагаемых.
Для вычисления слагаемого суммы вывести рекуррентную формулу. Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем .
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.30
Для действительных чисел и целого n составить функцию вычисления суммы ряда с точностью и определить число учтенных слагаемых:
Для вычисления слагаемого суммы вывести рекуррентную формулу. Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем .
В вызывающей функции main() организовать контроль ввода чисел и , а также целого положительного числа n.
Задача 3.31
Для действительных чисел составить функцию вычисления суммы ряда с точностью , последнего слагаемого, включенного в сумму, и его номера :
Для вычисления слагаемого суммы вывести рекуррентную формулу. Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем .
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.32
Для х ( -25 < x < 25) составить функцию, которая вычисляет сумму ряда с заданной точностью . Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем .
Ф
ункция
в качестве результата должна вернуть
вычисленную сумму, количество учтенных
слагаемых и последнее слагаемое, которое
было включено в сумму.
В вызывающей функции main() организовать контроль ввода чисел и .
Задача 3.33
Для действительного а ( - 9 < a < 9) составить функцию вычисления суммы элементов ряда с точностью . Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше чем .
Функция возвращает сумму, первый не учтенный элемент ряда и его номер.
В вызывающей функции main() организовать контроль ввода чисел а и .