Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Пример 3. Преобразование температуры




Вот формула преобразований. Звездочка (*), когда используется для объединения двух значений, означает «умножить на».

Fahrenheit = (Celsius * 1.8) + 32

В наше время полезная программа не будет все время просто рассчитывать единственное значение температуры и завершаться. В этом случае было бы проще использовать программу Windows Calculator! Нет, действительно полезная программа будет принимать любое значение температуры по шкале термометра Цельсия и преобразовывать его. Для этого потребуется использование нескольких новых возможностей:

✓ Организовать пользовательский ввод;

✓ Сохранять введенное значение в переменной.

Ниже приведена такая программа полностью. Откройте новый исходный файл, наберите код и сохраните его под именем convert.срр. После этого скомпилируйте и запустите программу.

#include <iostream>

using namespace std;

 

int main() {

 

// Объявляем переменную

double ctemp, ftemp;

 

// Выводим приглашение и вводим значение переменной

cout << "Input a Celsius temp and press ENTER: ";

cin >> ctemp;

 

// Вычисляем ftemp (Fahrenheit) и выводим ее

ftemp = (ctemp * 1.8) + 32;

cout << "Fahrenheit temp is: " << ftemp;

return 0;

}

Программы проще сопровождать, если в них добавлены комментарии, которые в языке C++ обозначаются двойными значками дроби, слэшами (//). Комментарии игнорируются компилятором языка C++ (то есть они не влияют на поведение программы), однако полезны для людей.

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

Упражнение 4: перепишите пример таким образом, чтобы он выполнял обратное преобразование: сохранял вводимое значение в переменной ftemp (значение по шкале термометра Фаренгейта), а результат преобразований сохранял в переменной ctemp (значение по шкале термометра Цельсия). Затем напечатайте результат. (Подсказка: формула для обратных преобразований - ctemp = (ftemp - 32) /1.8.)

 

Инструкции if и if-else

Самый простой способ запрограммировать поведение - это сказать «Если А истинно, то необходимо выполнить В». Это именно то, что делает инструкция i f языка C++. Ниже представлена простая форма синтаксиса инструкции if:

if (условие)

инструкция

Рассмотрим инструкцию if, сравнивающую две переменные, х и у. (Предположим, что переменные были заранее объявлены, как это и полагается.)

if (х == у)

cout << "х and у are equal.";

Странно. В примере используются два знака «равно» (==) вместо одного (=). Но это не опечатка. В языке C++ в этом отношении есть два отдельных оператора: один знак «равно» означает присваивание, которое копирует значение в переменную; два знака «равно» выполняют проверку на равенство.

Что, если вместо выполнения только одной инструкции в ответ на условие, вы желаете выполнить ряд инструкций? Ответ заключается в использовании составной инструкции (compound statement) (называемой также «блоком инструкций» (statement block)):

if (х == у)

{

cout << "х and у are equal." «endl;

cout «"Isn't that nice?";

they_are__equal = true;

}

Значение этого синтаксиса заключается в том, что либо выполняются все инструкции, либо не выполняется ни одна из них. Если условие (х равняется у, в данном случае) ложно, управление программы переходит на конец составной инструкции - другими словами, управление переходит на первый оператор после закрывающей фигурной скобки (}).

Открывающая и закрывающая фигурные скобки ({}) определяют, где начинается и заканчивается составная инструкция. Это может быть вставлено в синтаксис инструкции if, благодаря еще другому важному правилу:

Везде, где в языке C++ можно использовать инструкцию, можно использовать составную инструкцию.

Можно также указать действия, выполняемые в том случае, когда условие ложно. Это совсем необязательно. Как можно предположить, в этой вариации используется ключевое слово else.

if {условие}

инструкция1

else

инструкция2

 

Пример 4: Чет иди нечет?

Настало время посмотреть на готовую программу, использующую принятие решений. Это простой, почти банальный пример, но он знакомит нас с новым оператором (%) и демонстрирует синтаксис инструкции if-else в действии.

Эта программа принимает значение, введенное с клавиатуры, и сообщает, является ли число четным либо нечетным. Операция является простейшей, однако она демонстрирует простое использование инструкции if.

#include <iostream>

using namespace std;

 

int main()

{

int n, remainder;

cout << "Enter a number and press ENTER: ";

cin >> n;

 

// Получим остаток после деления на 2

remainder = n % 2;

 

// Если остаток равен 0, то число четное, иначе нет

if (remainder == 0)

cout << "The number is even.";

else

cout << "The number is odd.";

return 0;

}

Первая инструкция программы объявляет две целочисленные переменные n, remainder.

Следующая инструкция делит значение переменной n на 2 и получает остаток. Эта операция называется делением по модулю (modulus) или остатком от деления (remainder). Результат сохраняется в переменной, называемой (достаточно подходяще) «remainder» (остаток от деления).

remainder = n % 2;

Знак процентов (%) в языке C++ теряет свое обычное значение и вместо этого обозначает остаток от деления. Вот несколько примеров результатов:

Пример Остаток от деления Примечания

3 %2 1 Odd (Нечетное)

4 % 2 0 Even (Четное)

25% 2 1 Odd

60% 2 0 Even

25 % 5 0 Divisible by 5 (Делится на 5)

13 % 5 3 Not divisible by 5 (He делится на 5)

 

Упражнение 5: Определить является человек несовершеннолетним (вводится возраст в виде целых лет жизни).

Упражнение 6: Проверить делится ли первое введенное с клавиатуры число на второе введенное число.





Поделиться с друзьями:


Дата добавления: 2016-11-02; Мы поможем в написании ваших работ!; просмотров: 351 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Неосмысленная жизнь не стоит того, чтобы жить. © Сократ
==> читать все изречения...

2335 - | 2044 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.