- •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.4. Определение переменных программы
Для решения задачи нам понадобятся переменные для представления каждого параметра формул - a, b, c, d, x, y и результатов - t1, t2. Кроме того, придется ввести дополнительную переменную ax для хранения промежуточного результата, необходимого для оптимизации. Тип всех переменных - double.
2.12.2.5. Разработка текста программы
Программа начинается с включения файлов:
#include <stdio.h>
#include <math.h>
в которых находятся описания функций ввода-вывода и математических функций соответственно.
Далее открываем главную функцию:
int main(void)
Включаем описания переменных (см. п. 2.12.2.4):
double x,y;
double a=12.5, b=1.3;
double c=14.1, d=2.7;
double t1, t2;
double ax;
Вводятся значения для переменных x и y:
printf("Введите x, y >");
scanf("%lf %lf",&x,&y);
Далее вычисляется первое промежуточное значение:
ax=a*x;
и первый результат:
t1=(b*log(ax+b)/a+d*log(y*x+d)/y)/c;
Вычисляется второй промежуточный результат:
ax=sqrt((c-b)*(c+b))*tan(ax);
и вычисляется второй окончательный результат:
t2=log((ax+b)/(ax-b))/2/a/b;
Полученные результаты выводятся на экран:
printf("t1 = %lg\n",t1); printf("t2 = %lg\n",t2);
2.12.2.6. Текст программы
Полный текст программы приводится ниже.
/**************************************************/
/* Лабораторная работа № 3 */
/* Задание 2 */
/* Арифметические выражения и функции */
/* Пример решения. Вариант № 30 */
/**************************************************/
#include <stdio.h>
#include <math.h>
# include<conio.h>
int main(void)
{
/* Параметры, которые вводятся */
double x,y;
/* Параметры, которые задаются в программе */
double a=12.5, b=1.3;
double c=14.1, d=2.7;
double t1, t2; /* результаты */
double ax; /* рабочая переменная */
printf("Введите x, y >");
scanf("%lf %lf",&x,&y);
ax=a*x;
t1=(b*log(ax+b)/a+d*log(y*x+d)/y)/c;
ax=sqrt((c-b)*(c+b))*tan(ax);
t2=log((ax+b)/(ax-b))/2/a/b;
printf("t1 = %lg\n",t1);
printf("t2 = %lg\n",t2);
getch();
return 0;
}
2.12.2.7. Отладка программы
При отладке программы можно проверять правильность выполнения каждой операции. Для этого сложные операторы-выражения, разбиваются на последовательность операторов-выражений, в каждом из которых выполняется только одна операция. Результат каждой такой операции выводится на экран или отслеживается в пошаговом режиме.
2.12.2.8. Результаты работы программы
При работе программы на экран было выдано следующее:
Введите x, y >25.6 78.4
t1 = 0.0611532
t2 = -0.0121835
2.12.3. Задание по битовым операциям языка С++
2.12.3.1. Формулировка задания
Составить две программы, первая из которых вводит составные части структуры данных, приведенной в Вашем варианте индивидуального задания, и формирует из них заданную упакованную структуру. Вторая программа вводит упакованную структуру как 16-ричное число и выводит значения отдельных ее составных частей.
2.12.3.2. Варианты задания