- •1. Краткие теоретические сведения
- •1.1. Алгоритмизация вычислительного процесса
- •1.2. Арифметические операции
- •1.2.1. Знаки операций
- •1.2.2. Операции
- •1.2.3. Арифметические операции
- •1.2.4.1. Операция присваивания
- •1.2.4.6. Операция sizeof
- •1.3. Порядок (старшинство) выполнения арифметических операций
- •1.4. Круглые скобки позволяют переопределить приоритет
- •{ // Начало главной функции double X, y, z, a, b, c, h; // Объявление переменных
- •1.6. Побитовые логические операции и операции сдвига
- •3.6. Использование операторов сдвига для организации ввода и вывода
- •2. Задание
- •2.12. Задания
- •2.12.1. Задание на алгоритмизацию вычислительных процессов (домашнее)
- •2.12.2.1. Формулировка задания
- •2.12.2.2. Варианты задания Варианты задания приведены в табл. 3.14. Вариант соответствует номеру в журнале группы.
- •2.12.2.3. Разработка алгоритма решения
- •2.12.2.4. Определение переменных программы
- •2.12.2.5. Разработка текста программы
- •2.12.2.6. Текст программы
- •При работе программы на экран было выдано следующее:
- •Варианты задания приведены в табл. 3.15. Вариант соответствует номеру в журнале группы.
- •2.12.3.3. Пример решения задачи для варианта № 30 Решение задачи предполагает создание двух программ: упаковки (см. 2.12.3.3.1) и распаковки (см. 2.12.3.3.2)
- •2.12.3.3.1. Программа упаковки
- •2.12.3.3.1.1. Разработка алгоритма решения
- •2.12.3.3.1.2. Определение переменных программы
- •2.12.3.3.1.3. Разработка текста программы
- •2.12.3.3.1.4. Программа
- •2.12.3.3.1.5. Отладка программы
- •2.12.3.3.1.6. Результаты работы программы
- •2.12.3.3.2. Программа распаковки
- •2.12.3.3.2.1. Разработка алгоритма решения.
- •2.12.3.3.2.4. Текст программы
- •2.12.3.3.2. 5. Отладка программы
- •2.12.3.3.2.6. Результаты работы программы
- •2.12.4. Домашнее задание
- •2.12.4.1. Текст программы
- •2.12.4.2. Результаты работы программы
- •3. Выводы
- •4. Требование к отчету
- •5. Вопросы для самоконтроля
- •Литература
- •Оглавление
- •1. Краткие теоретические сведения 2
- •1.1. Алгоритмизация вычислительного процесса 2
2.12.2.1. Формулировка задания
Составьте программу, которая подсчитывает и выводит значение переменных t1 и t2 по формулам, которые приведены в Вашем варианте индивидуального задания. Определите области допустимых значений параметров формул и задайте произвольные значения из этих областей. Параметры, которые имеют имена: n и m – целые, остальные параметры – с плавающей точкой. Значения параметров с именами x и y должны вводиться с клавиатуры, значения остальных – задаваться как начальные значения при объявлении соответствующих переменных. Допускается (и даже желательно) упростить (разложить) формулы для того, чтобы обеспечить минимизацию объема вычислений.
2.12.2.2. Варианты задания Варианты задания приведены в табл. 3.14. Вариант соответствует номеру в журнале группы.
Таблица 3.14
Варианты задания
Вариант |
Формула 1 |
Формула 2 |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
20 |
|
|
21 |
|
|
22 |
|
|
23 |
|
|
24 |
|
|
25 |
|
|
26 |
|
|
27 |
|
|
28 |
|
|
29 |
|
|
30 |
|
|
2.12.2.3. Разработка алгоритма решения
Основной алгоритм Алгоритм решения задачи - линейный и состоит из:
ввода значений x и y;
вычисления значения t1;
вычисления значения t2;
вывода значений t1 и t2.
Замечание: Блок-схема алгоритма не приводиться, предлагается выполнить ее самостоятельно.
Оптимизация алгоритма
Перед непосредственным программированием алгоритма проанализируем, как в нем можно изменить объем вычислений.
Выражение ax встречается один раз в первой формуле и дважды - во второй. Следовательно, можно один раз произвести умножение a*x, а потом использовать этот результат.
Во второй формуле дважды встречается умножение квадратного корня на тангенс - это вычисление можно так же сделать один раз.
Выражение c2-b2 можно разложить на (c+b)(c-b). До разложения в выражении было две операции умножения (возведение в степень 2) и одна - сложения. После разложения - два сложения и одно умножение, что выгоднее для вычислений.
Ограничения на значения параметров
Аргумент функции, которую вычисляет логарифм, не может быть 0 или меньше. Отсюда вытекают требования к значениям:
a * x + b > 0; y * x + d > 0
Аргумент функции извлечения квадратного корня не может быть меньше 0, отсюда:
c2 - b2 >= 0
В знаменателе выражения не может быть 0, отсюда:
кроме того: