Лабораторная работа №2 ТКС-13а (ветвящиеся)
.docЛабораторная работа №2
“Программирование ветвящихся вычислительных процессов”
Цель работы: освоение составления алгоритмов ветвящихся вычислительных процессов и организации программ с использованием условных операторов.
1. Теоретическая часть
1.1. Условный оператор.
Данный оператор предназначен для проверки заданного условия и выбора выполняемых действий (операторов) в зависимости от истинности (ложности) условия.
Если в зависимости от истинности условия выполняются различные действия (полная форма условного оператора), то блок-схема выглядит следующим образом:
Если действия выполняются только при истинности условия, а при ложности – не выполняются (сокращенная форма условного оператора), то блок-схема выглядит следующим образом:
1.2 Условный оператор в языке программирования C++.
Имеется 2 формы записи условного оператора:
1. Полная форма записи:
if (логическое выражение) оператор 1;
else оператор 2;
Если логическое выражение имеет значение "истина" (true), то выполняется оператор 1, в противном случае во второй части оператора (else) выполняется оператор 2.
2. Сокращенная форма записи:
if (логическое выражение) оператор 1;
Если логическое выражение имеет значение "истина" (true), то выполняется оператор 1, в противном случае оператор 1 пропускается и выполняется следующий в программе оператор.
В языке программирования C++, если в условном операторе при выполнении (или невыполнении) заданного условия надо выполнить некоторую последовательность действий, то их надо объединить в единый, составной оператор, т.е. заключить эту последовательность действий в операторные скобки {}:
if (логическое выражение)
{
оператор 1_1;
оператор 1_2;
…
}
else {
оператор 2_1;
оператор 2_2;
…
}
1.3 Пример составления алгоритма и программы на языке C++ для ветвящегося вычислительного процесса.
Задание:
Вычислить значение выражения:
a, b – исходные данные, их значения вводятся с клавиатуры;
y – результат, его значение выводятся на экран.
Решение.
Блок-схема алгоритма для данной задачи выглядит следующим образом:
Программа на языке C++, выполняющая решение данной задачи:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{ float a,b,y;
printf(“Введите a и b:\n”);
scanf(“%f”,&a);
scanf(“%f”,&b);
if (a>b)
{ y=1.2*a+3*b;
printf(“y=%6.2f”,y);
}
else
if (a>0)
{ y=(a-b)/sqrt(a);
printf(“y=%6.2f”,y);
}
else printf(“y не существует, a<=0”);
getch();
return 0;
}
2. Практическая часть
2.1 Требования к выполнению работы:
Выполнить вычисления для переменных в соответствии с вариантом индивидуального задания из таблицы 2.
Порядок выполнения работы.
1. Выполнить анализ задания, сформулировать постановку задачи.
2. Составить блок-схему алгоритма.
3. Составить программу на языке C++. Предусмотреть ввод исходных данных с клавиатуры и вывод результатов на экран.
4. Выполнить проверку работоспособности программы на различных исходных данных.
5. Выполнить анализ полученных результатов.
2.2 Варианты индивидуальных заданий.
Варианты индивидуальных заданий выбираются из таблицы 2 в соответствии с номером студента в списке группы в журнале преподавателя.
Таблица 2. Варианты индивидуальных заданий
№ п/п |
Вид задания |
Тип исходных данных |
Выводимые данные |
1 |
2 |
3 |
4 |
1 |
a – целое b – действительное |
a, b, x, y, z |
|
2 |
c – целое d – действительное |
c, d, p, q, r |
|
3 |
n – целое x – действительное |
n, x, y, f, t |
|
4 |
a – целое b – действительное |
a, b, n, m, k |
|
1 |
2 |
3 |
4 |
5 |
i – целое j – действительное |
i, j, x, y, z |
|
6 |
e – целое g – действительное |
e, g, x, y, f |
|
7 |
m – целое x – действительное |
m, x, s, t, v |
|
8 |
c – целое d – действительное |
c, d, n, m, k |
|
1 |
2 |
3 |
4 |
9 |
a – целое c – действительное |
a, c, x, y, t |
|
10 |
b – целое f – действительное |
b, f, p, t, r |
|
11 |
y – целое x – действительное |
y, x, s, t, v |
|
12 |
a – целое k – действительное |
a, k, x, y, t |
|
1 |
2 |
3 |
4 |
13 |
m – целое n – действительное |
m, n, x, y, z |
|
14 |
e – целое a – действительное |
e, a, x, z, r |
|
15 |
c – целое d – действительное |
c, d, s, t, v |
|
16 |
p – целое q – действительное |
p, q, n, m, k |
|
1 |
2 |
3 |
4 |
17 |
a – целое b – действительное |
a, b, c, d, e |
|
18 |
x – целое y – действительное |
x, y, s, p, q |
|
19 |
a – действительное c – целое |
a, c, x, y, z |
|
20 |
a – целое h – действительное |
a, h, s, p, t |
|
1 |
2 |
3 |
4 |
21 |
a – целое h – действительное |
a, h, x, y, z |
|
22 |
b – целое d – действительное |
b, d, p, q, r |
|
23 |
x – целое l – действительное |
l, x, y, p, g |
|
24 |
a – целое b – действительное |
a, b, i, j, k |
|
1 |
2 |
3 |
4 |
25 |
a – целое k – действительное |
a, k, x, y, z |
|
26 |
a – целое b – действительное |
a, b, i, j, k |
|
27 |
x – целое v – действительное |
x, v, y, p, q |
|
28 |
n – целое p – действительное |
n, p, y, f, z |
2.3 Контрольные вопросы и практические задания:
-
Что представляет собой структура программы?
-
Какие типы данных используются в простых программах?
-
Какие функции выполняют операторы в языке программирования?
-
Как работают операторы присваивания?
-
Какие требованиям должны отвечать аргументы математических функций?
-
Что такое составной оператор, и какие функции он выполняет?
-
Как происходит работа условного оператора?
-
Какие существуют формы условных операторов?