Programming Introduction

Содержание

Слайд 2

Преподаватель Александр Загоруйко zagorujko@itstep.academy

Преподаватель

Александр Загоруйко
zagorujko@itstep.academy

Слайд 3

Первое задание Добавиться в телегу: 063 03 000 35

Первое задание

Добавиться в телегу: 063 03 000 35

Слайд 4

План презентации Программа курса ПП Литература и полезные сайты Создание проекта

План презентации

Программа курса ПП
Литература и полезные сайты
Создание проекта в Visual Studio

2017
Запуск HelloWorld-приложения
Вывод данных, типы данных
Переменные и константы
Ввод данных
Практика
Слайд 5

Программа курса Введение в процедурное программирование Вывод и ввод данных в

Программа курса

Введение в процедурное программирование
Вывод и ввод данных в консоль
Условные операторы,

битовые операции
Циклы, псевдографика, работа с отладчиком
Массивы, случайные числа, двумерные игры
Алгоритмы поиска и сортировки
Функции, шаблоны функций, рекурсия
Указатели, ссылки, динамическая память
Строки, регулярные выражения, структуры
Устное собеседование с заведующим кафедры
Слайд 6

Структура занятия Ответы на вопросы по ДЗ Краткое повторение прошлой темы

Структура занятия

Ответы на вопросы по ДЗ
Краткое повторение прошлой темы
Новая тема (презентация)
Перемена

по желанию 10 минут
Продолжение презентации
Практика (пишем код)
Выдача домашнего задания
Слайд 7

Примеры практики и ДЗ В каждом блоке в среднем по 12 заданий разных уровней сложности.

Примеры практики и ДЗ

В каждом блоке в среднем по 12 заданий

разных уровней сложности.
Слайд 8

Файлы заданий

Файлы заданий

Слайд 9

Файлы презентаций

Файлы презентаций

Слайд 10

Mystat

Mystat

Слайд 11

Сдача ДЗ

Сдача ДЗ

Слайд 12

Файловый сервер \\fs \ Преподаватели \ Загоруйко А \ Public

Файловый сервер

\\fs \ Преподаватели
\ Загоруйко А \ Public

Слайд 13

Литература по C++ https://drive.google.com/open?id=17wEY2Uv7GA3Wor-2waLPqVD-CN9wE9lw Прата Шилдт https://www.youtube.com/playlist?list=PL_TCIVgAqn3qMPCYSjOgpzjMDstkNZOLb

Литература по C++

https://drive.google.com/open?id=17wEY2Uv7GA3Wor-2waLPqVD-CN9wE9lw
Прата
Шилдт

https://www.youtube.com/playlist?list=PL_TCIVgAqn3qMPCYSjOgpzjMDstkNZOLb

Слайд 14

Литература must read https://drive.google.com/open?id=1eDH3NpXujyqr5PdKCwZKegvyLU3G0tu2 Для (будущих) тимлидов Про компиляторы Личностное развитие

Литература must read

https://drive.google.com/open?id=1eDH3NpXujyqr5PdKCwZKegvyLU3G0tu2
Для (будущих) тимлидов
Про компиляторы
Личностное развитие
Проектирование
Публичные выступления
Собеседования
Совершенный код

Слайд 15

Что пишут на С и С++

Что пишут на С и С++

Слайд 16

Что пишут на С и С++

Что пишут на С и С++

Слайд 17

Что пишут на С и С++

Что пишут на С и С++

Слайд 18

Что пишут на С и С++

Что пишут на С и С++

Слайд 19

Вакансии для программистов https://jobs.dou.ua/vacancies/?city=%D0%9E%D0%B4%D0%B5%D1%81%D1%81%D0%B0&category=C%2B%2B https://t.me/junior_dou_ua

Вакансии для программистов

https://jobs.dou.ua/vacancies/?city=%D0%9E%D0%B4%D0%B5%D1%81%D1%81%D0%B0&category=C%2B%2B

https://t.me/junior_dou_ua <<< !!!

Слайд 20

Зарплаты (Java, .Net, C++)

Зарплаты (Java, .Net, C++)

Слайд 21

Много букв про язык Си Си — компилируемый статически типизированный язык

Много букв про язык Си

Си — компилируемый статически типизированный язык программирования, разработанный в 1969 —

1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би. Первоначально был разработан для реализации операционной системы UNIX, но впоследствии был перенесён на множество других платформ. Согласно дизайну языка, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном программном обеспечении для множества устройств — от суперкомпьютеров до встраиваемых систем. Язык программирования Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C.

https://msdn.microsoft.com/ru-ru/library/cc953fe1.aspx <<< СПРАВКА !!!

Слайд 22

Идея языка Си Си используют для того, чтобы понять как работает

Идея языка Си

Си используют для того, чтобы понять как работает ПК,

так как он не скрывает многое «закулисье».
Си написали поверх ассемблера, чтобы было проще писать, но к сожалению не думали про удобство, поэтому можно считать, что этот язык создан «монстрами для монстров» ☺
Слайд 23

Деннис Ритчи и Кен Томпсон

Деннис Ритчи и Кен Томпсон

Слайд 24

Рейтинг языков https://www.tiobe.com/tiobe-index/

Рейтинг языков

https://www.tiobe.com/tiobe-index/

Слайд 25

В стартапах программируют на:

В стартапах программируют на:

Слайд 26

Какой язык выбрать? https://proglib.io/p/let-us-learn-program/

Какой язык выбрать?

https://proglib.io/p/let-us-learn-program/

Слайд 27

Советы для начинающих https://proglib.io/p/some-advice-for-newbie/ https://proglib.io/p/how-to-google-as-a-programmer/

Советы для начинающих

https://proglib.io/p/some-advice-for-newbie/
https://proglib.io/p/how-to-google-as-a-programmer/

Слайд 28

Что такое программирование? Программирование – это процесс разработки и поддержки программного

Что такое программирование?

Программирование – это процесс разработки и поддержки программного обеспечения.
В

узком смысле программированием называют процесс написания программы на конкретном языке программирования (этап кодирования).
Слайд 29

Этапы разработки ПО Анализ задачи – этап формализации задачи и определения

Этапы разработки ПО

Анализ задачи – этап формализации задачи и определения методов

её решения
Проектирование – этап разработки структуры системы, определения способов взаимодействия компонентов, выбора структур для хранения данных, выбор алгоритма и т.д.
Кодирование – этап написания программного кода компонентов системы
Тестирование – этап исследования и испытания программного продукта
Документирование – этап составления руководств и документации к программному продукту
Сопровождение – этап улучшения, оптимизации ПО после передачи в эксплуатацию
Слайд 30

Что такое программа? Программа — представленная в объективной форме совокупность данных

Что такое программа?

Программа — представленная в объективной форме совокупность данных и

команд, предназначенных для выполнения ЭВМ с целью получения определённого результата.
Данные – это информация, которую обрабатывает программа.
Слайд 31

Что такое алгоритм? Алгоритм – это точный набор инструкций, описывающий порядок

Что такое алгоритм?

Алгоритм – это точный набор инструкций, описывающий порядок действий

исполнителя для достижения цели – решения задачи.
Слайд 32

Свойства алгоритма Понятность – алгоритм должен включать только те инструкции, которые

Свойства алгоритма

Понятность – алгоритм должен включать только те инструкции, которые доступны

и понятны исполнителю
Определённость – в любой момент времени следующий шаг работы однозначно определяется состоянием системы
Конечность – алгоритм должен состоять из конечной последовательности шагов
Результативность – алгоритм должен завершиться с определённым результатом – решением поставленной задачи
Массовость – алгоритм может применяться к некоторому набору входных данных
Эффективность – алгоритм должен минимально расходовать ресурсы
Слайд 33

Способы записи алгоритмов Словесная или вербальная форма Псевдокод Блок-схема – схематическая

Способы записи алгоритмов

Словесная или вербальная форма
Псевдокод
Блок-схема – схематическая запись алгоритма в

виде последовательности блоков и соединительных линий, связывающих их
https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC
Слайд 34

Пример вербального алгоритма

Пример вербального алгоритма

Слайд 35

Задания на алгоритмы Алгоритм приготовления шаурмы Алгоритм телефонного разговора Алгоритм получения

Задания на алгоритмы

Алгоритм приготовления шаурмы
Алгоритм телефонного разговора
Алгоритм получения отличной оценки на

экзамене по С
Алгоритм лечения простуды
Слайд 36

Основные типы блоков

Основные типы блоков

Слайд 37

Начало и конец алгоритма Элемент отображает вход в программу и выход

Начало и конец алгоритма

Элемент отображает
вход в программу и
выход из неё
(наиболее

частое применение − начало и конец программы). Внутри фигуры записывается соответствующее действие.
Слайд 38

Блок действия Выполнение одной или нескольких операций, обработка данных любого вида

Блок действия

Выполнение одной или
нескольких операций,
обработка данных любого вида (изменение

значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции, например, операцию присваивания: a = 10 * b + c;
Слайд 39

Данные (ввод-вывод) Преобразование данных в форму, пригодную для обработки (ввод) или

Данные (ввод-вывод)

Преобразование данных в
форму, пригодную для
обработки (ввод) или отображения

результатов обработки (вывод). Данный символ не определяет тип носителя данных (для указания типа носителя данных используются специфические символы).
Слайд 40

Логический блок (блок условия) Отображает решение или функцию переключательного типа с

Логический блок (блок условия)

Отображает решение или
функцию переключательного
типа с одним входом

и двумя
или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определённых внутри этого элемента.
Слайд 41

Структура алгоритма Линейная – инструкции выполняются последовательно друг за другом Разветвлённая

Структура алгоритма

Линейная – инструкции выполняются последовательно друг за другом
Разветвлённая – алгоритм,

который содержит условие, в результате проверки которого может произойти разделение на несколько ветвей алгоритма
Циклическая – алгоритм, который предусматривает многократное повторение одних и тех же инструкций
Слайд 42

Линейная структура

Линейная структура

Слайд 43

Пример линейного алгоритма

Пример линейного алгоритма

Слайд 44

Разветвлённый алгоритм

Разветвлённый алгоритм

Слайд 45

Ещё пример (деление)

Ещё пример (деление)

Слайд 46

Примеры

Примеры

Слайд 47

Слайд 48

Циклический алгоритм

Циклический алгоритм

Слайд 49

Ещё пример Алгоритм вычисления произведения всех чисел от 1 до 5 включительно.

Ещё пример

Алгоритм вычисления произведения
всех чисел от 1 до 5 включительно.

Слайд 50

Задания на блок-схемы Алгоритм покупки футболки Алгоритм знакомства с девушкой Как

Задания на блок-схемы

Алгоритм покупки футболки
Алгоритм знакомства с девушкой
Как отличить кошку от

собаки
Любая популярная пословица или поговорка
Слайд 51

Язык низкого уровня

Язык низкого уровня

Слайд 52

Уровни языков

Уровни языков

Слайд 53

Сравнение уровней https://techrocks.ru/2018/11/07/low-middle-high-level-programming-languages/

Сравнение уровней

https://techrocks.ru/2018/11/07/low-middle-high-level-programming-languages/

Слайд 54

Трансляция программ Для выполнения программы на компьютере её необходимо транслировать –

Трансляция программ

Для выполнения программы на компьютере её необходимо транслировать – перевести

в машинный (байтовый) код.
Существует 2 метода – трансляции:
• Компиляция
• Интерпретация
Слайд 55

Компиляция Исходный код программы переводится с определённого языка программирования на машинный

Компиляция

Исходный код программы переводится с определённого языка программирования на машинный код

специальной программой – компилятором
Машинный код может многократно выполняться процессором
Машинный код является непереносимым между разными аппаратными и программными платформами
Слайд 56

Интерпретация Программа, команда за командой, переводится в машинный код, и каждая

Интерпретация

Программа, команда за командой, переводится в машинный код, и каждая инструкция

сразу же выполняется специальной программой – интерпретатором
На компьютере, который запускает такую программу, обязательно должен быть установлен интерпретатор
Это позволяет добиться переносимости между платформами
Слайд 57

SDK SDK (от англ. software development kit) — комплект средств разработки,

SDK

SDK (от англ. software development kit) — комплект средств разработки, который позволяет специалистам

по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, игровых консолей, операционных систем и прочих платформ.
Слайд 58

Скачать Visual Studio 2019 https://www.visualstudio.com/ru/downloads/ (Community Version!)

Скачать Visual Studio 2019
https://www.visualstudio.com/ru/downloads/
(Community Version!)

Слайд 59

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

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

Слайд 60

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

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

Слайд 61

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

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

Слайд 62

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

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

Слайд 63

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

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

Слайд 64

Создание проекта Запуск проекта – Ctrl + F5.

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

Запуск проекта – Ctrl + F5.

Слайд 65

#include Данная строчка подключает в программу библиотеку под названием iostream. Библиотека

#include

Данная строчка подключает в программу библиотеку под названием iostream.

Библиотека - файл, в котором содержатся описания различных функций, реализованных другими программистами. Данная программа получила возможность использовать функции находящиеся в библиотеке iostream.
Слайд 66

using namespace std; В языке С++ существует понятие пространство имён. Это

using namespace std;

В языке С++ существует понятие пространство имён. Это

пространство определяет некую область, на которую приходятся действия оператора или функции. Для того, чтобы использовать оператор, находящийся в определенном пространстве, необходимо подключить это пространство в свою программу.
Слайд 67

Пространство имён Механизм пространств имён позволяет избежать конфликта имён (т.е. их

Пространство имён

Механизм пространств имён позволяет избежать конфликта имён (т.е. их совпадения)

при командной разработке проекта. Когда-нибудь, мы создадим не одно своё пространство имён, а пока будем пользоваться стандартным.
Слайд 68

Понятие «main» main – название основной функции приложения, т.н. точка входа

Понятие «main»

main – название основной функции приложения, т.н. точка входа –

отсюда программа стартует, и все команды будут выполняться построчно одна за другой, сверху вниз. Пока что договоримся все команды писать между фигурными скобками этой функции. Придёт время, и мы научимся делать дополнительные функции, кроме мэйна.
Слайд 69

Вывод данных на экран cout Существуют символы, которые имеют специальное назначение.

Вывод данных на экран
cout << “Hello world!\n”;
Существуют символы, которые имеют специальное

назначение. Они могут быть представлены с помощью т.н. Escape-последовательностей (управляющих последовательностей).
Слайд 70

Escape-последовательность Escape-последовательность – это специальная комбинация символов, которая начинается с символа

Escape-последовательность

Escape-последовательность – это специальная комбинация символов, которая начинается с символа обратного

слэша ( \ ) и заменяется транслятором на определенный символ, который имеет специальное значение, либо его нельзя использовать в данном контексте, либо он отсутствует на клавиатуре.
Слайд 71

Основные последовательности \n – переход на новую строку \t – табуляция

Основные последовательности

\n – переход на новую строку
\t – табуляция (выравнивание)
\\ -

просто слэш
\” – кавычка в тексте
\0 – завершение строки
\r – перевод каретки
\a – звуковой сигнал
Слайд 72

Домашнее задание Добавиться в телеграм! Установить Visual Studio Составить формальный алгоритм

Домашнее задание

Добавиться в телеграм!
Установить Visual Studio
Составить формальный алгоритм на одну из

предложенных тем
Выполнить блок-схему (нарисовать на листочке бумаги и потом сфотографировать, либо выполнить в графическом редакторе) на одну из предоставленных тем
Выполнить все задания на cout
Прочитать 1-2 начальные главы рекомендованных учебников по C
Слайд 73

Полезные сайты по С++ https://techrocks.ru/2018/03/31/free-online-games-to-learn-programming/ https://www.codecademy.com/learn/learn-c-plus-plus

Полезные сайты по С++

https://techrocks.ru/2018/03/31/free-online-games-to-learn-programming/
https://www.codecademy.com/learn/learn-c-plus-plus

Слайд 74

Пример работы студентов ☺

Пример работы студентов ☺

Слайд 75

Спасибо за внимание!

Спасибо за внимание!