Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Задача решается применением последовательности действий. Первоначально задача формулируется в терминах входа-выхода. Это означает, что на вход программы подаются некоторые данные. Программа работает и выдает ответ.
После этого начинается последовательное разложение всей задачи на более простые действия. Например, если нам необходимо написать программу проверки правильности адреса, то вначале мы ее запишем следующим образом:
Прочитать адрес
Сверить адрес с базой имеющихся адресов
Если результат проверки положителен,
напечатать Да,
в противном случае напечатать Нет.
Очевидно, что такая запись один к одному отображается в программе на языке высокого уровня, например на C/C++.
void check_address ()
{
Address an_address;
read_address(an_address);
if (check_database(an_address))
cout<< "Да";
else
cout<< "Нет";
}
Эта программа использует функции read_address для чтения адреса и check_database для сверки прочитанного адреса с информацией в базе данных. Теперь мы можем продолжить процесс составления программы для процедур следующего уровня: чтение адреса и сверки с базой данных.
Что чрезвычайно важно, на любом этапе программу можно проверить, достаточно лишь написать заглушки — процедуры, имитирующие вход и выход процедур нижнего уровня. В приведенной выше программе можно использовать процедуру чтения адреса, которая вместо ввода с терминала просто подставляет какой-нибудь фиксированный адрес, и процедуру сверки с базой данных, которая ничего не делает, а просто всегда возвращает истину.
Программа компонуется с заглушками и может работать. Иными словами, заглушки позволяют проверить логику верхнего уровня до реализации следующего уровня. Последовательно применяя метод заглушек, можно на каждом шаге разработки программы иметь работающий скелет, который постепенно обрастает деталями.
Структурное программирование поддерживалось языками программирования, появившимися в конце 60-х годов (Паскаль, Алгол-68, Симула). Именно к тому времени было осознано значение программного обеспечения при решении задач с помощью вычислительной техники. Эти языки поддерживали разнообразные вложенные процедуры, разные способы передачи параметров.
Несмотря на то, что структурное программирование ясно определило значение модульного построения программ при разработке больших проектов, языки программирования еще слабо поддерживали модульность. Единственным способом структуризации программ являлось составление ее из подпрограмм или функций. Контроль за правильностью вызова функций, в том числе соответствия количества и типов фактических аргументов ожидаемым формальным параметрам, осуществлялся только на стадии выполнения (понятие прототипа функции появилось позже).
2. Ветвление
Ветвление задает выполнение либо одного, либо другого оператора в зависимости от выполнения условия. Реализуется оператором if.
Оператор if на языке C/C++ имеет следующий синтаксис:
if (условие)
оператор 1;
else
оператор 2;
if (условие)
оператор 1;
В C++ имеется составной оператор. Если необходимо, чтобы несколько команд
выполнялось в ветви if или else, то необходимо объединить их в составной
оператор фигурными скобками:
{
}.
Например, так:
if (условие)
{
операторы 1;
}
else
{
операторы 2;
}
Если условие удовлетворено, то есть результатом условия является true, и оператор в теле выполняется, если условие не удовлетворено, то оператор не выполняется.
В строке if () после скобок нельзя ставить ;. Символ ; приведет к тому, что оператор не будет частью if и будет выполняться независимо от условия.
Для записи условия используются операторы отношений:
== - равно (использование = вместо == приводит к тяжело отлаживаемым логическим ошибкам);
!= - не равно;
< - меньше;
> - больше;
<= - меньше или равно;
>= - больше или равно.
Пример.
Вася и Петя прыгают в высоту. Вывести того, кто из них прыгнул дальше. Если прыгнули одинаково: вывести "Равный результат".
#include <iostream. h>
int main (void)
{
float l1, l2;
cout << "Введите результат Васи\t\t";
cin >> l1;
cout << "Введите результат Пети\t\t";
cin >> l2;
if (l1<l2) cout << "Лучший Петя";
if (l1>l2) cout << "Лучший Вася";
if (l1==l2) cout << "Равный результат";
cout << endl;
return 0; //0 = Программа завершена успешно
}
Более сложные условия можно записывать путем объединения простых с помощью логических операций
— && — логическое И,
— || — логическое ИЛИ.
Операнды логических операций должны быть логического типа. Программист может указать переменную любого типа, поскольку ненулевое значение воспринимается как true, а нулевое — как false.
((a==0) && (b==3)) будет равно true, если a=0 и b=3 ======= !a && (b==3)
a && b будет равно true, если a!=0 и b!=0
a && !b будет равно true, если a!=0 и b=0
Пример. Напишите программу, которая вводит три числа с клавиатуры и выводит максимальное и минимальное из них.
Диалог на экране должен выглядеть следующим образом:
Введите три различных числа: 13 27 14
Максимальное равно 27
Минимальное равно 13
#include <iostream. h>
int main (void)
{
float f1, f2, f3;
cout << "Введите три различных числа: ";
cin >> f1 >> f2 >> f3;
cout << "Максимальное равно ";
if ((f1>f2) && (f1>f3)) cout << f1 << endl;
if ((f2>f1) && (f2>f3)) cout << f2 << endl;
if ((f3>f1) && (f3>f2)) cout << f3 << endl;
cout << "Минимальное равно ";
if ((f1<f2) && (f1<f3)) cout << f1 << endl;
if ((f2<f1) && (f2<f3)) cout << f2 << endl;
if ((f3<f1) && (f3<f2)) cout << f3 << endl;
return 0; //0 = Программа завершена успешно
}
Обратите внимание: после фигурной скобки } точка с запятой не ставится.
Пример. В зависимости от числа баллов вывести
“Зачтено” , если баллов >=60
“Не зачтено” , если баллов <60
if (ballov>=60)
cout << "зачтено";
else
cout << "не зачтено";
cout << endl;
Пример. В зависимости от числа баллов вывести
“Зачтено” , если баллов >=60
“Не зачтено
Изучите курс снова ” , если баллов <60
if (ballov>=60)
cout << "зачтено";
else
{
cout << "не зачтено\n";
cout << "Изучите курс снова";
}
cout << endl;
аналогично
cout << (ballov>=60 ? "зачтено" : "не зачтено\nИзучите курс снова")
<< endl;
В языке C++ любое логическое выражение не равное нулю интерпретируется как true, а равное нулю как false.
Поэтому в программе
int i;
cin>>i;
if (i!=0)
cout << "i не равняется нулю";
else
cout << "i равняется нулю";
вместо if (i!=0) можно записать if (i).
Для реализации аналога оператора VB
IF условие1 THEN
оператор1
ELSEIF условие2 THEN
оператор2
ELSE
оператор3
END IF
в C++ необходимо использовать два оператора if.
if (условие1)
оператор1;
else
if(условие2)
оператор2;
else
оператор3;
77. Написать программу, которая вычисляет частное двух чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные (делитель равен нулю), выдавать сообщение об ошибке. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление частного.
Введите в одной строке делимое и делитель,
затем нажмите <Enter>.
-> 12 О
Вы ошиблись. Делитель не должен быть равен нулю.
78. Написать программу вычисления площади кольца. Программа должна проверять правильность исходных данных. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление площади кольца.
Введите исходные данные:
Радиус кольца (см) -> 3.5
Радиус отверстия (см) -> 7
Ошибка! Радиус отверстия не может быть больше радиуса кольца.
79. Написать программу, которая переводит время из минут и секунд в секунды. Программа должна проверять правильность введенных пользователем данных и в случае, если данные неверные,
выводить соответствующее сообщение. Рекомендуемый вид экрана во время выполнения программы приведен ниже. Ошибочные данные, введенные пользователем, выделены полужирным
шрифтом.
Введите время (минут. секунд) -> 2.90
Ошибка! Количество секунд не может быть больше 60
Для завершения нажмите <Enter>
80. Написать программу, которая проверяет, является ли год високосным. Ниже приведен рекомендуемый вид экрана во время работы программы. Данные, введенные пользователем, выделены
полужирным шрифтом.
Введите год, например 2000, и нажмите <Enter>
-> 2001
2000 год - не високосный
Для завершения нажмите <Enter>
81. Написать программу вычисления сопротивления электрической цепи, состоящей из двух сопротивлений. Сопротивления могут быть соединены последовательно или параллельно. Ниже
приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление сопротивления электрической цепи.
Введите исходные данные:
Величина первого сопротивления (Ом) -> 15
Величина второго сопротивления (Ом)-> 27.3
Тип соединения (1 — последовательное, 2 — параллельное) -> 2
Сопротивление цепи: 9.68 Ом
82. Написать программу решения квадратного уравнения. Программа должна проверять правильность исходных данных и в случае, если коэффициент при второй степени неизвестного равен
нулю, выводить соответствующее сообщение. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |


