Программирование >>  Структурное программирование 

1 ... 37 38 39 [ 40 ] 41 42 43 ... 342


ЕСЛИ студент сдал экзамен

Добавить единицу к passes ИНАЧЕ

Добавить единицу к failures

Добавить единицу к счетчику student

Отметим использование пустых строк, отделяющих структуру ЕСЛИ - ИНАЧЕ и улучшающих читаемость программы. Предложение псевдокода

Напечатать суммарные результаты экзамена и решить, надо ли повышать плату за обучение

может быть детализировано следующим образом:

Напечатать число passes Напечатать число failures

ЕСЛИ восемь или более студентов сдали экзамен Напечатать Повысить плату за обучение

Полностью вторая детализация приведена на рис. 2.10. Отметим пустые строки, которые использованы, чтобы отделить структуру ПОКА для лучшей читаемости программы.

Задать начальное значение О переменной passes Задать начальное значение О переменной failures Задать начальное значение О переменной student

ПОКА счетчик student меньше или равен десяти Ввести очередную оценку экзамена

ЕСЛИ студент сдал экзамен Добавить единицу к passes ИНАЧЕ

Добавить единицу к failures

Добавить единицу к счетчику student

Напечатать число passes Напечатать число failures

ЕСЛИ восемь или более студентов сдали экзамен лё> Напечатать Повысить плату за обучение

Рис. 2.10. Псевдокод обработки результатов экзаменов

Этот псевдокод теперь достаточно детализирован, чтобы его можно было преобразовать в программу на С++. Эта программа и два примера ее выполнения приведены на рис. 2.11. Отметим, что мы воспользовались полезным свойством С++, позволяющим объединять задание начальных значений переменных с их описанием. Однако, циклические программы могут требовать задания начальных значений при каждом повторении; в этом случае задание начального значения осуществляется обычным оператором присваивания.



Анализ результатов экзамена #include <iostream.h>

main() f

Задание начальных значений переменных, совмещенное с их объявлением

int passes = О, failures = О, student = 1, result;

обработка 10 студентов; цикл, управляемый счетчиков while (student <= 10) {

cout << Введите результат (1=сдал, 2=не сдал): ; cin >> result;

if (result == 1) оператор if/else, вложенный в оператор while passes = passes + 1; else

failures = failures + 1; student = student + 1;

cout << Сдали << passes << endl;

cout << He сдали << failures << endl;

if (passes > 8)

cout << Повысить оплату за обучение endl;

return 0; успешное окончание

Рис. 2.11. Программа С++ для анализа результатов экзамена и примеры ее выполнения

(часть 1 из 2)

Хороший стиль программирования 2.10

Задание начальных значений переменных одновременно с их объявлением помогает программисту избежать проблем, связанных с неопределенными значениями данных.

Замечание по технике программирования 2.6

Опыт показывает, что наиболее трудной частью решения задач на компьютерах является разработка алгоритма решения. После того, как корректный алгоритм получен, процесс создания на его основе работающей программы на C+-I- продвигается успешно.

Замечание по технике программирования 2.7

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



ВведиФв результат Введите результат Введите результат Введите результат Введите результат Введите результат Введите результат Введите результат Введите результат Введите результат Сдали б

Не сдали 4

Введите результат Введите результат Введите результат Введите результат Введите результат Введите результат Введите результат Введите результат Введите результат Введите результат Сдали 9

Не сдали 1 Повысить оплату за

(1=сдал,

2=не

сдал):

(1=сдая,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=сдая,

2=не

сдал) :

(1=сдал,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=сдая,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=сдая,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=сдая,

2-не

сдал):

(1=сдал,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=сдал,

2=не

сдал):

(1=слал,

2=не

сдал):

(1=сдал,

2=не

сдал):

обучение

Рис. 2.11. Программа С++ для анализа результатов экзамена и примеры ее выполнения

(чааь 2 из 2)

2.11. Операции присваивания

в С++ имеется несколько операций присваивания, позволяющих сокращать запись присваиваемых выражений. Например, оператор

с = с + 3;

может быть сокращен применением составной операции сложения += :

с += 3;

Операция += прибавляет значение выражения, записанного справа от операции, к величине переменной, указанной слева, и сохраняет результат в этой переменной. Любой оператор вида

переменная = переменная операция выражение;

где операция - одна из бинарных операций +, -, *, / или % (или иные операции, которые будут рассмотрены позднее), может быть записан в виде

переменная операция = выражение;

Таким образом, присваивание с += 3 добавляет 3 к с. Рис. 2.12 показывает арифметические операции присваивания, примеры выражений с этими операциями и их расширенное толкование.



1 ... 37 38 39 [ 40 ] 41 42 43 ... 342

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика