float a, b, h, s;
printf("Введите значения – a, b, h \n");
scanf("\n%f %f %f", &a, &b, &h);
s = (a + b) * h / 2;
printf("Площадь трапеции");
printf("\ns = %f", s);
}
ПРИМЕР ЗАДАЧИ (EX3). Решить пример.
#include <stdio.h>
#include <math.h>
int main() {
float x, y, a;
printf("Введите исходное значение X \n");
scanf("%f", &x);
a = x + 0.25;
y = a + sin(exp(a)) + sqrt(a / 2.5);
printf("x = %f y = %-f", x, y);
}
ПРИМЕР ЗАДАЧИ. Вычислить значения функций.
#include <stdio.h>
#include <math.h>
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 <stdio.h>
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"
Иногда