
- •Лабораторная работа 1
- •Порядок проведения работы
- •Работа с файлами.
- •- В меню File выбрать опцию Save As, ввести имя файла для сохранения. (использовать расширение .Cpp)
- •- Выделить в меню Run опцию Run.
- •Работа с help.
- •2 Содержание отчета
- •3 Индивидуальные задания
- •4 Вопросы к лабораторной работе
- •Breakpoints - показать
- •Лабораторная работа 2 структура программы на языке си программа ввода-вывода
- •1 Порядок проведения работы
- •2 Содержание отчета
- •3. Индивидуальные задания
- •4. Вопросы к лабораторной работе
- •Лабораторная работа 3
- •1. Порядок выполнения работы
- •2. Содержание отчета
- •3. Индивидуальное задание
- •4. Вопросы к лабораторной работе
- •Лабораторная работа 4 использование математических функций из math.H для вычислений
- •1. Порядок выполнения работы
- •2. Содержание отчета
- •3. Индивидуальное задание
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 5 организация структуры программы. Операторы управления вычислительным процессом
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание отчета
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 6 классы памяти
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание отчета
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 7 указатели и массивы
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание отчета
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 8 структуры
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание заданий
- •4. Содержание отчета
- •5. Вопросы по лабораторной работе
- •Лабораторная работа 9 работа с файлами
- •1. Порядок выполнения работы
- •2. Индивидуальные задания
- •3. Содержание отчета
- •4. Вопросы по лабораторной работе
- •Лабораторная работа 10 динамические структуры данных
- •1. Индивидуальные задания
- •2. Содержание отчета
- •3. Вопросы по лабораторной работе
- •Приложение
- •Однонаправленные связные списки
- •Двунаправленные связные списки
- •Список рекомендуемой литературы
- •Содержание
Лабораторная работа 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.