- •1 Введение в теорию алгоритмизации 6
- •Введение
- •1 Введение в теорию алгоритмизации
- •1.1 Понятие алгоритма
- •1.2 Свойства алгоритмов
- •1.3 Формы представления алгоритма
- •1.4 Основные алгоритмические структуры
- •1.5 Алгоритмический язык
- •2.3 Инструменты программирования Microsoft Visual Studio
- •2.5 Консольные и оконные приложения
- •2.6 Компилирование программы
- •3.2 Простые типы данных
- •3.3 Операции над числовыми данными
- •3.4 Объявление переменных
- •3.7 Директива #define
- •3.9 Библиотека математических функций
- •4 Условный оператор
- •4.1 Условный оператор if
- •4.2 Составной оператор
- •4.3 Вложенный оператор
- •4.4 Оператор выбора switch
- •5 Операторы циклов
- •5.1 Определение цикла
- •5.2 Оператор цикла for
- •5.3 Оператор цикла while
- •5.4 Оператор цикла do while
- •5.5 Табулирование функций
- •5.6 Вычисление конечных сумм и произведений
- •5.7 Управляющие конструкции break, continue, return, goto
- •6 Массивы
- •6.1 Понятие и описание массивов
- •6.2 Одномерные массивы
- •6.3 Двумерные массивы (матрицы)
- •7 Символьные массивы
- •7.1 Описание символьного массива
- •7.2 Стандартные библиотечные функции над строками
- •8 Указатели и операции над указателями
- •8.1 Описание указателей
- •8.2 Операции над указателями
- •8.3 Сравнение указателей
- •8.4 Связь между массивом и указателем
- •9 Функции
- •9.1 Модульное программирование
- •9.2 Объявление функции
- •9.3 Формальные и фактические параметры функции
- •9.4 Локальные и глобальные переменные
- •10 Элементы объектно-ориентированного программирования
- •10.1 Инструментальное программное обеспечение
- •10.2 Технологии программирования
- •10.3 Создание класса
- •11 Полиморфизм
- •12 Этапы разработки программного обеспечения
- •12.1 Идея и цель объектно-ориентированного программирования
- •12.2 Основные понятия объектно-ориентированного программирования
- •12.3 Методы тестирования программных продуктов
- •Список литературы
4.2 Составной оператор
Когда необходимо выполнить не один оператор, а несколько, следует использовать составной оператор.
Составной оператор – последовательность операторов, заключенная в фигурные скобки:
{
…
}
Выполнение составного оператора заключается в последовательном выполнении составляющих его операторов.
Это важно
Перед закрывающей фигурной скобкой точку с запятой ставить обязательно, а после скобки точка с запятой не ставится.
Пример 4.3 Проверка условия существования треугольника
В задание 3.9 была рассмотрена программа по определению площади треугольника. Однако, не при всех исходных данных программа выдает верный результат, т.к. не все тройки чисел образуют треугольник (например, треугольника со сторонами 1, 2, 4 не существует). Условие существование треугольника – сумма длин любых двух сторон треугольника больше длины третьей стороны. Дополним созданную программу условным оператором:
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<math.h>
using namespace System;
int main(array<System::String ^> ^args)
{
int a,b,c;
float p,s;
printf("введите длины трех сторон треугольника\n");
scanf("%d %d %d",&a,&b,&c);
if (a+b<=c | b+c<=a | a+c<=b) printf("треугольник не существует");
else
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("площадь треугольника равна=%f",s);
}
getch();
return 0;
}
В данном примере представлена полная форма условного оператора. Проверяются условия a+b<=c | b+c<=a | a+c<=b. В случае выполнения хотябы одного выводится сообщение треугольник не существует, иначе – выполняется расчет площади. Т.к. после else необходимо выполнить три оператора, то их заключаем в фигурные скобки, тем самым объединяя их.
Задание 4.3
1 Откройте программу задания 3.9 и дополните ее условием существования треугольника.
2 Откройте программу задания 3.10 и исключите возможность ошибочного ввода данных (например, нулевого значения срока эксплуатации т.п.).
4.3 Вложенный оператор
В качестве выполняемого в условном операторе действия может быть другой условный оператор, т.е. допускается использование вложенных операторов if. Оператор if может быть включен в конструкцию if или в конструкцию else.
Чтобы сделать программу более читабельной, рекомендуется группировать операторы и конструкции во вложенных операторах if, используя фигурные скобки. Если же фигурные скобки опущены, то компилятор связывает каждое ключевое слово else с наиболее близким if, для которого нет else.
Пример 4.4 Вложенное ветвление
Неполное вложенное ветвление:
y=1;
if (x,=0)
if (x==0) y=0;
else y=-1;
Полное вложенное ветвление:
if (x<=0)
if (x==0) y=0;
else y=-1;
else y=1;
Задание 4.4
Определите значение переменной r не вводя код программы. В чем заключается отличие программ?
Программа 1 |
Программа 2 |
int t=2, b=7, r=3; if (t>b) {if (b < r) r=b;} else r=t; printf("%d\n",r); |
int t=2, b=7, r=3; if (t>b) if (b < r) r=b; else r=t; printf("%d\n",r); |
Задание 4.5
Используя вложенные условные операторы, напишите программу решения квадратного уравнения.
Задание 4.6
Определить в каком квадранте находится точка с координатами x и y. Написать две программы: с использованием неполной формы условного оператора и вложенных условий.
