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

Программирование задачи

Идентификация всех переменных алгоритмов: вещественной переменной про, целой i и двух вещественных массивов исходного С(7) и расчетного П(7). представлена в табл. 5.3.

Таблица 5.3

Обозначение в алгоритме

c1

c2

...

c6

c7

про

пi

ci

i

Обозначение в программе

c[0]

c[1]

...

c[5]

c[6]

pro

p[i]

c[i]

i

В соответствии с таблицей расположение элементов исходного массива в оперативной памяти представлено схемой:

c[0]

c[1]

c[2]

c[3]

c[4]

c[5]

c[6]

c1

c2

c3

c4

c5

c6

c7

4 байта

4 байта

4 байта

4 байта

4 байта

4 байта

4 байта

Для расчетного массива П(7) распределение оперативной памяти аналогично представленному для массива С.

Возможные варианты программ решения задачи с каждым из рассмотренных операторов цикла представлены ниже.

  • Внимание! Формирование начального значения параметра и логического выражения операторов цикла должно учитывать уменьшение индексов в Си/Си++ на единицу по отношению к указанным в алгоритме.

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

Вариант программы:

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

/* Составил студент гр. А033 Трубников П.А.*/

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

#include <math.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 */

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

while( i < 7 ) /* заголовок цикла */

{

p[ i ]=(c[ i ]*pro)/100.;/*расчет текущего значения функции */

printf(" %8.2f %7.2f\n", c[ i ], p[ i ] );

i=i+1; /* закон изменения параметра цикла */

}

}

25.492.503.948.738.892.320.250. – значения вводимых данных.

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

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

Вариант программы имеет вид:

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

/* Составил студент гр. А033 Трубников П.А */

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

#include <math.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 */

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

do /* заголовок цикла */

{

p[ i ]=(c[ i ]*pro)/100.;/*расчет текущего значения функции*/

printf(" %8.2f %7.2f\n", c[ i ], p[ i ] );

i=i+1; /* закон изменения параметра цикла */

}while( i < 7 ); /* условие повторения цикла */

}

25.492.503.948.738.892.320.250. – значения вводимых данных.

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