Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
853.35 Кб
Скачать

6. Условные алгоритмы. Оператор выбора switch. Логические операции и операции отношения.

Алгоритм ветвления (условные алгоритмы)

Иногда нужно предусмотреть различные пути вычисления ответа. Причем выбор того или иного пути зависит или от условий задачи или от результатов, полученных в ходе решения. Каждое возможное направление вычислений называется ветвью.

Запись оператора ветвления на языке C:

if (условие) {команды, которые выполняются при соблюдении данного условия} else { команды, которые выполняются при несоблюдении данного условия }

Если выполняемая команда только одна, то фигурные скобки опускаются.

Оператор if можно записать на нескольких строчках, но надо стараться, чтобы его удобно было читать.

Пример: Программа определения четности числа. Если число четное, то остаток от деления по модулю будет равен нулю, а другое значение он примет только в случае, если число нечетное.

// Программа определяет, является ли введенное пользователем число четным.

#include <stdio.h>

void main (void)

{

int number_to_test, remainder;

printf ("Enter your number to Ье tested: "); scanf ("%d", &number_to_test);

remainder = number_to_test % 2;

if ( remainder == О )

printf ("The number is even.\n");

e1se

printf ("The number is odd.\n");

}

Выбор – оператор switch

Определение_3

Предназначен для выбора одного из нескольких возможных направлений для дальнейшего хода программы. На языке C такой алгоритм описывается оператором Switch

Запись оператора выбора на языке C:

swiitch (выражение)

{

case значение_1:

оператор_1;

оператор_2;

break;

case value2:

оператор_1;

оператор_2;

break;

case value_n:

оператор_1;

оператор_2;

break;

default:

оператор_1;

оператор_2;

break;

}

Пример: Программа запрашивает номер дня недели и выводит название дня.

#include <stdio.h>

void main (void)

{

int number_of_day;

printf ("Введите номер дня недели: "); scanf ("%d", &number_of_day);

swiitch (number_of_day)

{

case 1:

printf(“\nПонедельник”);

break;

case 2:

printf(“\Вторник”);

break;

case 3:

printf(“\Среда”);

break;

case 4:

printf(“\Четверг”);

break;

case 5:

printf(“\Пятница”);

break;

case 6:

printf(“\Суббота”);

break;

case 7:

printf(“\Воскресенье”);

break;

Default:

printf(“\nНет такого дня!”);

break;

}

}

Доп вопрос. Для чего нужен Default. Если пользователь введет число не предусмотренное условием, программа выдаст надпись по умолчанию. Как в примере про дни недели «нет такого дня»

  1. Понятие класса и экземпляра класса. Конструкторы и деструкторы.

Класс (class) - это тип, определяемый пользователем, включающий в себя данные и функции, называемые методами или функциями-членами класса.

Данные класса - это то, что класс знает.

Функции-члены (методы) класса - это то, что класс делает.

Таким образом, определение типа задаваемого пользователем (class) содержит спецификацию данных, требующихся для представления объекта этого типа, и набор операций (функций) для работы с подобными объектами.

Определение класса начинается с ключевого слова class за которым следует имя класса. Имя класса в BC 4.5 может иметь до 32 символов, причем различаются строчные и прописные буквы. Открывающая и закрывающая фигурные скобки определяют тело класса, в которое включено описание данных и функций класса. Заканчивается описание класса символом ;. Класс имеет столько переменных (данных), сколько необходимо. Переменные могут быть любого типа, включая другие классы, указатели на классы и указатели на динамически распределяемые объекты. Переменные объявленные внутри класса имеют область видимости класса, т.е. от точки объявления переменной до конца класса.

Создание класса employee, который содержит определение данных и метода

using namespace std;

void Class_1 (void);

//******** Описание (создание) класса

class employee

{

public: // открытые члены класса

//прототип функции класса, которая заносит значения в переменные класса

void assign_values(char* , long , float);

// метод класса, выводящий информацию на экран

void show_employee(void)

{

cout << "Name: " << name << endl;

cout << "Employee_id: " << employee_id << endl;

cout << "Salary: " << salary << endl;

}

private: //закрытые члены класса

char name[64]; // Фамилия служащего

long employee_id; // Номер служащего

float salary; // Зарплата служащего

};

Имя класса employee. Класс содержит 4 элемента – 3 переменные (поля) и 1 функцию (метод).

//Объявление объектов (экземпляров) класса

employee worker, boss;

Элементы класса могут быть частными (private) и общими (public). К общим элементам программа может обращаться, используя оператор точку (.).

Все поля класса по умолчанию закрытые (private), то есть программа, использующая данный класс, не может обратиться к данным класса. Как тогда обратиться к данным класса, то есть, как занести значения в переменные или вывести их значения? Как использовать функции класса?

Методы класса должны быть общедоступными (public). То есть методы класса делают открытыми, и тогда с помощью этих методов можно обращаться к переменным класса.

Методы класса можно определять как внутри самого класса, так и вне класса.

 Конструктор  представляет собой метод класса, который имеет такое же имя, как и  класс. Например, если вы используете класс с именем employer, конструктор  также будет иметь имя employer. Подобно этому, для класса с именем dogs конструктор  будет иметь имя dogs. Если ваша программа определяет конструктор, C++ будет автоматически вызывать его каждый раз, когда вы создаете объект. Следующая программа CONSTRUC.CPP создает класс с именем employer. Программа также определяет конструктор  с именем employer который присваивает начальные значения объекту. Однако конструктор  не возвращает никакого значения, несмотря на то, что он не объявляется как void. Вместо этого вы просто не указываете тип возвращаемого значения:

Деструктор автоматически запускается каждый раз, когда программа уничтожает объект. Подобно конструктору, деструктор  имеет такое же имя, как и  класс объекта. Однако в случае деструктора вы предваряете его имя символом тильды (~)

Доп вопрос Приведите пример класса. Какие еще методы можно включить в ваш класс.

Класс автомобиль. Метод вычисляет расход бензина. На основании этих данных считает на сколько осталось километров бензина

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]