Макетирование регуляторов мощности ламп накаливания. Создание программного обеспечения для радиотехнических расчетов. Условный оператор. Ввод данных с консоли.

При написании программы для различных радиотехнических и других расчетов часто необходимо, чтобы программа принимала решение, какие операторы выполнять в зависимости от поступающих данных. Например, если пользователь ввел неверные данные, то  программа не должна выполнять операторы, производящие расчет, а должна выполнить оператор, выводящий сообщение об ошибке на экран. Таким образом происходит ветвление программы.

Рассмотрим сначала, как можно вводить данные в программу. Мы уже рассматривали оператор cout, который позволяет выводить данные на экран. Если в программу нужно ввести числа или другую информацию, используется оператор cin. Например:

int a,b; - объявляем переменные a и b типа int.

cin>>a>>b; - такая запись означает, что программа запросит у пользователя два числа. Пользователь вводит эти числа через пробел, нажимает клавишу Enter, и оператор cin отправляет первое число в переменную a, а второе число – в переменную b.

Для осуществления ветвления в программе помогает применяется оператор if, что в переводе на русский язык означает «если». Синтаксис оператора if следующий:

if (условие){

  Группа операторов 1

}

else{

    Группа операторов 2

 }

В качестве условия чаще всего берется операция сравнения чисел или переменных на равенство или неравенство, например:

if (a==3) – если переменная a равна 3. Обратите внимание, что при проверке равенства ставится два знака «=».

if (a!=3) – если переменная a не равна 3.

if (a>b) – если переменная а больше переменной b.

if (a>=0) – если переменная а больше либо равна 0.

if (a<10) – если переменная а меньше 10.

if (a<=10) – если переменная а меньше либо равна 10.

Если условие верно, то выполняется группа операторов 1, заключенная в фигурные скобки, если нет, то выполняется группа операторов 2, также заключенная в фигурные скобки. Если есть только один оператор, то его можно не заключать в фигурные скобки. Слово else  означает «иначе». Вторую часть условного оператора, начинающегося с else, можно опустить.

Напишем небольшой консольный калькулятор.

Скачайте следующую программу, написанную на языке C++, поместите скачанный файл IF01.CPP в папку C:\TCPP\BIN\.

Запустите DOSBox (Как настроить эту программу можно посмотреть ЗДЕСЬ).

Нажмите клавишу F3. Выберите файл IF01.CPP и нажмите клавишу Enter.

tc_013

 

Рассмотрим эту программу подробно:

#include<iostream.h> - подключаем модуль iostream.h. В этом модуле содержится функция cout, которая используется в этой программе ниже. Она необходима для вывода информации на экран.

#include<conio.h> - подключаем модуль conio.h, содержащий функции clrscr() и getch();

void main(){ - описываем заголовок функции main. Это главная функция. Она должна быть в каждой программе на языке С++. void – это тип функции main. Void – означает, что наша функция ничего не возвращает. Пустые скобки () означают, что у этой функции нет входных параметров. Любая функция начинается c открывающейся фигурной скобки {, а заканчивается закрывающейся фигурной скобкой }.

  long int a,b,c; - объявляем три переменные a, b и c типа long int.

  char key; - объявляем переменную key типа char; В этой переменной могут храниться как числа от -128 до 127, так и отдельные символы.

  clrscr(); - очищаем экран.

  cout<<"Enter math expression: "; - выводим на экран надпись «Введите математическое выражение». Поскольку в DOSBox мы не можем писать по-русски, пришлось вывести сообщение на английском языке. (Для получения возможности писать по-русски нужны дополнительные настройки DOSBox).

Посмотреть как русифицировать DOSBox можно ЗДЕСЬ.

  cin>>a>>key>>b; - команда для ввода с клавиатуры. Сначала мы должны набрать первое число (оно будет отправлено в переменную a), затем математический знак (+, -, * или /  этот символ будет отправлен в переменную key), потом – второе число (оно отправится в переменную b). В конце нужно будет нажать клавишу Enter.

  if (key=='+')

    c=a+b;  - если переменная key равна символу «+», то присвоить переменной c сумму значений переменных a и b. Поскольку используется только один оператор, то фигурные скобки не нужны.

  if (key=='-')

    c=a-b; - если переменная key равна символу «-», то присвоить переменной c разность значений переменных a и b.

  if (key=='*')

    c=a*b; - если переменная key равна символу «*», то присвоить переменной c произведение значений переменных a и b.

  if (key=='/')

    c=a/b; - если переменная key равна символу «/», то присвоить переменной c частное значений переменных a и b. Причем деление будет целочисленным, то есть будет отброшена дробная часть. К примеру, если 10 целочисленно поделить на 4, то результат  деления будет равен 2.

  cout<<a<<key<<b<<"="<<c; - выводим на экран последовательно: значение переменной a, значение переменной key, значение переменной b, символ «=», значение переменной c.

  getch(); - ожидаем нажатия любой клавиши.

} – конец функции main и всей программы.

Чтобы запустить программу, нажимаем комбинацию клавиш Alt+R, выбираем в появившемся меню пункт Run и нажимаем клавишу Enter. Ни в коем случае не нажимайте для запуска программы комбинацию клавиш Ctrl+F9 – это закроет DOSBox!

tc_014

При запуске программа предлагает ввести математическое выражение:

tc_015

Нам необходимо ввести любое математическое выражение, например 50+3:

tc_016

После этого нужно нажать клавишу Enter. На экране появится значение выражения:

tc_017

При нажатии на любую клавишу программа закроется. Попробуйте запустить снова и ввести другое выражение.

Задание: 1) Запустите программу еще раз и попробуйте вместо математического символа (+ - * /) ввести любой другой, например вместо 45+10 введите 45$10. Какой будет результат? Почему так получилось? Объясните. 2) Добавьте в программу возможность вычислить остаток от деления (в качестве математического символа можно использовать символ %. Математическое выражение, которое мы вводим должно быть вида 10%4). Пришлите файл программы или ее фотографию. Пояснение: в С++ для вычисления остатка от деления используется операнд %. Например, чтобы присвоить переменной с остаток от деления переменной a на переменную b, нужно написать c=a%b;.

Ответ можно прислать на электронную почту education@etriz.ru. Туда же можно писать свои вопросы, если что-то не до конца понятно. (Не забудьте указать Фамилию и Имя).