
- •Технология программирования линейных процессов
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Ключевые слова
- •Константы
- •Целые константы
- •Вещественные константы
- •Текстовые константы
- •Переменные
- •Правила записи и использования оператора
- •Функции. Вызовы функций
- •Арифметические выражения
- •Правила записи и вычисления арифметических выражений
- •Оператор присваивания
- •Правила составления и использования
- •Операторы ввода-вывода
- •Оператор ввода
- •Правила составления и выполнения оператора ввода
- •Оператор вывода на дисплей
- •Правила составления и выполнения оператора вывода
- •Оператор вывода в поток
- •Организация ввода-вывода переменных
- •Ввод переменных
- •Вывод переменных
- •Заголовок программы
- •Тело программы
- •Поэлементная структура простейшей программы
- •Предмашинная подготовка задачи определения площади круга
- •Постановка задачи
- •Создание математической модели задачи
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Заключение
- •Вопросы для контроля
Правила записи и использования оператора
1. За описателем располагается список переменных, типы которых объявляются.
2. Количество идентификаторов в списке не ограничено.
3. Использование нескольких описателей одного типа допускается. При этом желательно, чтобы они располагались компактно (блочно).
Так, при необходимости использования в задаче целочисленных переменных (A2, igr) и вещественных с обычной точностью (s, s1, sum) возможны следующие варианты описания:
-
int A2, igr;
float s, s1, sum;
int A2;
int igr;
float s, s1, sum;
int A2, igr;
float s, s1;
float sum;
int A2, igr;
float s, s1,
sum;
С точки зрения правил выполнения все варианты равноценны. Разработчик программы, в соответствии с реализуемым стилем программирования, выбирает нужный.
Первый (левый) вариант компактен по записи, второй (третий) использует дополнительный оператор int (float), четвёртый содержит оператор со структурированным списком переменных. К использованию можно рекомендовать первый (четвёртый) вариант.
4. Дополнительные типы применяют для описания целых переменных. При этом возможны два варианта описания – полный (с двумя, тремя ключевыми словами) и укороченный (описатель int не указывается).
Примеры описания имеют вид:
-
Полный вариант
Укороченный вариант
long int sh;
short int n, N;
unsigned long int i, j, k;
long sh;
short n, N;
unsigned long i, j, k;
5. Переменные при описании могут определяться (инициализироваться), т. е. получать значения констант.
Примеры различных видов описания:
-
Блочное описание
Описание с инициализацией
int ss, sr, sob1;
int qm, li;
float a, b, pi, summa;
float ax, tok, b48;
char per='\n';
int pic=264, i=0;
double z=2.34E27, pr=-78.3;
float x, y, z=15.2e-3;
В последнем операторе описания с инициализацией переменная z – определена, переменные x, y – не определены.
6. Операторы описания предписывают для указанных в списке переменных резервирование соответствующего числа ячеек памяти. Размер и структура каждой ячейки определяются типом описателя.
7. Описатели переменных располагаются в тексте программы.
-
Внимание! В расчетах могут использоваться только описанные и определённые переменные.
Следовательно, переменные, не определённые при описании, должны получить свои значения при вводе (расчёте).
-
Функции. Вызовы функций
Функция – универсальная базовая конструкция языка, формирующая совокупность вычислений (выполнения действий), планируемых пользователем.
Структура функции:
[тип] имя ([b1, …, bi, …, bn])
{
тело
функции
}
, где имя – идентификатор (название) функции;
тип – описатель типа функции (результата);
b1 bi bn – параметры (аргументы), используемые в вычислениях (действиях) тела функции;
, , – разделители аргументов;
( ) – ограничители параметров;
[ ] – признак необязательности содержимого;
тело – основная часть функции, реализующая требуемые вычисления (действия);
{ } – ограничители тела.
Заголовок – первая строка функции.
Функция может быть пользовательской или системной.
Пользовательская – функция, составленная разработчиком программы для компактного оформления некоторого участка вычислений, желательно, многократного использования.
Системная – функция для выполнения стандартных вычислений (действий), хранящаяся в одной из библиотек языка программирования.
Функция, как самостоятельная основная конструкция используется в виде исключения (см. разд. 3.5.5.2).
Как правило, она является дополнительным, зависимым модулем. Использование функции в этом, стандартном, варианте организуется обращением к ней (вызовом).
Вызов функции – простейшая конструкция, выполняющая общение с функцией – передачу ей значений параметров и получение результатов работы.
Структура вызова функции:
имя( [ a1, …, ai, ... , an] )
где имя – идентификатор функции;
а1 ai an – аргументы, передаваемые в функцию;
, – разделители аргументов;
( ) – ограничители аргументов;
[ ] – признак необязательности содержимого.
В качестве аргументов используются константы, переменные, вызовы функций или их совокупности (арифметические выражения).
В вычислительных процессах часто используются тригонометрические и другие неарифметические (трансцендентные) функции. Программы их вычисления разработаны и включены в библиотеку системных функций языка Си/Си++. Примеры активно применяемых функций представлены в табл.3.6.
Таблица 3.6
Математическая запись |
Вызов функции |
Наименование функции |
ln x |
log(x) |
Натуральный логарифм |
|
log10(а) |
Десятичный логарифм |
e0.5 |
exp(0.5) |
Экспонента |
|
sqrt(y) |
Корень квадратный |
sin x |
sin(х) |
Синус |
cos в |
cos(в) |
Косинус |
tg(x+с) |
tan(x+с) |
Тангенс |
arcsin x |
asin(x) |
Арксинус |
arccos в |
acos(в) |
Арккосинус |
arctg с |
atan(c) |
Арктангенс |
xy |
pow(x,y) |
Возведение в степень |
| x | |
fabs(x) |
Нахождение абсолютного значения х |
Аргументы всех функций табл. 3.6 должны быть двойной точности. Исключение – целый (при необходимости) показатель степени (у) в функции pow(x, y).
-
Внимание!
– использование аргументов других типов не запрещается, но может привести к неверным результатам;
– аргументы тригонометрических функций считаются заданными в радианах.
Результат вычисления указанных функций – вещественная десятичная константа двойной точности.
-
Выражения Си/Си++
Выражения – промежуточные конструкции входного языка. Соответствуют части предложения в разговорном языке.
Выражение – совокупность операндов, соединенных знаками действий (арифметических, логических) и разделенных, в случае необходимости, круглыми скобками.
Операнды – величины (данные), участвующие в операции (константы, переменные, вызовы функций).
Операция – действие (арифметическое или логическое) над данными (операндами).
Взаимодействие операндов и операций с выражением представлено на рис. 3.6.
Рис.
3.6. Схема получения выражения
Выражение – промежуточная конструкция языка программирования, соответствующая сложному слову (части предложения) в разговорном языке.
Выражения делятся на арифметические и логические. Логические выражения рассмотрены в разд. 4.1.1.2.