
- •Лекция 1. Понятие алгоритма. Свойства алгоритма
- •Лекция 2. Способы описания алгоритмов
- •Лекция 3. Типовые алгоритмы программ
- •Лекция 4. Принципы разработки схем алгоритмов программ
- •Лекция 5. Эволюция языков программирования Классификация языков программирования. Понятие системы программирования.
- •Лекция 6.
- •Структура программы. Назначение функции main. Объявление функции main. Назначение заголовочных файлов
- •Лекция 7. Переменные и данные. Основные типы данных. Объявление переменных. Инструкции присваивания
- •Лекция 8. Функции ввода-вывода Форматированный вывод на экран
- •Лекция 9. Стандартные математические функции
- •Лекция 10. Алгоритм и программы линейной структуры
- •Лекция 11.
- •Лекция 12. Ветвления
- •If (выражение) оператор;
- •Лекция 13. Оператор выбора (переключатель).
- •Циклы Лекция 14.
- •Лекция 15.
- •Массивы Лекция 16.
- •Лекция 17. Сортировка массивов.
- •Лекция 18. Многомерные массив.
- •Лекция 19. Указатели и ссылки.
- •Лекция 20. Указатели и массивы.
- •Лекция 21. Символы и символьные строки
- •Лекция 22. Графика
- •Лекция 23. Использование функций графических примитивов, работы с текстом в графическом режиме.
- •Функции Лекция 24.
- •Лекция 25. Прототип функции.
- •Лекция 26. Передача значений через глобальные переменные.
- •Лекция 29. Объединение.
- •Лекция 30 Файлы
- •Лекция 31. Работа с файлами на диске.
Лекция 9. Стандартные математические функции
Для использования стандартных математических функций требуется подключение заголовочного файла math.h
Обращение |
Тип аргумента |
Тип результата |
Функция |
abs(x) |
int |
int |
Абсолютное значение целого числа |
acos(x) |
Double |
double |
арккосинус (радианы) |
asin(x) |
Double |
double |
арксинус (радианы) |
atan(x) |
Double |
double |
арктангенс (радианы) |
ceil(x) |
Double |
double |
ближайшее целое, не меньшее x |
cos(x) |
Double |
double |
косинус (радианы) |
exp(x) |
Double |
double |
экспонента от x |
fabs(x) |
Double |
double |
абсолютное значение вещественного x |
floor(x) |
Double |
double |
наибольшее целое, не превышающее x |
fmod(x,y) |
Double |
double |
остаток от деления нацело x на y |
log(x) |
Double |
double |
логарифм натуральный |
log10(x) |
Double |
double |
логарифм десятичный |
pow(x,y) |
Double |
double |
x в степени y |
sin(x) |
Double |
double |
синус (радианы) |
sinh(x) |
Double |
double |
гиперболический синус |
sqrt(x) |
Double |
double |
корень квадратный (положительное значение) |
tan(x) |
Double |
double |
тангенс (радианы) |
tanh(x) |
Double |
double |
гиперболический тангенс |
Лекция 10. Алгоритм и программы линейной структуры
Структура программы. Общая структура программы на Си/Си++ следующая:
директивы_препроцессора
определение_функции_1
определение_функции_2
о
пределение_функции_N
Среди функций обязательно присутствует главная функция с именем main. Простейшая программа содержит только главную функцию и имеет следующую структуру:
директивы_препроцессора
void main()
{ определения_объектов; исполняемые_ операторы;
}
Пока мы будем составлять только простейшие программы такого вида. Рассмотрим все необходимые средства языка для составления линейных вычислительных программ. В качестве опорного примера рассмотрим программу для вычисления площади треугольника по формуле Герона.
Пример 1. Дано: а, b, с— стороны треугольника. Вычислить S— площадь треугольника. По формуле Герона:
где р - полупериметр треугольника
#include <stdio.h>
#include <math.h>
void main ()
{float a,b,c,p,s;
printf("\na="); scanf("%f",&a);
printf("\nb=");scanf("%f",&b);
printf("\nc="); scanf("%f",&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("\nПлощадь тpeyгoльникa=%f",s); }
Разберемся более подробно, чем это делалось раньше, во всех элементах данной программы. Как уже было сказано, программа состоит из одной главной функции со стандартным именем main. Слово void обозначает отсутствие какого-либо возвращаемого этой функцией результата, а пустые скобки — отсутствие у нее аргументов. Все, что следует после заголовка функции и заключено в фигурные скобки, можно назвать телом функции. Первая строка — объявление используемых переменных. Все они плавающего типа double. Обратите внимание на то, что объявление переменных заканчивается точкой с запятой.
Дальнейшая часть программы — исполняемые операторы. Среди них операторы вывода на экран, ввода данных с клавиатуры, операторы присваивания.
Понятие «оператор» в Си трактуется следующим образом: любое выражение, после которого стоит точка с запятой, воспринимается компилятором как отдельный оператор. Оператор определяет законченное действие на очередном шаге выполнения программы.
С точки зрения данного выше определения следующая конструкция в программе является оператором:
i++;
Его называют оператором-выражением. Если вычисление выражения заканчивается присваиванием, то его можно назвать оператором присваивания. В рассматриваемой программе присутствуют два оператора присваивания: вычисления полупериметра (р) и вычисления площади треугольника (S).