Сергей Талипов - Лекции по C++ для начинающих
- Название:Лекции по C++ для начинающих
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:2021
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Сергей Талипов - Лекции по C++ для начинающих краткое содержание
Лекции по C++ для начинающих - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
#include
#include
int main() {
float a, b, x, y, z;
printf("введите исходные данные a, b, x\n");
scanf("%f%f %f", &a, &b, &x);
y = pow(x, 3) + log(pow(x, 2) + 1.2) + sqrt(abs(x – 3.6));
z = exp(a * y) – sin(b * y – 2.37);
printf("x = %7.3f y=%7.3f z=%7.3f", x, y, z);
}
ТЕМА 2 – ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ И ЦИКЛИЧЕСКИХ АЛГОРИТМОВ
1) ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ
Последовательность выполнения программы определяется ветвлениями. Ветвление – выбор одного из возможных направлений выполнения алгоритма в зависимости от значения некоторых условий. Для организации разветвлений в программах используются операторы перехода, условный и выбора.
ОПЕРАТОР ПЕРЕХОДА
Его можно представить в следующей форме: goto метка;
Метка – это любой идентификатор.
Например:
goto a2;
Оператор goto указывает, что выполнение программы необходимо продолжить, начиная с инструкции, перед которой записана метка. В программе обязательно должна быть строка, где указана метка, поставлено двоеточие и записана инструкция, к которой должен выполняться переход.
Например:
а2: к=5;
Метки в программе описывать не нужно. Применение оператора перехода в языке C++ является нежелательным, так как он нарушает структурную наглядность программы.
УСЛОВНЫЙ ОПЕРАТОР
Оператор if имеет вид:
if (проверка условия) {
инструкция 1
} else {
инструкция 2;
}
Если условие в скобках принимает истинное значение, выполняется инструкция 1, а если ложное – инструкция 2.
Например:
if (a > b) {
z=a;
} else {
z=b;
}
В операторе if слово else может отсутствовать. В этом случае, если условие в скобках принимает истинное значение, выполняется инструкция 1, а если ложное, то инструкция 1 пропускается и управление передается следующему оператору по тексту программы.
Например:
if (num>10) num = 2 * num;
printf("%d\n", num);
Оператор вывода будет выполняться всегда, а оператор присваивания только в том случае, если условие будет истинным.
Пример (EX1):
#include
int main() {
int a, b;
puts("Введите значения а и b");
scanf("%d %d", &a, &b);
if (a > b) puts("a больше b");
else puts("a меньше или равно b");
if (a == b) puts("a равно b");
}
Если для выполнения программы ввести числа 5 и 3, то на экране появится строка: "а больше b". При введении чисел 5 и 5, на экране появится две строки: "а меньше или равно b" и "а равно b"
Иногда в условном операторе после ключевых слов if или else следует инструкция if, ее называют вложенной. Слово else всегда относится к ближнему предшествующему ему if. Также после ключевых слов if и else вместо одной инструкции может быть записано несколько инструкций, которые должны заключаться в фигурные скобки. В сложных конструкциях, содержащих много if и else, уместно вложенные if обрамлять фигурными скобками.
ПРИМЕР ЗАДАЧИ (EX2). Ввести целое число. Вывести сообщение существуется ли символ ASCII-таблицы под таким номером (от 0 до 31 расположены управляющие коды, затем от 32 до 256 – символы).
#include
int main() {
int i;
char ch;
printf("Введите целое число:\n");
scanf("%d", &i);
if ((i > 31) && (i < 256)) {
printf("Такой символ существует");
} else {
printf("Taкoгo символа нет");
}
}
ПРИМЕР ЗАДАЧИ (EX3). Вычислить функцию
#include
#include
int main() {
float x, y;
printf("Введите исходное значение х\n");
scanf("%f", &x);
if (x > 0) {
y = log(x);
} else {
y = pow(cos(x), 2);
}
printf("y =%7.3f", y);
}
ПРИМЕР ЗАДАЧИ (EX4). Вычислить функцию
#include
#include
int main() {
float x, y, b;
printf("Введите исходные данные х, b \n");
scanf("%f%f", &x, &b);
if (x < 10) {
y = 1 + b * pow(x, 2);
} else {
if (x <= 15) {
y = log(x) + b;
} else {
y = sin(b * x);
}
}
printf("y = %7.3f", y);
}
ОПЕРАТОР ВЫБОРА
Оператор switch позволяет выбрать одну из нескольких альтернатив. Он записывается в следующем виде:
switch (выражение) {
case константа 1:
вариант 1;
break;
…
case константа n:
вариант n;
break;
default:
вариант n+1;
break;
}
В операторе switch вычисляется целое выражение в скобках (его называют селектором), и его значение сравнивается со всеми константами. При совпадении выполняется соответствующий вариант (одна или несколько инструкций). Все константы в записи оператора должны быть различными. Вариант с ключевым словом default (прочие) реализуется, если ни один другой вариант не подошел (если слово default отсутствует, а все результаты сравнения отрицательны, то ни один вариант не выполняется). Для прекращения последующих проверок после успешного выбора некоторого варианта используется оператор break, обеспечивающий немедленный выход из оператора switch.
Например (EX5):
#include
int main() {
char y;
scanf("%c", &y);
switch (y) {
case '1':
printf("Ветвь 1\n");
break;
case '2':
case '3':
printf("Ветвь 2 или 3\n");
break;
default:
printf("Bетви 1, 2, 3 не работают\n");
}
}
Оператор scanf вводит переменную у. Ее значение в операторе switch сравнивается со всеми константами операторов case. Если ввести символ 1, то на экране появится строка: "Ветвь 1".
По оператору break произойдет выход из переключателя switch и программа завершит свою работу. Если ввести символы 2 или 3 то на экран будет выведена строка: "Ветвь 2 или 3".
При вводе любого другого символа управление перейдет к ключевому слову default и на экране появится строка: "Ветви 1, 2, 3 не работают".
2) ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ
Цикл – повторное выполнение операторов, завершаемое при выполнении некоторых условий. Однократное выполнение операторов цикла называется итерацией. Операторы и конструкции цикла также называются телом цикла.
Различают 3 вида оператора цикла: for, while и do-while.
ЦИКЛЫ С ПАРАМЕТРОМ
Описание: for (выражение 1; выражение 2; выражение 3) { … };
Действие: в круглых скобках содержится три выражения. Первое из них служит для инициализации счетчика. Она осуществляется только один раз – когда цикл for начинает выполняться. Второе выражение необходимо для проверки условия, которая осуществляется перед каждым возможным выполнением тела цикла. Когда выражение становится ложным, цикл завершается. Третье выражение вычисляется в конце каждого выполнения тела цикла, происходит приращение числа на шаг.
Комментарий: в операторе цикла for точка с запятой после закрывающейся круглой скобки не ставится. Любое из трех или все три выражения в операторе могут отсутствовать, однако разделяющие их точки с запятыми опускать нельзя. Если отсутствует выражение 2, имеем бесконечный цикл.
Если отсутствуют выражения 1 и 3, цикл становится эквивалентным while.
Например:
for (;а<20;) { … };
Каждое из выражений может состоять из нескольких выражений, объединенных операцией «запятая».
Например:
Читать дальшеИнтервал:
Закладка: