programming c++ (begin-if-else)
TRANSCRIPT
Стив Джобс: «I think everybody should learn how to program a computer because it teaches you how to think» «Каждый должен учиться программированию, потому что это учит людей думать».
В современном мире изучение программирования открывает перед человеком большие возможности и перспективы. И дело не только в шестизначных цифрах, которые готовы платить крупные компании за работу квалифицированных IT-специалистов, но и в том, что программирование — ключ к пониманию особенностей работы современной техники и, независимо от избранной профессии, базовые навыки программирования могут быть полезными всем.
«Мы хотим сорвать покров с магического искусства программирования, который отделяет вас от Марка Цукерберга», — говорит глава Code.org, экс-менеджер Microsoft Хади Партови.
ТИПЫ ДАННЫХ:
int – целочисленный char – символьный bool – логический float – вещественный с плавающей точкой одиночной точности, 7 зн. double – вещественный с плавающей точкой двойной точности, 14 зн.
4141
8
4
bytebytebytebyte
byte
byte
int a, b, c
float x, y, z
double x, y, z
char d, e, f
bool g, h, k
12 byte
12 byte
24 byte
3 byte
3 byte
Форматирование потока
width(), precision() и fill().
int width(int wide); int width() const;
int precision(int prec); int precision() const;
char fill(char type ch); char fill() const;
x sqrt(x) х^20000001 0000001 00000010000002 01.4142 00000040000003 01.7321 00000090000004 0000002 00000160000005 02.2361 00000250000006 02.4495 0000036
ТаблицаФлаги форматирования и их назначениеФлаг Назначениеhex Значения целого типа преобразуются к основанию 16 (как шестнадцатеричные)dec Значения целого типа преобразуются к основанию 10oct Значения целого типа преобразуются к основанию 8 (как восьмеричные)
fixed Числа с плавающей точкой выводятся в формате с фиксированной точкой (то есть nnn.ddd)
scientific Числа с плавающей точкой выводятся в так называемой научной записи (то есть n.хххЕуу)
showbase Выводится основание системы счисления в виде префикса к целому числовому значению (например, число 1FE выводится как 0x1FE)
showpos При выводе положительных числовых значений выводится знак плюс
uppercaseЗаменяет определенные символы нижнего регистра на символы верхнего регистра (символ "е" при выводе чисел в научной нотации на "Е" и символ "х" при выводе 16-ричных чисел на "X")
left Данные при выводе выравниваются по левому краю поляright Данные при выводе выравниваются по правому краю поля
internal Добавляются символы-заполнители между всеми цифрами и знаками числа для заполнения поля вывода
skipws Ведущие символы-заполнители (знаки пробела, табуляции и перевода на новую строку) отбрасываются
stdio Потоки stdout, stderr очищаются после каждой операции вставкиunitbuf Очищаются все выходные потоки после каждой операции вставки в потокstdio Очищаются stdout, stderr после каждой операции вставки в поток
В качестве второго параметра функции setf() можно использовать следующие константы, определенные в классе ios: static const long basefield; // = dec | oct | hex static const long adjustfield; // = left | right | internal static const long floatfield; // = scientific | fixed
Таблица Манипуляторы ввода-вывода и их назначение
Манипулятор Использование Назначениеdec Ввод-вывод Устанавливает флаг dec
endl Вывод Вставляет символ новой строки и очищает буфер
ends Вывод Вставляет символ концаflush Вывод Очищает буфер потокаhex Ввод-вывод Устанавливает флаг hexoct Ввод-вывод Устанавливает флаг oct
resetiosflags (iosbase::long mask) Ввод-вывод Сбрасывает ios-флаги в соответствии с mask
Setbase (int base) Ввод-вывод Задает основание системы счисления для целых (8, 10, 16)
Setfill (int c) Ввод-вывод Устанавливает символ-заполнитель
setiosflags (iosbase::long mask) Ввод-вывод Устанавливает ios-флаги в соответствии с mask
setprecision (int n) Ввод-вывод Устанавливает точность чисел с плавающей точкой
setw(int n) Ввод-вывод Устанавливает минимальную ширину поля
ws Ввод Устанавливает пропуск символов-заполнителей
. . . char array[SIZE]; cin>>setw(sizeof(array)); // Или cin.width(sizeof(array)); // Ограничивает число вводимых символов . . . // и позволяет избежать выхода // за границу массива. cin >> array;
ТЕМА:«Программирование ветвящихся
алгоритмов на языке C++»
Начало
Конец
ОПЕРАТОРЫ ОТНОШЕНИЯ В УСЛОВНЫХ ВЫРАЖЕНИЯХ< Меньше
<= Меньше или равно
> Больше>= Больше или
равно== Равно! = Не равно
Условный оператор с одной ветвью
if условие then команды end
Условный оператор с двумя ветвями
if условие then команды1 else команды2 end
if (условие) фрагмент кода 1else фрагмент кода 2
Использование условного оператора в C
Условие – это любое выражение, которое возвращает булево значение true или false.
if (условие){ операторы1 }
else { операторы2 }
Замена одиночного оператора блокомБлок состоит из группы операторов, заключенных в фигурные скобки ({ и }).Фрагменты кода операторы1 и операторы2 являются блоками, т.к. заключены в фигурные скобки.Использовать блоки, даже в случае одного оператора.
Фигурные скобки, отмечающие границы блока, могут находится на отдельных строках:
if (условие){
операторы1}else{
операторы2}
В общем случае условный оператор if имеет вид:
if (выражение 1) оператор1;else if (выражение 2) оператор
2;else if (выражение 3) оператор
3; else оператор N;
Оператор множественного выбора switch
Синтаксис оператора множественного выбора: switch (выражение){
case значение 1: оператор 1; break;case значение 2: оператор 2; break;…default: оператор по несовпадению
}
Пример 1#include <iostream>#include <cstdio>using namespace std;int main(){int a,b,res;char op;cout << "type a->" << endl;cin >> a;cout << "type b->" << endl;cin >> b;cout << "type op->" << endl;//op - операция (+,-,/,*)cin >> op;switch(op){case '+': res = a+b; cout << "res = " << res << endl; break;case '-': res = a-b; cout << "res = " << res << endl; break;case '*': res = a*b; cout << "res = " << res << endl; break;default : cout << "Unknown oparator" << endl;}}
Самостоятельно: реализуйте деление ипредусмотрите деление на ноль!
ЗАДАЧА 1#include <iostream>#include <cstdio>using namespace std;int main(){int a,b,res;char op;cout << "type a->" << endl;cin >> a;cout << "type b->" << endl;cin >> b;cout << "type op->" << endl;//op - операция (+,-,/,*)cin >> op;switch(op){case '+': res = a+b; cout << "res = " << res << endl; break;case '-': res = a-b; cout << "res = " << res << endl; break;case '*': res = a*b; cout << "res = " << res << endl; break;default : cout << "Unknown oparator" << endl;}}
Самостоятельно: распишите сегодняшние парыи их время!
ЗАДАЧА 2#include <iostream>using namespace std;int main(){ int item; puts("1. Night;"); puts("2. Morning;"); puts("3. Day;"); puts("4. Afternoon;"); puts("5. Evening;"); cout << "Print item number" << endl; cin >> item; switch(item) { case 1: puts("From 22 to 3 - Night"); break; case 2: puts("From 4 to 10 - Morning"); break; case 3: puts("From 11 to 14 - Day"); break; case 4: puts("From 15 to 16 - Afternoon"); break; case 5: puts("From 17 to 21 - Evening"); break; default: puts("Error!"); } return 0;}
Ввести 3 числа cin a,b,c типа double, вывести максимальное из этих чисел#include <iostream>#include <clocale>using namespace std;intmain(){double a,b,c,max;setlocale(LC_ALL,"russian");cout << "Введите a,b,c: << endl;cin >> a >> b >> c;
/*реализовать блоки if*/
/*вывод*/
/*закрытие тела main*/
ЗАДАЧА 3