Мы научим программированию

Содержание

Слайд 2

Зачем программирование вообще нужно?

Нас окружают электронные устройства: компьютеры, смартфоны и. т.д.
Все эти

Зачем программирование вообще нужно? Нас окружают электронные устройства: компьютеры, смартфоны и. т.д.
устройства «как живые» - реагируют на наши действия и действия других людей (человек послал нам сообщение в мессенджере – наш смартфон просигнализировал нам об этом)
Любое «самостоятельное поведение» электронного устройства описывается программистами
За каждой программой или сайтом – стоит один или много программистов
Операционные системы – также пишутся программистами
Без программ – все электронные устройства – это кирпичи

Слайд 3

Любое поведение = последовательность действий

… то есть алгоритм!

Любое поведение = последовательность действий … то есть алгоритм!

Слайд 4

Какой может быть алгоритм? Как его можно охарактеризовать?

Результативность. (Должен иметь цель)
Корректность (Что

Какой может быть алгоритм? Как его можно охарактеризовать? Результативность. (Должен иметь цель)
получается после выполнения? Правильный ли результат)
Точность (Не должно быть разночтений)
Понятность (Должен быть понятен исполнителю)
Дискретность. Все шаги должны быть расшифрованы в алгоритме
Массовость. Можно ли алгоритм его применять для похожих задач?

Слайд 5

Жизнь переменчивая штука, переменчивы и алгоритмы.

Жизнь переменчивая штука, переменчивы и алгоритмы.

Слайд 6

Блок-схема - графический способ описания алгоритмов

Блок-схема - графический способ описания алгоритмов

Слайд 9

Любая программа – это реализация алгоритма

Поэтому блок-схемы используют для описания программ

Любая программа – это реализация алгоритма Поэтому блок-схемы используют для описания программ

Слайд 10

Куча языков – но компьютер один. Это как? Он полиглот?

Компьютер

С++

C#

PHP

Python

Куча языков – но компьютер один. Это как? Он полиглот? Компьютер С++ C# PHP Python

Слайд 11

Нет, он не полиглот

Компьютер

С++

C#

PHP

Python

Компилятор / Интерпретатор

Машинный код

Нет, он не полиглот Компьютер С++ C# PHP Python Компилятор / Интерпретатор Машинный код

Слайд 12

Интерпретатор vs Компилятор

Программист

Пользователь

Компьютер программиста

Компьютер пользователя

Программа на С++

Компилятор

Файл *.exe

Машинный код

Выполнение

Программист

Пользователь

Компьютер программиста

Компьютер пользователя

Программа на

Интерпретатор vs Компилятор Программист Пользователь Компьютер программиста Компьютер пользователя Программа на С++
Python

Выполнение

Машинный код

Интерпретатор

Слайд 13

Создание нового проекта

Создание нового проекта

Слайд 14

Создание нового проекта

Создание нового проекта

Слайд 15

Создание нового проекта

Создание нового проекта

Слайд 16

Создание нового проекта

Создание нового проекта

Слайд 17

Создание нового проекта

Создание нового проекта

Слайд 18

Создание нового проекта

Создание нового проекта

Слайд 19

Первая программа

В открывшемся файле нужно набрать следующее:
#include
using namespace std;
int main()
{
cout<<"Hello, World!\n";
return

Первая программа В открывшемся файле нужно набрать следующее: #include using namespace std;
0;
}

Слайд 20

#include
using namespace std;
int main()
{
cout<<"Hello, World!\n";
return 0;
}

“Пристыковка”(включение) дополнительный файлов. Дело в том,

#include using namespace std; int main() { cout return 0; } “Пристыковка”(включение)
что как правило программа использует дополнительные части, описанные в других файлах. В нашем случае используется оператор вывода, который описан в файле iostream. Но компилятору надо дать понять в каком файле описан этот оператор

Слайд 21

#include
using namespace std;
int main()
{
cout<<"Hello, World!\n";
return 0;
}

Внутри файла iostream cout заключён в

#include using namespace std; int main() { cout return 0; } Внутри
пространство имён std (это некий контейнер). Если не написать “using namespace std;”,
то пришлось бы написать std::cout << …

Слайд 22

#include
using namespace std;
int main()
{
cout<<"Hello, World!\n";
return 0;
}

Инструкции, написанные между вот этими фигурными

#include using namespace std; int main() { cout return 0; } Инструкции,
скобками будут выполняться, то есть сначала на экране отпечатается «Hello, World!», а потом выполниться оператор return 0;

Слайд 23

#include
using namespace std;
int main()
{
cout<<"Hello, World!\n";
return 0;
}

Между кавычками можно написать строку, которую

#include using namespace std; int main() { cout return 0; } Между
вы хотите, чтобы компьютер вывел на экран и он в точности выведет эту строчку на экран

Слайд 24

#include
using namespace std;
int main()
{
cout<<"Hello, World!\n";
cout<<"I am Igor\n";
return 0;
}

Если написать подряд два

#include using namespace std; int main() { cout cout return 0; }
оператора – программа выведет две строки, указанные в каждом из операторов вывода друг за другом:
Hello, World!
I am Igor

Слайд 25

#include
using namespace std;
int main()
{
cout<<"Hello, World!\n" <<"I am Igor\n";
return 0;
}

Тот же самый

#include using namespace std; int main() { cout return 0; } Тот
эффект будет, если написать две строки в одном операторе вывода, но разделить их символами «<<»
Hello, World!
I am Igor

Слайд 26

А что если нужно в строке вывести сам символ кавычек? Ведь кавычками

А что если нужно в строке вывести сам символ кавычек? Ведь кавычками
мы обозначаем границы строк в исходном коде. Для этого надо перед кавычкой, которую нужно вывести на экран добавить символ «\»
#include
using namespace std;
int main()
{
cout<<"Peter and Basil are \"old friends\"";
return 0;
}
Результат:
Peter and Basil are "old friends"

Слайд 27

Другие escape-последовательности

Другие escape-последовательности

Слайд 28

Отключение escape-последовательностей

Отключение escape-последовательностей

Слайд 30

Вывод строк конечно же хорошо, но как запрограммировать сложение двух чисел, введённых

Вывод строк конечно же хорошо, но как запрограммировать сложение двух чисел, введённых
пользователем?

#include
using namespace std;
int main()
{
int a, b, c;
cout<<"Please, enter to numbers, for example 2 3 + Enter: ";
cin >> a;
cin >> b;
c = a+b;
cout <<"Result: "<< c;
return 0;
}

Слайд 31

#include
using namespace std;
int main()
{
int a, b, c;
cout<<"Please, enter to numbers, for

#include using namespace std; int main() { int a, b, c; cout
example 2 3 + Enter: ";
cin >> a;
cin >> b;
c = a+b;
cout <<"Result: "<< c;
return 0;
}

Объявление переменных. Переменная – это такая коробочка, в которой лежит конкретное значение. Это значение можно менять. Например, сначала присвоить ему число 10, потом через какое-то время его поменять и присвоить ему значение 11. В этой программе у нас три переменных с именами a, b и с. С помощью этих имён (a, b и с) остальные операторы могут обращаться к значению соответствующих переменных

Слайд 32

Правила составления имён переменных

Прописные и строчные буквы латинского алфавита (в с++ Age

Правила составления имён переменных Прописные и строчные буквы латинского алфавита (в с++
и age — это два разных имени)
Цифры (цифра не может быть первым символом)
Символ подчеркивания «_» (его можно использовать в том числе для обозначения пробелов, например age_of_man)
Нельзя называть переменную ключевыми словами языка программирования
Нельзя использовать никакие другие символы, кроме допустимых

Слайд 33

#include
using namespace std;
int main()
{
int a, b, c;
cout<<"Please, enter to numbers, for

#include using namespace std; int main() { int a, b, c; cout
example 2 3 + Enter: ";
cin >> a;
cin >> b;
c = a+b;
cout <<"Result: "<< c;
return 0;
}

int – это тип данных, то есть размер коробочек. Тип данных задаёт сколько байт нужно выделить для этой переменной в память и какие значения эта переменная может принимать. В с++ при объявлении любой переменной нужно указывать её тип

Слайд 34

Типы данных в с++ (целочисленные)

Типы данных в с++ (целочисленные)

Слайд 35

Типы данных в с++ (вещественные)

Типы данных в с++ (вещественные)

Слайд 36

Типы данных в с++ (логические)

Типы данных в с++ (логические)

Слайд 37

#include
using namespace std;
int main()
{
int a, b, c;
cout<<"Please, enter to numbers, for

#include using namespace std; int main() { int a, b, c; cout
example 2 3 + Enter: ";
cin >> a;
cin >> b;
c = a+b;
cout <<"Result: "<< c;
return 0;
}

Оператор ввода cin. С помощью этого оператора мы кладём введённое с клавиатуры значение в переменные-коробочки a и b

Слайд 38

#include
using namespace std;
int main()
{
int a, b, c;
cout<<"Please, enter to numbers, for

#include using namespace std; int main() { int a, b, c; cout
example 2 3 + Enter: ";
cin >> a;
cin >> b;
c = a+b;
cout <<"Result: "<< c;
return 0;
}

Складываем значение, лежащее в переменных a и b в переменную c

Слайд 39

#include
using namespace std;
int main()
{
int a, b, c;
cout<<"Please, enter to numbers, for

#include using namespace std; int main() { int a, b, c; cout
example 2 3 + Enter: ";
cin >> a;
cin >> b;
c = a+b;
cout <<"Result: "<< c;
return 0;
}

Выводим значение с на экран. Помимо строк с помощью оператора cout можно выводить значения переменных.

Слайд 41

Вот это что такое? Это – литералы. То есть конкретные значения, заданные

Вот это что такое? Это – литералы. То есть конкретные значения, заданные
прямо в коде.
Для каждого типа данных литералы пишутся в разном формате (например, у литералов вещественного типа данных есть точка и дробная часть после неё)

Слайд 42

Литералы

Литералы

Слайд 43

А теперь поработаем с вещественными числами!

А теперь поработаем с вещественными числами!

Слайд 45

Константы

Кроме переменных есть ещё и константы. Константы – это тоже коробочки, у

Константы Кроме переменных есть ещё и константы. Константы – это тоже коробочки,
которых есть размер (то есть тип), но в них можно только один раз положить значение – при объявлении. Если попытаться положить в них значение второй раз – компилятор выдаст ошибку. Перед объявлением константы пишется ключевое слово «const» затем тип данных, затем (имя как у переменной), а затем знак равенства и какое-то конкретное значение:
const Тип_данных Имя = Значение;
Например, целочисленная константа со значением 5:
const int a = 5;
Но если потом попытаться поменять значение константы, то будет ошибка:
a = 10; // Ошибка!
Имя файла: Мы-научим-программированию.pptx
Количество просмотров: 43
Количество скачиваний: 0