Составить программу циклического вычисления значений функций, определенных из таблицы вариантов заданий. Значения R должны вводиться с клавиатуры. R1 и R2 – вещественные, R3 – комплексное. Предусмотреть вывод подсказок в виде (например):
Q – Vyihod iz programmyi
Vvedite chislo ili Q:
Для вычисления значений функции написать функцию, вычисляющую требуемые по заданию значения. При разработке функции разрешается использовать функции модуля math.h.
Предусмотреть анализ всей введенной информации на ошибки, обработку ошибок реализовать с использованием с использованием обработчиков try… в зависимости от варианта задания. Предусмотреть вывод имени функции, в которой произошла ошибка. Вывод на экран и чтение с клавиатуры организовать при помощи стандартных потоков ввода/вывода/ошибки. Вывести исходные данные и результат в виде (например):
Где rez – результаты вычисления (вещественный).
Варианты задания
Вариант задания рассчитывается по номеру студента в журнале преподавателя.
Цикл For … Next — Новый курс VBA (8)
Вариант | Функция | Обработчики | Вариант | Функция | Обработчики |
Sin(R1)*(pi)/R2-R3 | Потеря разряда Деление на 0 | Tan(R2%R1)/R1+Cmod(R3) | Переполнение Деление на 0 | ||
Sin(R2)/pi*R1+R3 | Потеря разряда Переполнение | Arctan(R1*Sqrt(R2))/R2-Cmod(R3) | Обл.опр.арг. Исчезновение порядка | ||
Tan(R1)/R3+Cmod(R3) | Потеря разряда Прерывание | Sqrt(Sin(R1)+R2)+R3 | Обл.опр.арг. Прерывание | ||
Arctan(R1)*R2+ R3 | Потеря разряда Переполнение | Ln(Cos(R1)-R2)/R2-R3 | Сингулярность Исчезновение порядка | ||
Ln(R1-R2)*R2-R3 | Обл.опр.арг. Исчезновение порядка | Tan(R1)+Pow(R1,R2)+Cmod(R3) | Сингулярность Переполнение | ||
Sqrt(R1)*R2-Cmod(R3) | Обл.опр.арг. Переполнение | Ln(R1)-Exp(R2)+R3 | Обл.опр.арг. Прерывание | ||
Tan(R1)+R2+R3 | Потеря разряда Прерывание | Sin(Pow(R1,R2))/R2-R3 | Переполнение Деление на 0 | ||
Arctan(R1)+R2-R3 | Потеря разряда Исчезновение порядка | Cos(R1)/Pow(R2,R1)-Cmod(R3) | Сингулярность Исчезновение порядка | ||
Sin(R2)/R1+Cmod(R3) | Переполнение Деление на 0 | Mod(R1,R2)/Exp(R1)+R3 | Сверхмалый рез. Исчезновение порядка | ||
Cosh(R1)/R2+R3 | Обл.опр.арг. Точность | Arctan(R1)/(R2)-R3 | Обл.опр.арг. Деление на 0 | ||
Tanh(R1)/R2-R3 | Обл.опр.арг. Исчезновение порядка | Sin(R1*R1)+R1/R2+Cmod(R3) | Переполнение Точность | ||
Arctan(R2)/R1-Cmod(R3) | Переполнение Прерывание | Cos(R1)/arctan(R2/R1)+R3 | Потеря разряда Прерывание | ||
Sin(R2)*Cos(R1)+R3 | Потеря разряда Переполнение | Tan(R1)/(R1+R2)-R3 | Переполнение Деление на 0 | ||
Exp(R1)*Arctan(R2)-R3 | Сверхмалый рез. Переполнение | Arctan(R1)/R1+R2+Cmod(R3) | Переполнение Исчезновение порядка |
Функции в VBA — (Серия VBA 19 — Часть 1: Теоретический базис)
Содержание отчета. Содержание отчета совпадает с указанным в указаниям к лабораторной работе 1.
Литература
Бьярн Страуструп Введение в язык С++.
Язык программирования С++. Руководство программиста.
Турбо С++. Начальное руководство.
Borland C++ Builder. Руководство программиста.
Марченко А.Л. C++. Бархатный путь.
Microsoft Developer Network.
Джеффри Рихтер Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows. (раздел 5)
Источник: mydocx.ru
Составление циклических программ
Цель работы. Ознакомиться со средствами реализации циклических конструкций на языке Паскаль и получить навыки составления программ с использованием операторов цикла.
Задание 1. Вычислить таблицу значений функции одного аргумента.
Постановка задачи 1. Составить алгоритм и программу вычисления таблицы значений функции f(x) для N значении аргумента X, равномерно распределенных на отрезке [А, Б]. Для проверки программы задать N=10; A=0,55; B=1.
Варианты заданий
№ | Функция Y=f(x) |
№ | Значение A | Значение X1 | Значение dX | № | Значение A | Значение X1 | Значение dX |
-2A | A/5 | -A | A/4 | ||||
1.5 | A/4 | 1.5 | -2A | A/5 | |||
-2.5A | A/5 | -2.2A | A/5 | ||||
A/4 | A/2 | ||||||
-2A | A/5 | 3A/10 | |||||
0.8 | -A | A/4 | 0.8 | -4A | 2A/5 | ||
1.5 | -6A | 3A/10 | 1.5 | A/5 | |||
A/4 | -2.2A | A/5 | |||||
0.7 | -10A | A/2 | 1.5 | -2A | A/5 | ||
1.5 | -A | 3A/10 | 0.7 | -2A | A/5 | ||
-5A | 2A/5 | -8A | 2A/5 | ||||
1.2 | -2A | A/4 | 1.2 | -4A | 3A/10 | ||
-6A | 2A/5 | -2A | 3A/10 | ||||
1.5 | -4A | A/5 | 1.5 | -2A | A/5 | ||
4A/5 | -7A | 2A/5 |
Задание 2. Организация итерационных циклов.
Постановка задачи 2. Используя, оператор цикла, найти сумму элементов, указанных в конкретном варианте.
Методические указания
При определении суммы членов ряда следует использовать рекуррентную формулу для получения следующего члена ряда. Например, требуется найти сумму ряда с точностью , общий член которого равен .
Для вычисления числа суммы целесообразно использовать рекуррентные соотношения, то есть выражать последующий член ряда через предыдущий член. Это существенно сокращает объём вычислительной работы.
Для получения рекуррентной формулы вычислим отношение следующего члена ряда к текущему члену:
откуда получаем
При составлении программы будем считать, что точность достигнута, если .
Источник: allrefrs.ru
Работа № 4. Арифметические циклы с индексной переменной
Арифметический цикл с индексной переменной является частным случаем предыдущего вида цикла с той лишь особенностью, что параметром цикла является индекс элементов некоторого массива.
Задание. Разработать блок-схемы и составить программы для вычисления нижеследующих функций:
где аргумент X функции задан рядом значений: Х = Х 1, Х 2. X 10.
Пояснение. Блок-схема решения задачи представлена в двух вариантах на рис.12 и 13. Таблица исходных чисел Xi вводится в память машины в виде массива в блоке №2. Чтобы взять из таблицы какой-либо элемент, необходимо указать его порядковый номер, то есть индекс.
Таким образом, параметром цикла будет являться индекс i элементов массива X, изменяющийся по закону арифметической прогрессии от 1 до 10 с шагом 1, а структура блок-схемы соответствует обычной структуре арифметического цикла (сравни с рис. 7, 8).
2. Дан массив чисел Х = X 1, Х 2 . X i, …, Х 50.
Положительные значения Х переписать в массив ХР, отрицательные – в массив ХО (нули исключить). Вывести количество положительных и отрицательных элементов.
Пояснение. Блок-схема задачи представлена на рис.14, где i, j, k – индексы элементов массивов X, ХР и ХО соответственно. Формирование массивов положительных и отрицательных элементов производится по обычным правилам реализации типовых операций (см. приложение). Текущие количества положительных и отрицательных элементов в процессе выполнения программы соответствуют значениям индексов j и k формируемых массивов. После окончания цикла эти индексы представляют итоговые количества элементов, записанных в массивы.
где X задан массивом из 50 элементов.
Найти среднее арифметическое СА положительных результатов и среднее геометрическое СГ модулей отрицательных результатов (нули исключить).
Пояснение. Блок-схема решения задачи приведена на рис. 15. В цикле рассчитываются сумма S и количество K положительных результатов, произведение P и количество N отрицательных. Собственно СА и СГ определяются после окончания цикла при условии, что итоговые K и N отличны от нуля.
где аргумент X задан рядом значений: X 1, X 2, …, X2 5. Каждый третий результат запомнить в массив, исключив нули. Определить среднее геометрическое модулей ненулевых результатов.
где аргумент X задан рядом значений: X=X 1, X 2, …, X 50. Все результаты запомнить в массив. Найти максимальный результат и минимальный по модулю результат, отличный от нуля, и их порядковые номера.
6. Дан ряд вещественных чисел A1 , A2 , …, A15 , упорядоченных по возрастанию, и вещественное число B. Необходимо:
а) переменной B присвоить ближайшее, большее значение ряда;
б) переменной В присвоить ближайшее значение ряда, то есть округлить число В до ближайшего значения ряда.
7. Дан массив вещественных чисел X1 , X2 , …, X100 . Необходимо:
а) переписать массив в обратном порядке;
б) просуммировать чётные и нечётные элементы массива;
в) исключить максимальный элемент, оставшиеся члены уплотнить;
г) определить среднее значение и среднеквадратичное отклонение для первых N элементов массива в соответствии с формулами
д) каждый элемент массива, исключая первый и сотый, заменить следующим значением (“сглаживание” экспериментальных данных, уменьшающее влияние случайных ошибок)
е) исключить из массива члены, кратные семи, переместив остальные члены так, чтобы не было пропусков;
ж) упорядочить элементы в порядке возрастания.
а) найти скалярное произведение векторов Р = В1 × С1 + … + ВК × СК;
б) рассматривая элементы В как координаты одной точки в К -мерном пространстве, а элементы С – координаты другой точки, найти расстояние Р между ними по следующей формуле
Контрольное задание № 4. Составить циклическую программу вычисления функции Ym=F(Xi), где m =1-5, а аргумент Хi задан в виде массива. Вариант задания берется из табл. 4 в соответствии с номером, указанным преподавателем. Вычисляемые функции и массивы аргументов приведены после таблицы. Обозначения искомых переменных и формируемых массивов представлены в контрольном задании №3.
Таблица 4
№ | Фун-кция | V1 | V2 | W1 | W2 | Задание на выполнение |
Y1 | 0,35 | -0,5 | A0,A1,G2,MAX,R3,R4, | |||
Y2 | 12,5 | 0,15 | -0,5 | G0,A3,A4,MAX1,R1,R2 | ||
Y3 | 2,5 | 0,35 | A0,A1,G1,MIN1,R4,R5 | |||
Y4 | 1,8 | 2,37 | G0,A2,A4,MIN1,R0,R6 | |||
Y5 | -25,3 | A0,A1,G3,MAX,R3,R4 | ||||
Y1 | -0,17 | 1,0 | 0,21 | G0,A2,A3,MAX1,R2,R3 | ||
Y2 | 2,15 | -3,5 | 1,25 | A0,A1,G4,MIN,R5,R6 | ||
Y3 | 0,712 | -0,86 | 3,2 | G0,A1,A2,MIN1,R1,R2 | ||
Y4 | 4,2 | 4,0 | 3,6 | A0,A2,G1,MAX,R5,R0 | ||
Y5 | -30,7 | -0,18 | G0,A1,A3,MAX1,R1,R3 | |||
Y1 | 1,2 | 4,23 | A0,A2,G2,MIN,R6,R5 | |||
Y2 | 2,56 | -1,89 | G0,A1,A4,MIN1,R3,R4 | |||
Y3 | 1,32 | 0,22 | 0,21 | A0,A2,G3,MAX,R0,R6 | ||
Y4 | 1,85 | 2,75 | 2,75 | G0,A4,G4,MAX1,R1,R6 | ||
Y5 | -20,0 | 2,0 | 0,6 | A0,G2,G3,MIN,R1,R2 | ||
Y1 | 0,75 | G0,A3,G1,MIN1,R0,R3 | ||||
Y2 | 1,55 | -0,15 | 0,45 | A0,G1,G4,MAX,R5,R6 | ||
Y3 | -0,27 | 1,2 | 0,2 | G0,A3,G2,MAX1,R1,R2 | ||
Y4 | 1,27 | A0,A2,G4,MIN,R3,R4 | ||||
Y5 | 2,1 | 0,5 | G0,A3,G3,MIN1,R2,R3 | |||
Y1 | -1 | 0,97 | A0,G1,G2,MAX,R5,R6 | |||
Y2 | -3,3 | 0,33 | -1,3 | G0,A3,G4,MAX1,R1,R2 | ||
Y3 | 0,17 | 0,5 | A0,G1,G3,MIN,R0,R5 | |||
Y4 | -6,28 | G0,A4,G2,MIN1,R3,R4 | ||||
Y5 | 1,5 | -1,5 | 91,5 | A0,G2,G3,MAX,R5,R6 | ||
Y1 | 0,36 | 1,6 | -0,65 | G0,A4,G1,MAX1,R1,R2 | ||
Y2 | 0,15 | 0,82 | A0,G2,G4,MIN,R0,R6 | |||
Y3 | -0,32 | 0,256 | -0,7 | G0,A4,G3,MIN1,R1,R2 | ||
Y4 | -4,6 | 5,47 | A0,А1,G4,MAX,R0,R3 | |||
Y5 | 0,7 | -33,5 | G0,A3,G2,MIN,R0,R4 |
Источник: studopedia.su