Поэлементная структура простейшей программы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Поэлементная структура простейшей программы



Структура простейшего варианта записи программы имеет вид табл. 3.18:

Таблица 3.18

Общий вид Пример
Многострочный заголовочный комментарий Директива 1 ... Директива N Описатель гл. пер. 1 ... Описатель гл. пер. M main() { Описатель лок. пер. 1 ... Описатель лок. пер. K Оператор 1 ... ... /* Первая программа. */ /* Линейный */ /* вычислительный процесс. */ #include<stdio.h> /*директивы*/ ... #include<math.h> int I=3;                      /*глобальные */ float A, B;               double TOK=6.7E+2; /*переменные*/ main() /*заголовок функции*/ { float d2,k1;            /* локальные*/ double z; int k,j=5;              /* переменные*/ scanf("%5f%5f%7e", &A, &B, &d2); z=0.5*A+pow(TOK,2); k=I+j;

Окончание табл. 3.18

Общий вид Пример
... ... Оператор S   } Значения ввод. перем. k1=k/B*log10(d2); k1=k/B*log10(d2); printf("z=%9.2e k=%4d k1=%9.2f", z, k, k1); } 37.620.058104.7e4

 

ü Внимание! Строка численных значений вводимых переменных в программу не входит.

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

В соответствии с общей методикой выполним программирование в два шага:

· идентификация переменных;

· разработка программы (ее исходного модуля).

Переменную  опишем как глобальную, все остальные как локальные.

Идентификацию переменных в алгоритме и программе представим табл. 3.19.

Таблица 3.19

Обозначение в алгоритме 1 Dдн Hст Ркр ПК
Обозначение в программе 2 ddn hst rkr pk

Окончание табл. 3.19

1 k1 k2 Sдн Sст Sоб Ркрл Ркркг
2 PI k1 k2 sdn sst sob rkrl rkrkg

С учётом таблицы идентификации на основании схемы алгоритма (рис. 3.2) составим программу решения задачи. В качестве элементов программы используем рассмотренные конструкции Си/Си++ в соответствии с правилами их использования.

/* Программа расчёта массы красителя  */

/* Линейный вычислительный процесс   */

/* Разработал студент гр. А031 Попов И.П. */

#include<stdio.h> /* включающие */

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

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

float PI; /* описание глобальной переменной */

main()

{

float ddn, hst, rkr, pk, k1, k2,   /* описание локальных */

    sdn, sst, sob, rkrl, rkrkg; /* переменных            */

scanf(“%3f%5f%6e%3f”, &ddn, &hst, &rkr, &pk);

printf(“\n ddn=%3.1f fhst=%5.0f rkr=%6.1e pk=%3.1f”,

ddn,hst,rkr,pk);

scanf(“%6f%5e%4f”, &PI, &k1, &k2);

printf(“\n PI=%6.4f k1=%7.2e k2=%4.0f \n”, PI, k1, k2);

sdn=PI*pow(ddn,2)/4.;

sst= PI*ddn*hst*k1;

sob=(sdn+sst)*k2;

rkrl=rkr*sob;

rkrkg=rkrl*pk;

printf(“\n sdn=%8.2f sst=%8.2f sob=%8.2f rkrl=%8.2f” “rkrkg=%8.2f \n”, sdn, sst, sob, rkrl, rkrkg);

}

3.26780.5.2e-31.4

3.14161.e-3100.

Последними строками, под закрывающей программу фигурной скобкой, записаны численные значения вводимых (двумя операторами scanf) переменных.

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

Составление программы для задачи о красителе завершает этап её предмашинной подготовки – создание программного продукта линейного вычислительного процесса.

3.6. Предмашинная подготовка задачи определения площади круга

Полный вариант создания программного продукта этой задачи (без рассмотрения элементов теории алгоритмического языка) выполним задачей (3.2) определения площади круга.

Постановка задачи

Рассчитать площадь круга в квадратных метрах и квадратных миллиметрах, если его диаметр равен 76,3 см.

Создание математической модели задачи

Исходные данные

(основные)

d = 76,3 см

диаметр круга;

 = 3,1416

число Пи;

 

(дополнительные)

 
kм =  м/см

коэффициент перевода сантиметров в метры;

kмм = 10 мм/см

коэффициент перевода сантиметров в миллиметры.

     

Расчётные зависимости

[ ] диаметр круга, м;
[ ] диаметр круга, мм;
[ ] площадь круга, м2;
[ ] площадь круга, мм2.

Выбор метода решения

Анализ математической формулировки позволяет сделать вывод, что решение сводится к последовательному однократному выполнению небольшого количества математических зависимостей, не содержащих нестандартных трансцендентных функций. Следовательно, в качестве метода решения необходим простой линейный вычислительный процесс.



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 89; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.68.14 (0.007 с.)