Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб.раб по С.doc
Скачиваний:
14
Добавлен:
04.11.2018
Размер:
307.71 Кб
Скачать

Лабораторная работа 4 использование математических функций из math.H для вычислений

ЦЕЛЬ РАБОТЫ: Изучить работу со встроенными библиотечными функциями из MATH.H.

1. Порядок выполнения работы

Зайти в директорию BC31\BIN. Запустить bc.

1.1. Ввести и выполнить пpогpамму 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;

}

2. Содержание отчета

1. Результаты pаботы пpогpаммы 1 до и после указанных изменений.(только последняя строка).

2. Результаты pаботы пpогpаммы из Help.

3. Последовательность действий при копировании примера из Help.

3. Индивидуальное задание

1. Составить программу, для которой вводится число, а выдается его модуль. (abs(),labs())

2. Составить программу, для которой вводятся границы и шаг изменения аргумента функции косинуса, а выводится таблица значений аргумента и соответствующих им значений функции. Выяснить ограничения функции и аргумента. (cos())

3. То же, что и 2, но для синуса.(sin())

4. То же, что и 2, но для тангенса.(tan())

5. Преобразовать вводимую строку символов в коде ASCII в число. (atoi(),atof())

6. Вводятся числа X и Y. Рассчитать X * exp(Y).

7. То же, что и 2, но для логарифма.(log(),log10())

8. Для прямоугольного треугольника даны катет и гипотенуза. Рассчитать второй катет.(sqrt())

9. Составить программу для округления введенного числа как вверх, так и вниз.(floor(),ceil())

10. Разделить вводимое число на целую и дробную части.(modf())

11. Вычислить значения функции y = 4x^3 - 2x^2 + 5 для значений х, изменяющихся от -3 до 1, с шагом 0.1. (pow())

12. Вычислить значения функции y = 4x^3 - 2x^2 + 5 для значений х, изменяющихся от -3 до 1, с шагом 0.1. (poly())

13. Вычислить длинное целое число из вводимых с клавиатуры цифр и вывести его на экран. (pow10())

4. Вопросы по лабораторной работе

1. Как выполняется оператор while(...)?

2. Как выполняется оператор do ... while(...)?

3. Описать работу программу 1.

4. Директива препроцессора #define.

5. Как скопировать пример из Help?(Приложение 5).

6. Как подключить библиотеку математических функций?

ПРИЛОЖЕHИЕ

1. Оператор while(<логическое выражение>){<операторы>} выполняется так: вычисляется <логическое выражение>.Если оно истинно, то выполняются <операторы> и управление передается на начало цикла while. Если оно ложно, то происходит выход из цикла.

2. Оператор do {<операторы>} while(<логическое выражение>) выполняется так: выполняются <операторы>, затем вычисляется <логическое выражение>. Если оно истинно, то управление передается на начало цикла do. Если оно ложно, то происходит выход из цикла.

Как для оператора while, так и для do while если в качестве <операторов> есть только один оператор то фигурные скобки {} можно не ставить.

3. Директива препроцессора #define <идентификатор> <макроподстановка> работает так: вместо <идентификатора> во всей программе подставляется <макроподстановка>. Пример:

#define PI 3.1415926

Теперь в программе вместо цифр 3.1415926 можно писать PI.

4. Функции, определенные в головном файле 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]