Информатика и технология программирования

         

Что делает программа


Теперь мы может разобрать, что же делается в каждой строке программы.


//------------------------------------------------------bk21-01.cpp


&#35include &#60stdio.h&#62
// В текст программы включается заголовочный файл


// стандартной библиотека ввода-вывода, в котором


// содержится необходимая транслятору информация о


// функциях.


double min(double A[], int nn)
// Заголовок функции min, возвращающей в качестве


// результата вещественное число - значение мини-


// мального элемента массива. Формальные параметры-


// указатель на массив А, и размерность массива - nn.


{
double A_min;
int i;
// Локальные переменные функции, текущее минимальное


// значение элемента A_min и индекс в массиве i.


for (i=1, A_min=A[0]; i&#60nn; i++)
// Цикл выполняется для всех значений переменной i




// от 1 до nn-1 включительно. При этом начальное


// значение А_min устанавливается равным элементу


// массива A с индексом 0.


if (A[i] &#60 A_min) A_min=A[i];
// В каждом шаге цикла производится сравнение теку-


// щего элемента массива A[i] и A_min. Если текущий


// элемент меньше, то его значение становится новым


// минимумом.


return (A_min);
}
// Значение A_min возвращается в качестве результата


// функции и выполнение тела функции завершается.


double B[10]={ 3.,6.,-5.,4.,12.,3.3,0.45,5.,4.,8.};
// Массив из 10 вещественных чисел, инициали-


// зированный списком начальных значений, которые


// будут установлены в нем в момент запуска про-


// граммы. Массив является глобальной переменной,


// то есть доступен для любой, следующей за ним


// функции (в данном случае main).


double C[20];
// Глобальный массив из 20 вещественных чисел.


// Начальных значений не имеет.


void main()
{
// Основная функция main, вызывается при запуске


// программы.


int i,n1;
double dd;
// Локальные переменные функции. i - теекущий индекс


// элемента массива. n1 - количество заполненных


// элементов в массиве C[]. dd - сохраняет


// результат, возвращаемый функцией min при вызове.



do
// Оператор цикла с проверкой условия продолжения

// после очередного шага цикла.

{
// Тело цикла - составной оператор,

// последовательность из двух простых операторов

cout &#60&#60 "Элементов массива:";
// Выражение содержит операцию вывода в объект - поток.

// Ограниченное символом ";", превращается в простой

// оператор. Выводит на экран текст подсказки.

cin &#62&#62 n1;
// Вводит с клавиатуры значение целой переменной n1.

} while (n1 &#60 1 || n1 &#62 20);
// Цикл продолжается, пока введенное значение n1 не

// попадет в интервал 1..20. Условие продолжения -

// не попадает в интервал, то есть меньше 1 или

// больше 20.

for (i=0; i&#60n1; i++)
// Цикл повторяется для всех значений i, начиная от 0

// и заканчивая nn-1 включительно

{
// Тело цикла - составной оператор

cout &#60&#60 "C[" &#60&#60 i &#60&#60 "]=";
// Вывод подсказки - строка "C[...]", в угловых

// скобках значение переменной i - индекс текущего

// элемента массива.

cin &#62&#62 C[i];
// Ввод значения i-го элемента массива в формате

// вещественного числа

}
dd = min(C,n1);
// Вызов функции min для массива C[] и количества

// заполненых элементов в нем - n1. Результат

// функции присваивается переменной dd.

cout &#60&#60 "Минимум С[]=" &#60&#60 dd &#60&#60 endl;
// Вывод строки "Минимум C[i]=..." со значением пере-

// менной dd в формате вещественного числа.

// После вывода строки производится перевод курсора

// на экране к началу следующей (символ \n в

// форматной строке).

cout &#60&#60 "Минимум B[]=" &#60&#60 min(B,10)) endl;
// Вывод строки в подобном формате для массива B[].

// Вместо промежуточной переменной непосредственно

// следует вызов функции min для массива B[] раз-

// мерностью 10 элементов (фактические параметры).

}
Надеемся, что теперь всем станет ясно, сколько нужно комментариев в программе, чтобы смысл ее был вполне понятен.

Содержание раздела