Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интегрирование Глава 5.doc
Скачиваний:
0
Добавлен:
12.11.2018
Размер:
598.53 Кб
Скачать

Программа по алгоритму цикла с предусловием

Анализ алгоритмов, выполненных в виде цикла с предусловием (рис. 5.4, 5.7а) и структур операторов цикла, позволяет сделать вывод, что программирование возможно только с while. Вариант программы имеет вид:

/*Задача 5.1. Программа цикла с предусловием. */

/* Составил студент гр. А033 Бушуев И.А.*/

#include <stdio.h>

#include <stdlib.h> /* директивы */

#include <math.h> /* препроцессора */

main() /* заголовок основной функции */

{

float zn,zi,zk,dz,pn,nali;/*описание вещественных переменных*/

int n; /* описание целой переменной */

scanf("%5f%5f%4f%3f",&zn,&zk,&dz,&pn);/*ввод переменных*/

printf(" zn=%7.2f zk=%7.2f dz=%6.2f pn=%5.2f\n",zn,zk,dz,pn);

zi=zn; /* формирование начального значения параметра цикла*/

while( zi<=zk ) /* заголовок цикла */

{

nali=(zi*pn)/100.; /*вычисление текущего значения налога */

printf(" %10.2f %10.2f\n",zi,nali); /* печать zi, nali */

zi=zi+dz;/*вычисление текущего значения параметра цикла */

}

n=(zk-zn)/dz+1; /* оператор, следующий за циклом */

printf(" N=%2d\n",n);

}

2842.5500.300.13.

Под телом программы расположена строка численных значений вводимых переменных.

Результаты решения представлены в приложении 5.1.

Программа по алгоритму цикла с постусловием

Анализ алгоритмов, выполненных в виде цикла с постусловием (рис. 5.5, 5.7б) и структур операторов цикла, позволяет сделать вывод, что программирование возможно только с do ... while. Вариант программы имеет вид:

/*Задача 5.1. Программа цикла с постусловием. */

/* Составил студент гр. А033 Бушуев И.А.*/

#include <stdio.h>

#include <stdlib.h> /* директивы */

#include <math.h> /* препроцессора */

main() /* заголовок основной функции */

{

float zn,zi,zk,dz,pn,nali; /*описание вещественных переменных*/

int n; /* описание целой переменной */

scanf("%5f%5f%4f%3f",&zn,&zk,&dz,&pn);/*ввод переменных*/

printf(" zn=%7.2f zk=%7.2f dz=%6.2f pn=%5.2f\n",zn,zk,dz,pn);

zi=zn; /* формирование начального значения параметра цикла */

do /* начало цикла */

{

nali=(zi*pn)/100.; /* вычисление текущего значения налога*/

printf(" %10.2f %10.2f\n",zi,nali); /* печать zi, nali */

zi=zi+dz; /*вычисление текущего значения параметра цикла*/

}

while( zi<=zk ); /* проверка условия повторения цикла */

n=(zk-zn)/dz+1; /* оператор, следующий за циклом */

printf(" N=%2d\n",n);

}

2842.5500.300.13.

Под телом программы расположена строка численных значений вводимых переменных.

Результаты решения представлены в приложении 5.2.

Программа по алгоритму цикла с параметром

Анализ алгоритмов, выполненных в виде цикла с параметром (рис. 5.6, 5.7в) и структур операторов цикла, позволяет сделать вывод, что программирование возможно только с for. Вариант программы имеет вид:

/*Задача 5.1. Программа с использованием пошагового цикла */

/* Составил студент гр. А033 Бушуев И.А.*/

#include <stdio.h>

#include <stdlib.h> /* директивы */

#include <math.h> /* препроцессора */

main() /* заголовок основной функции */

{

float zn,zi,zk,dz,pn,nali;/*описание вещественных переменных*/

int n; /* описание целой переменной */

scanf("%5f%5f%4f%3f",&zn,&zk,&dz,&pn);/*ввод переменных*/

printf(" zn=%7.2f zk=%7.2f dz=%6.2f pn=%5.2f\n",zn,zk,dz,pn);

for(zi=zn;zi<=zk;zi=zi+dz) /* заголовок цикла */

{

nali=(zi*pn)/100.; /* тело */

printf(" %10.2f %10.2f\n",zi,nali); /* печать zi, nali */

}

n=(zk-zn)/dz+1; /* оператор, следующий за циклом */

printf(" N=%2d\n",n);

}

2842.5500.300.13.

Под телом программы расположена строка численных значений вводимых переменных.

Результаты решения представлены в приложении 5.3.