programming c++ (begin-if-else)

30
Стив Джобс: «I think everybody should learn how to program a computer because it teaches you how to think» «Каждый должен учиться программированию, потому что это учит людей думать».

Upload: moscow-aviation-institute-national-research-university-mai

Post on 22-Feb-2017

277 views

Category:

Science


0 download

TRANSCRIPT

Page 1: Programming c++ (begin-if-else)

Стив Джобс: «I think everybody should learn how to program a computer because it teaches you how to think» «Каждый должен учиться программированию, потому что это учит людей думать».

Page 2: Programming c++ (begin-if-else)

В современном мире изучение программирования открывает перед человеком большие возможности и перспективы. И дело не только в шестизначных цифрах, которые готовы платить крупные компании за работу квалифицированных IT-специалистов, но и в том, что программирование — ключ к пониманию особенностей работы современной техники и, независимо от избранной профессии, базовые навыки программирования могут быть полезными всем.

Page 3: Programming c++ (begin-if-else)

«Мы хотим сорвать покров с магического искусства программирования, который отделяет вас от Марка Цукерберга», — говорит глава Code.org, экс-менеджер Microsoft Хади Партови.

Page 4: Programming c++ (begin-if-else)

ТИПЫ ДАННЫХ:

int – целочисленный char – символьный bool – логический float – вещественный с плавающей точкой одиночной точности, 7 зн. double – вещественный с плавающей точкой двойной точности, 14 зн.

4141

8

4

bytebytebytebyte

byte

byte

Page 5: Programming c++ (begin-if-else)

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

Page 6: Programming c++ (begin-if-else)

Форматирование потока

Page 7: Programming c++ (begin-if-else)

width(), precision() и fill().

Page 8: Programming c++ (begin-if-else)

int width(int wide);      int width() const;

Page 9: Programming c++ (begin-if-else)

int precision(int prec);      int precision() const;

Page 10: Programming c++ (begin-if-else)

char fill(char type ch);      char fill() const;

Page 11: Programming c++ (begin-if-else)

x sqrt(x) х^20000001 0000001 00000010000002 01.4142 00000040000003 01.7321 00000090000004 0000002 00000160000005 02.2361 00000250000006 02.4495 0000036

Page 12: Programming c++ (begin-if-else)

ТаблицаФлаги форматирования и их назначениеФлаг Назначение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 после каждой операции вставки в поток

Page 13: Programming c++ (begin-if-else)

В качестве второго параметра функции setf() можно использовать следующие константы, определенные в классе ios:  static const long basefield; // = dec | oct | hex      static const long adjustfield; // = left | right | internal      static const long floatfield; // = scientific | fixed

Page 14: Programming c++ (begin-if-else)

Таблица Манипуляторы ввода-вывода и их назначение

Манипулятор Использование Назначение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 Ввод Устанавливает пропуск символов-заполнителей

Page 15: Programming c++ (begin-if-else)

     . . .      char array[SIZE];      cin>>setw(sizeof(array));    // Или cin.width(sizeof(array));                                                   // Ограничивает число вводимых символов      . . .                                        // и позволяет избежать выхода                                                   // за границу массива.      cin >> array;

Page 16: Programming c++ (begin-if-else)

ТЕМА:«Программирование ветвящихся

алгоритмов на языке C++»

Page 17: Programming c++ (begin-if-else)

Начало

Конец

Page 18: Programming c++ (begin-if-else)
Page 19: Programming c++ (begin-if-else)

ОПЕРАТОРЫ ОТНОШЕНИЯ В УСЛОВНЫХ ВЫРАЖЕНИЯХ< Меньше

<= Меньше или равно

> Больше>= Больше или

равно== Равно! = Не равно

Page 20: Programming c++ (begin-if-else)

Условный оператор с одной ветвью

if условие then команды end

Условный оператор с двумя ветвями

if условие then команды1 else команды2 end

Page 21: Programming c++ (begin-if-else)

if (условие) фрагмент кода 1else фрагмент кода 2

Использование условного оператора в C

Page 22: Programming c++ (begin-if-else)

Условие – это любое выражение, которое возвращает булево значение true или false.

Page 23: Programming c++ (begin-if-else)

if (условие){ операторы1 }

else { операторы2 }

Замена одиночного оператора блокомБлок состоит из группы операторов, заключенных в фигурные скобки ({ и }).Фрагменты кода операторы1 и операторы2 являются блоками, т.к. заключены в фигурные скобки.Использовать блоки, даже в случае одного оператора.

Page 24: Programming c++ (begin-if-else)

Фигурные скобки, отмечающие границы блока, могут находится на отдельных строках:

if (условие){

операторы1}else{

операторы2}

Page 25: Programming c++ (begin-if-else)

В общем случае условный оператор if имеет вид:

if (выражение 1) оператор1;else if (выражение 2) оператор

2;else if (выражение 3) оператор

3; else оператор N;

Page 26: Programming c++ (begin-if-else)

Оператор множественного выбора switch

Синтаксис оператора множественного выбора: switch (выражение){

case значение 1: оператор 1; break;case значение 2: оператор 2; break;…default: оператор по несовпадению

}

Page 27: Programming c++ (begin-if-else)

Пример 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;}}

Page 28: Programming c++ (begin-if-else)

Самостоятельно: реализуйте деление ипредусмотрите деление на ноль!

ЗАДАЧА 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;}}

Page 29: Programming c++ (begin-if-else)

Самостоятельно: распишите сегодняшние парыи их время!

ЗАДАЧА 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;}

Page 30: Programming c++ (begin-if-else)

Ввести 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