<web>-дизайн и программирование_

Оператор ветвления if

Условное выражение

Рассмотрим следующую ситуацию: вы собираетесь отправиться на рынок за продуктами, а ваш друг говорит вам: «Если на рынке есть клубника, купи немного». Данная фраза называется условным выражением и означает, что вы будете выполнять какое-то действие («купить немного»), только если условие («на рынке есть клубника») выполняется, то есть истинно. [1]

Такие выражения распространены в программировании, поскольку они позволяют нам внедрять условное поведение в наши программы. Простейший вид условного оператора в C++ называется оператором if. Этот оператор позволяет выполнять одну или несколько строк кода, только в том случае, если некоторое условие истинно. [1]

Теперь рассмотрим код программы, выполняющей деление одного числа на другое (листинг 5.1). Пользователь вводит два числа (делимое dividend и делитель divisor) в результате программа выводит частное на экран:

Листинг 5.1: Делитель

#include <iostream>
using namespace std;
int main() {
	int dividend, divisor;
	
	// Get two integers from the user
	cout << "Please enter two integers to divide: ";
	cin >> dividend >> divisor;
	
	// Divide them and report the result
	cout << dividend << "/" << divisor << " = " << dividend/divisor << "\n";
}

Например, если ввести числа 32 и 4, будет выведено:


Please enter two integers to divide: 32 4
32/4 = 8

Данная программа имеет один серьезный изъян: если пользователь введет в качестве делителя число 0, то при выполнении программы произойдет сбой. Деления на ноль можно избежать применив алгоритм из листинга 5.2:

Листинг 5.2: Использование условного оператора

#include <iostream>
using namespace std;
int main() {
	int dividend, divisor;
	
	// Get two integers from the user
	cout << "Please enter two integers to divide: ";
	cin >> dividend >> divisor;
	
	// If possible, divide them and report the result
	if (divisor != 0)
	cout << dividend << "/" << divisor << " = " << dividend/divisor << "\n";
}

Переменные

Все компьютеры имеют оперативную память, называемую RAM (англ. random access memory), доступную для использования вашими программами. Оперативную память можно представить как группу почтовых ящиков, которые можно использовать для хранения данных во время работы программы. Отдельный кусок данных, хранящийся где-то в памяти, называется значением (англ. value). [1]

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

Значения внутри переменных должны соответствовать определнному типу данных. Тип данных сообщает компилятору, какого типа значения (например: число, символ, текст и т. д.) переменная будет хранить. В разных языках программирования существуют различные типы данных, для обработки которых используются разные методы. Например:

  1. Целый тип - int (англ. integer). Позволяет хранить в переменной только целые числа
  2. Вещественный тип - double. Позволяет хранить в переменной дробные числа
  3. Символьный тип - char (англ. character) Позволяет хранить в переменной символы
На самом деле различных типов данные на много больше, мы будем говорить о них в следующих уроках, а пока ограничимся этими тремя.

В листинге 3.1 приведены примеры того, как можно объявлять переменные для различных типов данных. Объявить переменную - значит выделить ячейку памяти для хранения некоторого значения.

Листинг 3.1: Объявление переменных

#include <iostream>
using namespace std;
int main() {
	int a; // выделить память под целую переменную с именем a
	double b, c; // две вещественных переменных b и c
	int x1, x2, x3 = 14; // три целых переменных, в x3 сразу записывается число 14
	double pi = 3.14, y, z; // три вещественных переменных, в pi сразу записывается число 3.14
	char c, m = 'A'; // две символьных переменных, в m сразу записывается символ 'A'
}

В листинге 3.1 все, что написано после знака "//", является комментарием. Комментарии не обрабатываются компилятором и никак не влияют на выполнение программы, они нужны для программиста, читающего код, для того, чтобы пояснить, что делает программа в определенном месте исходного кода.

Оператор ввода std::cin

std::cin - это еще одна команда, определенная в библиотеке iostream. Если std::cout выводит данные на экран, используя оператор вставки (<<), то std::cin («ввод символов») считывает данные, введенные с клавиатуры, используя оператор извлечения (>>). Входные данные должны записываться в переменную, имя которой указывается после оператора >>.

Листинг 3.2: Ввод и вывод чисел

#include <iostream>
using namespace std;
int main() {
	cout << "Enter a number: "; 
	int x; // объявление целочисленной переменной x
	cin >> x; // ввод значения с клавиатуры и запись его в переменную x
	cout << "You entered " << x;
}

Попробуйте скомпилировать эту программу и запустить ее. Когда вы запустите программу, она напечатает «Enter a number:», а затем будет ждать, пока вы не введете число с клавиатуры. Как только вы его введете (и нажмете Enter), на экран будет выведено «You entered», а затем число, которое вы только что ввели.

Например, если ввести число 7, будет выведено:


Enter a number: 7
You entered 7

Источники

  1. Richard L. Halterman. Fundamentals of Programming C++. School of Computing Southern Adventist University., February 5, 2019
  2. Learn C++., 2018. https://www.learncpp.com/