- •1. Информация о дисциплине
- •3. Пререквизиты дисциплины
- •4. Постреквизиты дисциплины
- •5. Календарно-тематический план.
- •7. Критерии оценки
- •8. Требования преподавателя.
- •Приоритеты операций и порядок вычислений
- •Лекция 4 Операторы if
- •Простое присваивание
- •Составное присваивание
- •Побочные эффекты
- •Лекция 5 Простые (одна операция) и составные операторы. Логические операторы И и ИЛИ, НЕ.
- •Сравнение двух значений
- •ЗНАКОМСТВО С ОПЕРАТОРОМ if
- •Лекция 6 Повторение одного или нескольких операторов. Операторы цикла.
- •Лекция 7 Входной поток с именем cin и выходной поток cout. Оператор извлечения (>>) и оператор вставки (<<).
- •Лекция 8 Функции. Выполнение функции.
- •Лекция 13 Объявление переменной массива. Использование индексной переменной.
- •Лекция 14 Указатели. Использование указателя на символьную строку.
- •ПЕРЕЧЕНЬ ЗАДАНИЙ НА СРСП
- •Задание № 1.1. Типы данных в С++.
- •Задание №1.3. События в программном коде.
- •Задание № 1.4. Управляющие элементы выбора
- •Задание № 2.1. Работа со списками
- •Задание № 2.2. Документирование программы.
- •Задание № 2.3.
- •Задание № 3.1. Программные алгоритмы
- •Задание № 3.2 Поиск в массивах
- •Задание № 3.3. Процедуры и функции, их организация
- •Задание № 3.4. Структуры данных
- •ГЛОССАРИЙ
Лекция 5 Простые (одна операция) и составные операторы. Логические операторы И и ИЛИ, НЕ.
Программа представляет собой последовательность инструкций, выполняемых компьютером для реализации определенных задач. Все созданные до сих пор простые программы на C++ выполняли операторы по порядку, начиная с первого до конца программы. По мере усложнения программ потребуется, чтобы выполнялся один набор операторов, если определенное условие соблюдается, и другой набор, если условие не соблюдается. Потребуется, чтобы программы приняли решение и соответственно отреагировали. Программы на C++ используют операции сравнения, чтобы определить, равны ли два значения или одно значение больше или меньше другого.
Для принятия решений используется оператор C++ if. Операторы C++ могут быть простыми (одна операция) или
составными (несколько операций, сгруппированных внутри правой и левой фигурных скобок {}).
Программы используют оператор C++ if-else для выполнения одного набора операторов, если определенное условие соблюдается, и другого набора операторов, если условие не соблюдается.
Комбинируя несколько операторов if-else, программы могут проверять несколько условий.
Используя логические операторы C++ И и ИЛИ, ваши программы могут проверить несколько условий, например: Есть ли у пользователя собака И долматин ли это ?
Программы, которые принимают решения, выполняют условную обработку. Другими словами, на основании результата одного или нескольких Условий программа будет выполнять определенные операторы.
Сравнение двух значений
Когда программы принимают решение, они обычно выполняют некоторый вид проверки. Например, одна программа может проверять, равны ли тестовые очки студента 100, а вторая программа
— составляет ли стоимость покупки больше $50.00. Для выполнения подобных проверок программы будут использовать операции сравнения C++, перечисленные в табл. 5.1. Операции сравнения позволяют проверять, каким образом одно значение соотносится с другим. Другими словами, используя операции сравнения, программы могут проверить, больше одно значение, меньше или равно другому.
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
21
Таблица 5.1. Операции сравнения C++.
ОперацияПроверка |
Пример |
||
== |
Если два значения равны |
(score == 100) |
|
!= |
Если два значения не равны |
(old != new) |
|
> |
Если первое значение больше второго |
(cost > 50.00) |
|
< |
Если первое значение меньше второго |
(salary < 200.00) |
|
>= |
Если первое значение больше или равно второму (stock_price >= 30.0) |
||
<= |
Если первое значение меньше или равно |
(age <= 21) |
|
второму |
|||
|
|
||
Если программа использует операции сравнения для сравнения двух значений, результат сравнения может быть истиной или ложью. Другими словами, два значения или равны (истина), или нет (ложь).
ЗНАКОМСТВО С ОПЕРАТОРОМ if
Оператор C++ if позволяет программам осуществлять проверку и затем на основании этой проверки выполнять операторы. Формат оператора if следующий:
if (условие_выполняется) оператор;
Обычно оператор if выполняет проверку, используя операцию сравнения C++. Если результат проверки является истиной, if выполняет оператор, который следует за ним. Следующая программа first_if.cpp использует оператор if для сравнения значения переменной test_score со значением 90. Если набранные тестовые очки больше или равны 90, программа выведет сообщение пользователю, что он получил А. В противном случае, если значение меньше 90, программа просто завершается:
#include <iostream.h> void main(void)
{
int test_score = 95;
if (test_score >= 90) cout << "Поздравляем, вы получили А!" << endl;
}
Как видите, для выполнения проверки программа использует операцию сравнения C++ "больше или равно" (>=). Если результат сравнения значений является истиной, программа выполняет оператор, который следует за if, в данном случае вывод сообщения с использованием cout. Если результат сравнения не является истинным, программа не выводит сообщение.
Представление о простых и составных операторах
При использовании оператора if для условной обработки в некоторых случаях, если условие истинно, программе потребуется
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
22
выполнить один оператор, а в других случаях несколько операторов. Когда программа выполняет только один оператор, следующий за if, такой оператор называется простым оператором:
if (test_score >= 90) cout << "Поздравляем, вы получили A!" << endl; //> Простой оператор
Если программе необходимо выполнить несколько инструкций, когда результат сравнения — истина, операторы должны быть сгруппированы внутри левой и правой фигурных скобок {}. Операторы, которые находятся внутри фигурных скобок, образуют составной оператор, как показано ниже:
if (test_score >= 90)
{
cout << "Поздравляем, вы получили A!" << endl;
cout << "Ваши тестовые очки были " << test_Score << endl;
} //>Составной оператор
Следующая программа compound.cpp представляет собой измененный вариант предыдущей и выводит два сообщения, если тестовые очки больше или равны 90:
#include <iostream.h> void main(void)
{
int test_score = 95;
if (test_score >= 90)
{
cout << "Поздравляем, вы получили А!" << endl;
cout << "Ваши тестовые очки были " << test_score << endl;
}
}
Использование простых и составных операторов При выполнении условной обработки в некоторых случаях
программе необходимо выполнить только один оператор (простой оператор), если условие истинно. Однако в других случаях программа должна будет выполнить несколько операторов (составной оператор). Если в зависимости от результата определенного условия программе нужно выполнить два или несколько связанных операторов, должны сгруппировать операторы внутри левой и правой фигурных скобок, как показано ниже:
if (age >= 21)
{
cout << "Все учим язык С++!" << endl;
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
23
cout << "Это то, что вам надо!" << endl;
}
Оператор else
Две предыдущие программы использовали оператор if, чтобы определить, больше тестовые очки или равны 90. Если условие было истинным, программы выводили сообщение на экран. В противном случае, т. е. если тестовые очки были меньше 90, программы не выводили сообщение, они просто завершались. В большинстве случаев программам потребуется указать один набор операторов, выполняющийся, если условие истинно, и второй набор, выполняющийся, если условие ложно. Для указания операторов, которые должны выполняться, когда условие ложно, программы должны использовать оператор else. Ниже приведен формат оператора else:
if (условие_истинно)
оператор; else
оператор;
Следующая программа if_else.cpp использует оператор if, чтобы проверить, больше тестовые очки или равны 90. Если условие истинно, программа выводит поздравление. Если условие ложно, программа сообщает, что студент должен работать усерднее:
#include <iostream.h> void main(void)
{
int test_score =95; if (test_score >= 90)
cout << "Поздравляю, вы получили А!" << endl;
else cout << "В следующий раз вы должны" << " работать усерднее господа студенты!" << endl;
}
Применение составных операторов для else
Составной оператор представляет собой группу связанных операторов, заключенных между левой и правой фигурными скобками. Когда программа использует else для указания операторов, выполняющихся, если условие ложно, то для указания нескольких операторов можно использовать составной оператор. Следующая программа cmp_else.cpp использует составные операторы как для if, так и для else:
#include <iostream.h> void main(void)
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
24
{
int test_score = 65; if (test_score >= 90)
{cout << " Поздравляю, вы получили A!" << endl;
cout << "Ваши тестовые очки были " << test_score << endl;
}
else{cout << "Вы должны работать усерднее господа студенты!" << endl; cout << "Вы потеряли " << 100 - test_score << " очков " << endl;
}}
Следующая программа getscore.cpp использует входной поток cin для ввода тестовых очков пользователем. Затем программа сравнивает тестовые очки со значением 90, выводя соответствующее сообщение:
#include <iostream.h> void main(void)
{
int test_score;
cout << "Введите тестовые очки и нажмите Enter: "; cin >> test_score;
if (test_score >= 90)
{
cout << "Поздравляем, вы получили А!" << endl;
cout << "Ваши тестовые очки были " << test_score << endl;
}
else
{
cout << "Вы должны работать усерднее господа студенты!" << endl; cout << "Вы потеряли " << 100 - test_score << " очков " << endl;
}}
При комбинации операций ввода с условной обработкой программы станут более совершенными.
Представление об if-else
По мере усложнения программы будут проверять разные условия и выполнять один набор операторов, если условие истинно, и другой набор, если условие ложно. Для выполнения такой условной обработки программы используют операторы if-else, как показано ниже:
if (условие_истинно) оператор;
else
оператор;
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
25
Когда программе требуется выполнить несколько операторов, если условие ложно или истинно, должны сгруппировать связанные операторы внутри левой и правой фигурных скобок {}:
if (условие_истинно)
{
первый_оператор_для_истины; второй_оператор_для_истины;
}
else
{
первый_оператор_для_лжи; второй_оператор_для_лжи;
}
Проверка двух или более условий
Оператор if позволяет программам проверять определенные условия. По мере усложнения программ возникает необходимость в проверке сразу нескольких условий. Например, программа могла бы проверить, будут ли тестовые очки больше или равны 90, и получит ли студент оценку А. Подобно этому, могли бы проверить, есть ли у пользователя собака и долматин ли это. Для выполнения таких проверок можно использовать логическую операцию C++ И (&&). Кроме того, если хотите проверить, есть ли у пользователя собака или кошка, вам следует использовать логическую операцию ИЛИ (). Если программы для проверки нескольких условий используют логические операции И или ИЛИ, поместите каждое условие внутри круглых скобок, как показано ниже:
if ((user_owns_a_dog) && (dog == dalmatian))
Программа группирует каждое собственных круглых скобок, которые внешние круглые скобки.
//>Полное условие условие внутри своих затем заключаются во
if ((user_owns_a_dog) && (dog == dalmatian))
Когда программа использует логическую операцию И (&&), то результат полного условия является истинным, только если все проверяемые условия истинны. Если какое-либо условие ложно, то полное условие становится ложным. Например, если у пользователя нет собаки, то предыдущее условие является ложным. Подобно этому, если собака пользователя не долматин, условие является ложным. Чтобы условие было истинным, у пользователя должна быть собака и она должна быть породы долматин.
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
26
Следующий оператор использует логическую операцию ИЛИ (), чтобы определить, есть ли у пользователя собака или кошка:
if ((user_owns_a_dog) (user_owns_a_cat))
При использовании логической операции ИЛИ полное условие будет истинным, если хотя бы одно условие является истинным. Например, если у пользователя есть собака, условие истинно. Если у пользователя есть кошка, условие истинно. Подобно этому, если у пользователя есть и собака, и кошка, условие истинно. Условие будет ложным только в том случае, если у пользователя нет ни собаки, ни кошки.
В C++ истина представляется как ненулевое значение, а ложь как 0. Достоинством C++ является то, что истина представляется как
любое ненулевое значение, а ложь как 0. Предположим, программа использует переменную с именем user_owns_a_dog, чтобы определить, есть ли у пользователя собака или нет. Если у пользователя нет собаки, вы можете присвоить этой переменной значение 0 (ложь), как показано ниже:
user_owns_a_dog = 0;
Если у пользователя есть собака, вы можете присвоить этой переменной любое ненулевое значение, например 1:
user_owns_a_dog = 1;
Затем программы могут проверить эту переменную, используя оператор if, как показано ниже:
if (user_owns_a_dog)
Если переменная содержит ненулевое значение, условие оценивается как истина; в противном случае, если переменная содержит 0, условие ложно. Исходя из того, как C++ представляет истину и ложь, предыдущий оператор идентичен следующему:
if (user_owns_a_dog == 1)
Следующая программа DOG_CAT.CPP использует переменные user_owns_a_dog и user_owns_a_cat внутри оператора if, чтобы определить, какие животные есть у пользователя.
#include <iostream.h> void main(void)
{
int user_owns_a_dog = 1; int user_owns_a_cat = 0; if (user_owns_a_dog)
cout << "Собаки великолепны" << endl; if (user_owns_a_cat)
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
27
cout << "Кошки великолепны" << endl;
if ((user_owns_a_dog) && (user_owns_a_cat)) cout << "Собаки и кошки могут ужиться" << endl; if {(user_owns_a_dog) II (user_owns_a_cat))
cout << "Домашние животные великолепны!" << endl;
}
Использование операции НЕ в C++
Программа проверяет определенное условие, в ряде случаев она должна выполнить некоторые операторы, если это условие истинно. С другой стороны, может потребоваться, чтобы программа выполнила операторы, если условие является не истинным. Операция C++ НЕ — восклицательный знак (!) — позволяет программам проверить, является ли условие не истинным. Например, следующий оператор проверяет, нет ли у пользователя собаки:
if (! user_owns_a_dog)
cout<<"вы должны купить собаку" << endl;
Операция НЕ превращает ложь в истину, а истину в ложь. Например, предположим, что у пользователя нет собаки. Следовательно, переменная user_owns_a_dog должна содержать значение 0. Если C++ оценивает условие с Помощью операции НЕ, он использует текущее значение переменной (0) и применяет операцию НЕ. Операция НЕ превращает значение 0 в 1 (истину). Таким образом, полное условие превращается в истину и выполняется соответствующий оператор.
Следующая программа USE_NOT.CPP иллюстрирует использование операции НЕ:
#include <iostream.h> void main(void)
{
int user_owns_a_dog = 0; int user_owns_a_cat = 1; if (! user_owns_a_dog)
cout << "Вы должны купить собаку" << endl; if (! user_owns_a_cat)
cout << "Вы должны купить кошку" << endl;
}
Использование логических операций C++
Если указывается условия в программах, то иногда эти условия будут состоять из нескольких частей. Например, программа может проверять, имеет ли служащий почасовую оплату и работал ли он более 40 часов на этой неделе.
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
28
Если для истинности условия каждая из двух его частей должна быть истиной, следует использовать операцию C++ И (&&). При , использовании операции И группируйте каждое условие внутри круглых скобок, а затем оба условия заключите в еще одну пару круглых скобок, как показано ниже:
if ((employee_pay == hourly) && (employee_hours > 40))
оператор; Когда необходимо, чтобы условие было истинным, если только
одна из его частей истинна, следует использовать операцию C++ ИЛИ (|). Например, следующее условие проверяет, есть ли у пользователя машина или мотоцикл:
if ((vehicle == car) II (vehicle == motorcycle))
оператор; Как и ранее, программа группирует каждое условие внутри
скобок. В ряде случаев вам потребуется, чтобы программы выполняли оператор, если условие является не истинным. В таких случаях следует использовать операцию C++ НЕ (!). Операция НЕ превращает истину в ложь, а ложь в истину.
Операции C++ И, ИЛИ и НЕ представляют собой логические операции.
Операции сравнения C++ позволяют программам проверять, равны ли два значения или нет, или одно значение больше или меньше другого.
Оператор C++ if позволяет программе проверять условия и выполнять один или несколько операторов, если условие истинно.
Оператор C++ else позволяет указать один или несколько операторов, которые выполняются, если условие, проверяемое с помощью оператора if, является ложным.
C++ представляет истину, используя любое ненулевое значение, а ложь как 0.
Логические операции C++ И (&&) и ИЛИ () позволяют программам проверять несколько условий.
Логическая операция НЕ (!) позволяет программам проверять условие на неистинность.
Если в операторе if или else нужно выполнить несколько операторов, то такие операторы следует расположить внутри левой и правой фигурных скобок {}.
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
29
