- •Алгоритмитизация и программирование Лекция 1
- •Общие сведения
- •Модель osi. Понятие об интерфейсах и протоколах. Рекомендация itu-t X.200
- •1.3. Системы счисления
- •Лекция 2
- •2.1. Способы описания алгоритмов функционирования узла коммутации
- •2.2. Описание алгоритмов с помощью диаграммы состояний
- •Variable
- •Input port
- •Input signal
- •2.3. Описание алгоритмов с помощью временной диаграммы
- •Описание алгоритмов с помощью текстового описания
- •Лекция 3
- •3.2. Типы данных
- •3.3. Арифметические операторы
- •3.4. Операторы сравнения
- •3.5. Побитовые операторы
- •3.6. Кодовые таблицы
- •Int main()
- •Лекция 4
- •4.2. Переменные
- •4.3. Ввод/вывод
- •4.4. Арифметические операции
- •4.5. Взаимосвязь чисел и литер
- •Лекция 5
- •5.1. Базовые конструкции
- •5.2. Операторы базовых конструкций
- •If (условие) {операторы 1}
- •Лекция 6
- •6.1. Указатели
- •6.2. Функции
- •6.3. Массивы
- •Лекция 7
- •7.1. Создание и инициализация строк
- •7.2. Функции для работы со строками
- •Лекция 8
- •8.1. Структуры
- •8.2. Формирование контрольной суммы
- •Лекция 9
- •9.1. Операции с файлами
- •9.2. Открытие текстового файла для записи
- •9.3. Открытие текстового файла для чтения
Лекция 5
5.1. Базовые конструкции
К базовым конструкциям относят следование, ветвление и цикл.
Следованием называется конструкция, представляющая собой последовательное выполнение двух или более операторов (простых или составных). Ветвление задает выполнение либо одного, либо другого оператора в зависимости от выполнения какого-либо условия. Цикл задает многократное выполнение оператора (рис. 5.1). Особенностью базовых конструкций является то, что любая из них имеет только один вход и один выход, поэтому конструкции могут вкладываться друг в друга произвольным образом, например, цикл может содержать следование из двух ветвлений, каждое из которых включает вложенные циклы.
. . .
Рис. 5.1. Базовые конструкции: следование, ветвление, цикл
5.2. Операторы базовых конструкций
Тернарный оператор относится к конструкции ветвление и имеет синтаксис: условие? выражение 1: выражение2.
Пример: определение наибольшего из двух чисел.
#include <iostream>
#include <windows.h> //установка команд операционной системы
using namespace std;
string Rus(string text) //установка вывода русского языка в строке
{ CharToOem((LPCTSTR)text.c_str(), (LPSTR)text.c_str()); return text;}
int main()
{
int a,b,max;
cout <<Rus("Введите первое число "); cin >>a;
cout <<Rus("Введите второе число "); cin >>b;
max=(a>b)? a:b;
cout<<Rus("Наибольшее число ")<<max<<endl;
system("pause"); //команда операционной системе о приостановке
return 0;
}
Здесь конструкция установки русификации текста
string Rus(string text) //установка вывода русского языка в строке
{CharToOem((LPCTSTR)text.c_str(), (LPSTR)text.c_str()); return text;}
требует подключения заголовочного файла <windows.h>.
Оператор SWITCH также относится к конструкции ветвление и имеет синтаксис: switch (выражение)
{
case 1:
операторы; break;
case 2:
операторы; break;
. . .
default:
операторы;
{
Пример: простейший калькулятор.
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
double a,b,result; char operation; int x;
CALCULATOR:
system("cls"); //системная крманда очистки экрана
cout <<"Input first number: ";
cin>>a;
cout <<"Input operation: "; cin>>operation;
cout <<"Input second number: "; cin>>b;
cout <<"\n"; bool f=true;
switch (operation)
{
case '+': result=a+b; break;
case '-': result=a-b; break;
case '*': result=a*b; break;
case '/': result=a/b; break;
default: cout <<"Unknown operation !!!!!!!!\n"; f=false;
}
if (f>0) cout <<a<<operation<<b<<"="<<result<<endl;
cout << "Do you want to continue? (yes=y/no=any key)";
char cont; cin >> cont;
if (cont=='y') goto CALCULATOR;
return 0;
}
Условный оператор IF относится к конструкции ветвление и имеет синтаксис: