ЛАБОРАТОРНАЯ РАБОТА №4 ОПЕРАТОРЫ ВЕТВЛЕНИЯ И МНОЖЕСТВЕННОГО ВЫБОРА ИСПОЛЬЗОВАНИЕ МАТЕМАТИЧЕСКИХ ФУНКЦИЙ ИЗ MATH.H ДЛЯ ВЫЧИСЛЕНИЙ
ЦЕЛЬ РАБОТЫ: Изучение операторов ветвления if, if…else, if…else if…else… Работа со встроенными библиотечными функциями из MATH.H.
- Порядок выполнения работы
Зайти в директорию BC31\BIN. Запустить bc.
1.1. Ввести и выполнить программу 1. Записать в отчет последнюю строку, выдаваемую программой.
— изменить программу 1 так: вместо while(…) {…}
подставить:
while(total += current *= 2.0, count++ < KLET)
printf(«%4d %15.2e %13.2e %13.2e\n»,count,current,total,total/UR);
— изменить программу 1 так: вместо printf(…);
while(…) {…} подставить:
do
printf(«%4d %15.2e %13.2e %13.2e\n»,count,current,total,total/UR);
while(total += current *= 2.0, count++ < KLET);
Объяснить разницу между работой всех трех вариантов.
1.2. Скопировать из Help пример для функции sin и выполнить его для значений х = 0.5, 2.0, -0.75.
/* Текст программы 1.*/
/* Расчет количества зерен пшеницы */
#include <stdio.h>
#define KLET 64
#define UR 7E14
int main(void)
{
int count=1;
double current,total;
total=current=1.0;
printf(«\nНомер Число зерен Сумма зерен Доля от годо-\n»);
printf(» клетки вого урожая \n»);
printf(«%4d %15.2e %13.2e %13.2e\n»,count,current,total,total/UR);
while (count<KLET)
{
count++;
current=2.0*current;
total=total+current;
printf(«%4d %15.2e %13.2e %13.2e\n»,count,current,total,total/UR);
}
return 0;
}
- Содержание отчета
- Результаты работы программы 1 до и после указанных изменений. (только последняя строка).
- Результаты работы программы из Help.
- Последовательность действий при копировании примера из Help.
- Индивидуальное задание.
- Вопросы по лабораторной работе
- Описать работу программу 1.
- Директива препроцессора #define.
- Как скопировать пример из Help?(Приложение 5).
- Как подключить библиотеку математических функций?
- Оператор ветвления if и его модификации.
6.Как выполняется оператор while(…)?
- Как выполняется оператор do … while(…)?
ПРИЛОЖЕHИЕ.
- Оператор while(<логическое выражение>){<операторы>} выполняется так: вычисляется <логическое выражение>.Если оно истинно, то выполняются <операторы> и управление передается на начало цикла while. Если оно ложно, то происходит выход из цикла.
- Оператор do {<операторы>} while(<логическое выражение>) выполняется так: выполняются <операторы>, затем вычисляется <логическое выражение>.Если оно истинно,то управление передается на начало цикла do. Если оно ложно, то происходит выход из цикла. Как для оператора while, так и для do while если в качестве <операторов> есть только один оператор то фигурные скобки {} можно не ставить.
- Директива препроцессора #define <идентификатор> <макроподстановка> работает так: вместо <идентификатора> во всей программе подставляется <макроподстановка>. Пример: #define PI 3.1415926 Теперь в программе вместо цифр 3.1415926 можно писать PI 3.14. Функции, определенные в головном файле math.h:
abs acos asin atan atan2 atof cabs
ceil cos cosh exp fabs floor fmod
frexp hypot labs ldexp log log10 matherr
modf poly pow pow10 sin sinh sqrt
tan tanh
5.Для использования примера из Help в качестве программы необходимо
5.1 В одном из окон иметь часть файла Help с необходимым примером;
5.2 В меню EDIT выполнить COPY EXAMPLE. Необходимый текст примера окажется в окне CLIPBOARD. Для проверки последней операции выполнить в меню EDIT режим Show clipboard.
5.3 Перейти (F6) в то окно, куда необходимо переслать пример из Help.
5.4 Для пересылки примера из окна CLIPBOARD в необходимое окно использовать в меню EDIT режим Paste.
