Программа должна после запуска на исполнение выводить информацию об авторе, назначении программы (приводится лабораторное задание полностью), перед запросом ввода данных с клавиатуры обязательно должно быть сообщение о типе и количестве вводимых данных
Вид материала | Программа |
- Задание для вариантов 1-11, 100.34kb.
- 11. 09. 2008 Практическая работа №1 ms access. Основные приемы работы с данным Задание, 795.97kb.
- Инструкция по эксплуатации и меры предосторожности, 148.38kb.
- Инструкция по эксплуатации и меры предосторожности, 251.98kb.
- Инструкция по эксплуатации и меры предосторожности, 277.51kb.
- Инструкция по эксплуатации и меры предосторожности, 825.93kb.
- Разработка реляционной структуры данных, 255.43kb.
- Р. С. Енгалычев Научный руководитель А. А. Малюк, к т. н., профессор, 26.91kb.
- Любая программа для обработки данных должна выполнять три основных функции: ввод новых, 298.05kb.
- Базы данных, 55.38kb.
ЯЗЫК СИ
Тема №1. Функции стандартного ввода–вывода, вычисление математических функций.
Задание: составить программу для проведения математических вычислений по индивидуальным вариантам заданий, которые представлены далее по тексту; все исходные данные, необходимые для вычислений, вводить с клавиатуры.
Программа должна после запуска на исполнение выводить информацию об авторе, назначении программы (приводится лабораторное задание полностью), перед запросом ввода данных с клавиатуры обязательно должно быть сообщение о типе и количестве вводимых данных.
Краткая теоретическая справка и рекомендации по выполнению
Кроме выполнения вычислений заданием предусмотрено изучение наиболее распространенных математических функций, даже если они не используются при выполнении задания.
Для каждой функции обратите внимание на тип обрабатываемых данных, например, результатом функции abs(–3.7) будет число 3.0, а не 3.7 как ожидалось, т.к. функция abs может работать только с целыми числами.
Перечень математических функций для изучения (в тригонометрических функциях углы измеряются в радианах):
abs (fabs) – абсолютная величина целого числа (числа с плавающей точкой),
acos – вычисление арккосинуса,
asin – вычисление арксинуса,
atan – вычисление арктангенса,
atan2 – вычисление арктангенса (вычисляет угол по значению катетов),
atof – преобразует строку в число с плавающей точкой,
cabs – вычисляет абсолютную величину комплексного числа,
ceil – округление до ближайшего целого в большую сторону,
cos – косинус,
cosh – гиперболический косинус,
exp – экспонента,
floor – округление до ближайшего целого в меньшую сторону,
fmod – остаток целочисленного деления двух чисел,
frexp – вычисляет значение мантиссы m и показателя степени n для преобразования числа с плавающей точкой к виду ,
hypot – вычисляет значение гипотенузы по значениям катетов,
ldexp – по значению мантиссы m и показателя степени n вычисляет число с плавающей точкой по формуле ,
log – вычисляет натуральный логарифм числа,
log10 – вычисляет десятичный логарифм числа,
modf – разбивает число с плавающей точкой на целую и дробную части,
poly – вычисляет полином вида ,
pow – вычисляет число в степени,
pow10 – вычисление числа 10 в степень,
sin – вычисление синуса угла,
sinh – вычисление гиперболического синуса,
sqrt – вычисление квадратного корня,
tan – вычисление тангенса угла,
tanh - вычисление гиперболического тангенса угла.
Пример выполнения задания по теме № 1
/* Блок директив препроцессору */
#include
#include
#define g 9.81
/* Объявление глобальной переменной */
float H;
/* Блок главной функции программы */
int main()
{
/* Объявление локальной переменной */
float V;
printf("\nЛабораторная работа N1 вариант N12");
printf("\n\nВыполнила студентка гр.Пд-11 Петрова Н.В.");
printf("\nВертикально вверх бросают камень со скоростью V.");
printf("\nОпределите максимальную высоту подъема камня.");
printf("\nВведите начальную скорость в м/c (от 0 до 100) V=");
scanf("%f",&V);
H=pow(V,2);
H=H/(2*g);
printf("\nМаксимальная высота подъема камня H=%5.2f м",H);
return 0;
}
Обратите внимание на то, что программа состоит из нескольких блоков, первый из которых включение (include) заголовочных файлов для обращения к библиотекам языка Си. В отличие от языка Паскаль ни одна библиотечная функция языка Си не может быть использована без указания места расположения ее прототипа. Кроме того, не забудьте, что язык Си различает регистр написания букв. Поэтому компилятор примет написание имени функции printf, но укажет, что printf – это неизвестный идентификатор.
Найдите описание функций, которые относятся к используемым в программе библиотекам: математической (math), библиотеке стандартного ввода-вывода (stdio). Более пристального внимания требуют функции форматного ввода-вывода (scanf и printf), особенно вопросы задания формата вводимых и выводимых данных, так как в Паскале выбор формата выводимых данных определял компилятор по типу переменной, а здесь выбор (как и многое другое) определяет программист. Не забудьте, что функция scanf требует адреса переменной.
Блок объявления главной функции, операторные скобки и локальные переменные требуют несколько более пристального внимания (опять из-за привычки к синтаксису языка Паскаль). Здесь чаще всего встречаются следующие ошибки:
- лишняя точка с запятой после объявления функции main(),
- объявление локальной переменной до фигурной скобки,
- забыты круглые скобки после идентификатора функции при ее объявлении или вызове на исполнение (напомним, что скобки обязательны, даже если функция не содержит параметров).
Контрольные вопросы по теме № 1
1. Что может быть в качестве параметров в функциях scanf, printf (по типам данных, но без файлового ввода/вывода)?
2. В чем отличие scanf и cscanf, printf и cprintf?
3. Как задать формат вывода чисел в функции printf?
4. Дайте общую характеристику библиотечных математических функций.
5. Как запустить программу на исполнение?
6. Как откомпилировать программу?
7. Где находится результат компиляции программы?
8. Как загрузить и сохранить текст программы?
9. Что означает директива препроцессору #include?