
- •Технология программирования циклических процессов. Арифметические циклы
- •Арифметические циклы с аналитическим заданием аргумента
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма
- •Программирование задачи
- •Операторы цикла
- •Оператор цикла с предусловием
- •Правила записи и выполнения
- •Оператор цикла с постусловием
- •Структура оператора
- •Правила записи и выполнения
- •Оператор пошагового цикла for
- •Структура оператора
- •Правила записи и выполнения
- •Программа по алгоритму цикла с предусловием
- •Программа по алгоритму цикла с постусловием
- •Программа по алгоритму цикла с параметром
- •Арифметические циклы с табличным заданием аргумента
- •Постановка задачи
- •Математическая формулировка
- •Выбор метода решения
- •Составление алгоритма решения
- •Алгоритмизация структурой цикла с предусловием
- •Алгоритмизация структурой цикла с постусловием
- •Алгоритмизация структурой цикла с параметром
- •Программирование задачи
- •Программирование задачи
- •Программа по алгоритму цикла с предусловием
- •Программа по алгоритму цикла с постусловием
- •Программа по алгоритму цикла с параметром
- •Заключение
- •Вопросы для контроля
Программа по алгоритму цикла с параметром
Вариант программы имеет вид:
/*Задача 5.2. Программа пошагового цикла * /
/* Составил студент гр. А033 Трубников П.А */
#include <stdio.h> /* директивы */
#include <math.h> /* препроцессора */
#include <stdlib.h>
main() /* заголовок основной функции */
{
float c[7], p[7], pro; /* описание массивов и переменной */
int i; /* описание целой переменной */
scanf("%3f%4f%4f%4f%4f%4f%4f%4f",&pro,&c[0],&c[1],
&c[2],&c[3],&c[4],&c[5],&c[6]); /* ввод переменных */
printf(" pro=%8.2f\n\n", pro);/* вывод переменной pro */
for( i=0 ; i < 7 ; i=i+1 ) /* заголовок цикла */
{
p[i]=(c[i]*pro)/100.;/*расчет текущего значения функции*/
printf(" %8.2f %7.2f\n", c[ i ], p[ i ] );
}
}
25.492.503.948.738.892.320.250. – значения вводимых данных.
Результаты решения представлены в приложении 5.6.
-
Заключение
Циклический – процесс многократного повторения некоторого участка вычислений при изменении хотя бы одной из входящих в него величин. Цикл – повторяющийся участок вычисления.
Тело цикла – совокупность действий, осуществляемых в цикле. Параметр цикла – входная величина, изменяющая своё значение от цикла к циклу. Закон изменения параметра цикла – зависимость, связывающая текущее и предыдущее значения параметра цикла. Условие повторения цикла – зависимость, предписывающая повторение цикла либо выход из него.
Способ определения количества повторений – критерий деления циклических процессов на арифметические и итерационные.
Арифметический – циклический процесс, число повторений в котором может быть определено заранее, т.е. не зависит от результатов счёта в теле цикла.
Вид задания (изменения) параметра цикла определяет деление на циклы с аналитическим и табличным заданием аргумента.
Пути реализации циклических процессов – расположение точки проверки условия повторения (с предусловием, с постусловием, с параметром).
Программные средства – специфические операторы циклов.
Использование циклических процессов широко распространено. Эффективность программирования – наивысшая из всех типовых вычислительных процессов (многократное повторение основного расчетного участка).
Максимальная эффективность – использование в смешанных вычислительных процессах в комплексе с ветвлениями (поиск экстремумов, сортировка, операции над матрицами и т. п.).
-
Вопросы для контроля
-
Какой вычислительный процесс называется циклическим?
-
Что такое цикл, тело цикла, параметр цикла?
-
На какие виды подразделяются арифметические циклы?
-
Как графически обозначаются структуры циклов?
-
Какова структура оператора цикла с предусловием, как он выполняется?
-
В чем заключаются правила записи и выполнения оператора while?
-
Какова структура оператора цикла с постусловием, как он выполняется?
-
В чем заключаются правила записи и выполнения оператора do ... while?
-
Какова структура пошагового оператора цикла, как он выполняется?
-
Каковы правила записи и выполнения оператора for?
-
Как принудительно выйти из любого цикла?
-
Как выглядит табличное изменение аргумента?
-
Что такое массив, какими параметрами он характеризуется?
-
Что определяет размер массива?
-
Что является параметром цикла при табличном задании и почему?
-
Что такое описание массива и как оно выполняется?
-
Как обозначаются элементы массива в Си/Си++?
-
Как распределяется память для хранения одномерных массивов?