- •Этапы создания исполняемой программы
- •Идентификаторы
- •Ключевые слова
- •Комментарии
- •Структура программы
- •Вывод данных
- •Ввод данных
- •Вопросы для самоконтроля
- •Тема 1.1(2). Типы данных. Константы и переменные
- •Основные (стандартные) типы данных
- •Область действия переменных
- •1.3.1. Математические операции
- •1.3.2. Простое присваивание
- •1.3.3. Составное (сложное) присваивание
- •1.3.4. Операция приведения (преобразования) типов
- •1.3.5. Операции отношения
- •1.3.7. Операция sizeof
- •1.3.8. Операция "запятая" (,)
- •1.3.9. Условная операция (?:)
- •1.3.10. Указатель. Определение адреса переменной
- •1.3.11. Директива define
- •1.3.12. Директива include
- •1.3.13. Примеры программ
- •1.3.14. Вопросы для самоконтроля
- •Тема 1.3. Программирование алгоритмов различной структуры
- •Базовые конструкции структурного программирования
- •Операторы ветвления
- •1.4.1. Условный оператор if
- •If (условие) оператор_1; else оператор_2;
- •If (условие) оператор_1;
- •1.4.2. Оператор выбора switch
- •Операторы цикла
- •1.4.3. Оператор while
- •1.4.4. Оператор do...While
- •1.4.5. Оператор for
- •1.4.6. Функция exit(), операторы break, continue, return
- •Стандартные математические функции
- •Тема 1.4. Ввод-вывод данных
- •Функции get() и put()
- •Функция getch()
- •Функция printf
- •Функция sprintf()
- •Тема 1.5. Функции. Локальные и глобальные переменные. Способы передачи данных.
- •1.5.1. Видимость переменных
- •1.5.2. Определение функции
- •1.5.3. Функция main
- •1.5.4. Вызов функции
- •1.5.5. Способы передачи данных
- •1.5.6. Возвращаемые значения функции
- •1.5.7. Использование прототипов функций
- •Тема 1.6(1). Массивы и указатели
- •Объявление массива
- •Доступ к элементам массива
- •Многомерные массивы
- •Указатели
- •Тема 1.6(2). Структуры и строки
- •1.6.1. Структуры
- •1 Способ – по шаблону.
- •2 Способ – при объявлении (описании) шаблона.
- •1.6.2. Способы реализации строк
- •1.6.3. Строковые константы
- •1.6.4. Указатель на символьную строку
- •1.6.5. Массив символов
- •1.6.6. Некоторые функции для работы со строками
- •1.6.7. Некоторые функции проверки и преобразования символов
- •Тема 1.7. Работа с памятью
- •Функция malloc
- •Функция free
- •Операция new
- •Операция delete
- •Тема 1.10. Динамические структуры
- •Разновидности динамических структур
- •Примеры программ (фрагментов программ) для работы с динамическими структурами
Тема 1.3. Программирование алгоритмов различной структуры
Цели изучения темы
-
изучить особенности работы условных и циклических операторов С++
Базовые конструкции структурного программирования
Вставить из книги (о структурном программировании)
Базовыми конструкциями структурного программирования являются:
-
следование (линейная структура);
схема
-
ветвление (разветвляющаяся структура);
схема
-
цикл (циклическая структура);
схема
Операторы ветвления
1.4.1. Условный оператор if
Условный оператор используется для разветвления процесса решения задачи на два направления.
Формат условного оператора:
Полная форма
If (условие) оператор_1; else оператор_2;
где условие – это логическое выражение, принимающее значение True или False
оператор_1, оператор_2 – это простые или составные операторы ЯП С++
Если условие истинно (не принимает значение False, т.е. не равно нулю), то выполняется оператор_1. Если условие ложно (принимает значение True, т.е. равно нулю), то выполняется оператор_2.
Неполная форма
If (условие) оператор_1;
где условие – это логическое выражение, принимающее значение True или False
оператор_1 – это простой или составной оператор (т.е. блок) ЯП С++
Если условие истинно (не принимает значение False, т.е. не равно нулю), то выполняется оператор_1.
Пример 1
if (a>b) ans=10; else ans=25;
или
if (a>b)
ans=10;
else
ans=25;
Если а>b, то переменная ans получается значение 10, иначе - значение 0.
Пример 2
if ( age <18)
{
cout <<"Вы несовершеннолетний. \n";
cout <<"Введите ваш возраст";
cin>> grade;
}
Если переменная age<18, то запрашивается возраст и заносится в переменную grade.
Пример 3
if (b>a) max=b; else max=a;
определяется наибольшая из величин А и В.
1.4.2. Оператор выбора switch
Оператор switch (переключатель) предназначен для разветвления процесса решения задачи на несколько направлений.
Формат:
switch (выражение)
{
case метка_1: список операторов_1;
case метка_2: список операторов_2;
…..
case метка_N: список операторов_N;
[default: список операторов]
}
где выражение – это любое выражение, константа или переменная типа int или char;
метка_1,…, метка_N – это константы или константные выражения типа int или char;
список операторов_1, …, список операторов_N – это произвольные операторы С++
Выполнение оператора switch:
-
вычисляется значение выражения (записанного после слова switch);
-
управление передается первому оператору из списка, помеченного меткой, значение которой совпало с вычисленным выражением;
-
далее, если выход из переключателя switch явно не указан операторами break или return, то последовательно выполняются все остальные ветви;
-
если выражение не совпадет ни с одной из меток, то выполняется список операторов, записанных после слова default (а в случае отсутствия строки default происходит переход к следующему за switch оператору).
Замечания:
-
выход из переключателя выполняется с помощью операторов break (выход из оператора switch) или return (выход из функции, в теле которой он записан);
-
в случае синтаксической ошибки в слове default сообщение об ошибке не выдается, т.к. компилятор воспринимает это слово как допустимую метку оператора switch.
Пример
// начисление процентов,
// kat - категория счета, если категория счета =1, то начисляется 20 %,
// если категория счета =2, то - 17.5 %,
// в остальных случаях начисляется 10 %
#include < iostream.h >
main()
{
int kat;
float s, proz;
cout <<"\nВведите категорию счета ";
cin >> kat;
cout <<"\n Введите сумму "
cin >> s;
switch (kat)
{
case 1: s*=1.2; proz = s*.2; break;
case 2: s*=1.175; proz =s*. 175; break;
default: s*=l.l; proz= s*.l; break;
}
cout <<"\n Начислено " << proz ;
cout <<"\n Итого " << s;
return 0;
}