ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Улучшенная программа задачи 5.2
/* Программа с использованием цикла с параметром */ #include <stdlib.h> #include <stdio.h> /* директивы */ #include <math.h> /* препроцессора */ #include <conio.h> main() /* заголовок основной функции */ { float c[7], /* массив значений стоимостей кладов */ p[7], /* массив значений начисленных премий */ pro; /* процент вознаграждения */ int n, i, /* размер массивов (количество кладов), параметр цикла */ d, t; /* переменные, определяющие печать на принтер и повторение */ do /* начало цикла для повторения вычислений */ { clrscr(); /* очистка экрана */ printf("Вывод на печать – 1, \n" "иначе – другая цифра: "); /* вывод запроса */ scanf("%d", &d); /* ввод значения переменной, определяющей печать на принтер (ответ на запрос) */ printf("Введите размер массива (от 1 до 7): "); scanf("%d", &n); /* ввод размера массивов */ for(i=0; i < n; i++) /* заголовок цикла ввода исходного массива (массив стоимостей кладов) */ { printf("Введите значение стоимости клада " "c(%d), тыс. р.: ", i+1); scanf("%f", &c[i]); /* ввод значения элемента массива */ } printf("Введите размер вознаграждения, проц.: "); scanf("%f", &pro); /* ввод значения процента вознаграждения */ /* вывод процента вознаграждения и шапки таблицы на экран */ printf("\n Размер вознаграждения....: %.1f проц. \n", pro); printf(" +––––––––––––+–––––––––––+\n" " | Стоимость | Премия |\n" " | клада c(i) | п(i) |\n" " +––––––––––––+–––––––––––+\n"); if(d == 1) /* проверка условия вывода на принтер */ { /* вывод процента вознаграждения и шапки таблицы на принтер */ fprintf(stdprn,"\n Размер вознаграждения: " "%.1f проц. \n", pro); fprintf(stdprn," +––––––––––––+–––––––––––+\n" " | Стоимость | Премия |\n" " | клада c(i) | п(i) |\n" " +––––––––––––+–––––––––––+\n"); } for(i=0; i < n; i++) /* заголовок цикла вычисления значения функции (расчет премий) */ { p[ i ] = (c[ i ] * pro) / 100.; /* вычисление текущего значения */ /* вывод текущих значений элементов массивов на экран */ printf(" | %7.2f | %8.3f |\n", c[ i ], p[ i ]); if(d == 1) /* проверка условия вывода на принтер */ { /* вывод текущих значений элементов массивов на принтер */ fprintf(stdprn," | %7.2f | %8.3f |\n" , c[ i ], p[ i ]); } } printf(" +––––––––––––+–––––––––––+\n"); if(d == 1) /* проверка условия вывода на принтер */ { fprintf(stdprn, " +––––––––––––+–––––––––––+\n"); } printf("Повторение решения – 1, \n" "выход – другая цифра: "); /* вывод запроса */ scanf("%d", &t); /* ввод значения переменной, определяющей повторение вычислений (ответ на запрос) */ }while(t==1); /* окончание цикла, организующего повторение */ } /* завершающая скобка головной функции */ Численные значения вводимых данных не показаны. Принципы улучшения дружественности, используемые в программе, являются универсальными и пригодны для алгоритмов и программ любых видов и типов. Вопросы для контроля
1. Что такое улучшение качества программных продуктов и в чём оно заключается? 2. Для чего используются укороченные спецификаторы ввода-вывода? 3. Как влияет максимально укороченный спецификатор на точность выводимых вещественных переменных? 4. Как выглядят фрагменты алгоритмов и программ для организации диалогового ввода переменных? 5. Каковы варианты организации ввода массивов? 6. Как формулируется методика оформления выводимых данных? 7. Как формируются и используются составные присваивания? 8. Каковы фрагменты организации выбора устройства вывода? 9. Для чего и как реализуется в программе повторение расчётов? 10. Что такое позиционирование курсора, как реализуется?
Не нашли, что искали? Воспользуйтесь поиском:
|