Основы программирования

Содержание

Слайд 2

Линейный код

Линейный код

Слайд 3

Hello World – код программы #include void main() { printf("Hello World!"); }

Hello World – код программы

#include
void main()
{
printf("Hello World!");
}

Слайд 4

Привет мир – код программы #include #include void main() { printf("Hello World!"); printf("Привет мир"); }

Привет мир – код программы

#include
#include
void main()
{
printf("Hello World!");
printf("Привет мир");
}

Слайд 5

Привет мир – код программы #include #include void main() { printf("Hello

Привет мир – код программы

#include
#include
void main()
{
printf("Hello World!");
printf("Привет мир");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
printf("Hello World!");
printf("Привет

мир");
}
Слайд 6

Привет мир\n – код программы #include #include void main() { printf("Hello

Привет мир\n – код программы

#include
#include
void main()
{
printf("Hello World!\n");
printf("Привет мир\n");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
printf("Hello World!\n");
printf("Привет

мир\n");
}
Слайд 7

Привет мир\ Управляющие последовательности Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Привет мир\

Управляющие последовательности

Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Слайд 8

Переменные. Вывод. // перевод скорости из м/сек в км/час #include #include

Переменные. Вывод.

// перевод скорости из м/сек в км/час
#include
#include
void

main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
float v1, v2;
v1 = 10;
v2 = v1 * 3.6;
printf("Скорость в метрах в секунду=");
printf("%f\n", v1);
printf("Скорость в километрах в час=%f", v2);
}
Слайд 9

Переменные. Вывод. 2

Переменные. Вывод. 2

Слайд 10

Переменные. Вывод. 3

Переменные. Вывод. 3

Слайд 11

Вывод - printf Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Вывод - printf

Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Слайд 12

Переменные - типы Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Переменные - типы

Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Слайд 13

Переменные - операции Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Переменные - операции

Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Слайд 14

Комментарии в программе Для чего используются комментарии: Для пояснения кода Для временного отключения части кода

Комментарии в программе

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

кода
Слайд 15

Комментарии в программе Для чего используются комментарии: Для пояснения кода Для временного отключения части кода

Комментарии в программе

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

кода
Слайд 16

Комментарии в программе Для чего используются комментарии: Для пояснения кода Для временного отключения части кода

Комментарии в программе

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

кода
Слайд 17

Комментарии в программе Какие виды комментариев могут быть Строчные – от

Комментарии в программе

Какие виды комментариев могут быть
Строчные – от // до

конца строки
Ctrl+K+C Закомментировать строчными комментариями выделенные строки
Ctrl+K+U Раскомментировать строчные комментарии для выделенных строк
Слайд 18

Комментарии в программе Какие виды комментариев могут быть 2) Блочные от

Комментарии в программе

Какие виды комментариев могут быть
2) Блочные от /* до

*/ в любом месте программы дальше по тексту
Слайд 19

Ввод информации. // перевод скорости из м/сек в км/час #include #include

Ввод информации.

// перевод скорости из м/сек в км/час
#include
#include
void

main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
float v1, v2;
printf("Введите скорость в метрах в секунду=");
scanf_s("%f", &v1);
v2 = v1 * 3.6;
printf("Скорость в метрах в секунду=");
printf("%f\n", v1);
printf("Скорость в километрах в час=%f", v2);
}
Слайд 20

Ввод информации.2 Программа в консоли ждет ввода числа

Ввод информации.2

Программа в консоли ждет ввода числа

Слайд 21

Ввод информации.3 Введите число «20» и нажмите Enter

Ввод информации.3

Введите число «20» и нажмите Enter

Слайд 22

Ввод информации.4 После нажатия Enter программа выполнила вычисления и вывела результат в консоль

Ввод информации.4

После нажатия Enter программа выполнила вычисления и вывела результат

в консоль
Слайд 23

Слайд 24

Лабораторная работа №2 Ввод и вывод переменных

Лабораторная работа №2

Ввод и вывод переменных

Слайд 25

Задача 1. Падение с высоты Задается высота, с которой падает предмет.

Задача 1. Падение с высоты

Задается высота, с которой падает предмет.
Нужно рассчитать,

через сколько секунд предмет коснётся земли.
Слайд 26

Задача 1. Падение с высоты. 2 Задается высота, с которой падает

Задача 1. Падение с высоты. 2

Задается высота, с которой падает предмет.
Нужно

рассчитать, через сколько секунд предмет коснётся земли.
Слайд 27

Задача 2. Падение с высоты Вводится высота, с которой падает предмет.

Задача 2. Падение с высоты

Вводится высота, с которой падает предмет.
Нужно рассчитать,

через сколько секунд предмет коснётся земли.
Слайд 28

Задача 2. Падение с высоты 2 Вводится высота, с которой падает

Задача 2. Падение с высоты 2

Вводится высота, с которой падает предмет.
Нужно

рассчитать, через сколько секунд предмет коснётся земли.
Слайд 29

Задача 2. Падение с высоты 3 Запустите программу. Введите высоту 12 метров.

Задача 2. Падение с высоты 3

Запустите программу. Введите высоту 12 метров.

Слайд 30

Задача 2. Падение с высоты 4 Запустите программу. Введите высоту 20 метров.

Задача 2. Падение с высоты 4

Запустите программу. Введите высоту 20 метров.

Слайд 31

Задача 3. Покупаем квартиру Вводится площадь квартиры и стоимость квадратного метра.

Задача 3. Покупаем квартиру

Вводится площадь квартиры и стоимость квадратного метра.
Выводится сколько

будет стоить эта квартира.
Слайд 32

Задача 3. Покупаем квартиру Вводится площадь квартиры и стоимость квадратного метра.

Задача 3. Покупаем квартиру

Вводится площадь квартиры и стоимость квадратного метра.
Выводится сколько

будет стоить эта квартира.
Слайд 33

Задача 3. Покупаем квартиру Вводится площадь квартиры и стоимость квадратного метра.

Задача 3. Покупаем квартиру

Вводится площадь квартиры и стоимость квадратного метра.
Выводится сколько

будет стоить эта квартира.
Слайд 34

Задача 4. Покупаем квартиру - время Вводится площадь квартиры и стоимость

Задача 4. Покупаем квартиру - время

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

метра.
Вводится зарплата в месяц.
Выводится сколько будет стоить эта квартира.
Выводится сколько месяцев нужно будет собирать деньги на квартиру, при условии что 50% зарплаты можно откладывать на квартиру.
Слайд 35

Домашнее задание по ЛР 2 0. ТОЧНО УЖЕ Выкачать и установить

Домашнее задание по ЛР 2

0. ТОЧНО УЖЕ Выкачать и установить

MS VS на личном компьютере или на том компьютере, которым вы будете пользоваться для выполнения домашних заданий и лабораторных работ по Си.
Из курса математики взять простую расчетную задачу и реализовать её на Си. (например, вычисление площади, или объема, или корня уравнения, или что-то подобное – по известной из курса математики формуле и/или алгоритму)
Взять из курса физики/химии или других прикладных предметов (не математики) идею для расчетной задачи и реализовать её (например, вычисление скорости, давления, времени, силы тока и т.п.).
Взять из повседневной жизни или прикладной экономической жизни идею и реализовать расчетную задачу (например, расчет времени возвращения кредита, расчет переплаты за кредит и т.п.)
В итоге у каждого должно быть 3 уникальных задачи.
Если задачи не уникальны – кто первым сдал – тот и автор, остальные придумывают и реализуют другие варианты. Все задачи должны быть принесены на следующее занятие в классе и сданы на нем.
Слайд 36

Слайд 37

Развилки

Развилки

Слайд 38

Развилка (if) if (Условие) Действие1; else Действие2;

Развилка (if)

if (Условие)
Действие1;
else
Действие2;

Слайд 39

Найти максимум - полная развилка Фрагмент кода: if (val1 > val2)

Найти максимум - полная развилка

Фрагмент кода:
if (val1 > val2) {
max_val =

val1;
} else {
max_val = val2;
}
Слайд 40

Усеченная развилка if (Условие) { Действие; }

Усеченная развилка

if (Условие) {
Действие;
}

Слайд 41

Минимум из 3 чисел void main() { int val1 = 9;

Минимум из 3 чисел

void main() {
int val1 = 9;
int

val2 = 10;
int val3 = 6;
int min_val = val1; // берем за минимальный val1
if (val2 < min_val) { // если второе меньше
min_val = val2; // то теперь минимальное val2
}
if (val3 < min_val) { // если третье меньше
min_val = val3; // то теперь минимальное val3
}
printf("min_val = %i", min_val);
}
Слайд 42

Логические операции if (time = 6) rest(); if (!closed && money > 1000) eat();

Логические операции

if (time < 7.00 || day >= 6) rest();
if

(!closed && money > 1000) eat();
Слайд 43

Штраф за превышение скорости – усеченная развилка void main() { int

Штраф за превышение скорости – усеченная развилка

void main() {
int v_max

= 40; // Максимально разрешенная скорость
int v = 70; // Реальная скорость!
if (v <= v_max) {
printf("Все по правилам!");
}
if ((v > v_max) && (v <= v_max + 20)) {
printf("не штрафуется");
}
if ((v > v_max + 20) && (v <= v_max + 40)) {
printf("500");
}
if ((v > v_max + 40) && (v <= v_max + 60)) {
printf("1000-1500");
}
if ((v > v_max + 60) && (v <= v_max + 80)) {
printf("2000-2500");
}
if (v > v_max + 80) {
printf("5000");
}
}
Слайд 44

Штраф за превышение скорости

Штраф за превышение скорости

Слайд 45

Развилки – операторы Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Развилки – операторы

Источник: https://codernet.ru/books/c_plus/programmirovanie_na_s_dlya_nachinayushhix_3-e_izd/

Слайд 46

Слайд 47

Лабораторная работа №3 Развилки

Лабораторная работа №3

Развилки

Слайд 48

Задача 1. Какое число больше? Ввести два числа. Вывести бОльшее число. И вывести меньшее число.

Задача 1. Какое число больше?

Ввести два числа. Вывести бОльшее число. И

вывести меньшее число.
Слайд 49

Задача 1. Какое число больше? (2) Ввести два числа. Вывести бОльшее число. И вывести меньшее число.

Задача 1. Какое число больше? (2)

Ввести два числа. Вывести бОльшее число.

И вывести меньшее число.
Слайд 50

Задача 1. Какое число больше? (3) Блок схема для программы

Задача 1. Какое число больше? (3)

Блок схема для программы

Слайд 51

Задача 2. Максимум из 5 чисел Ввести пять целых чисел. Вывести

Задача 2. Максимум из 5 чисел

Ввести пять целых чисел. Вывести самое

большее из введенных чисел. Для решения – используйте схему с предыдущего слайда.
Слайд 52

Задача 2. Максимум из 5 чисел (2) Ввести пять целых чисел.

Задача 2. Максимум из 5 чисел (2)

Ввести пять целых чисел. Вывести

самое большее из введенных чисел. Для решения – используйте схему с предыдущего слайда.
В этом коде не хватает сколько-то строк – нужно их добавить!
Слайд 53

Задача 2. Максимум из 5 чисел (3) Самостоятельно – нарисуйте блок схему для задачи.

Задача 2. Максимум из 5 чисел (3)

Самостоятельно – нарисуйте блок схему

для задачи.
Слайд 54

Задача 3. Тепло-холодно Вводится температура в помещении. Нужно вывести: если температура

Задача 3. Тепло-холодно

Вводится температура в помещении.
Нужно вывести:
если температура
ниже +18 –

«холодно»
От +18, но ниже +22 – «прохладно»
От +22, но ниже +26 – «тепло»
От +26 и выше – «жарко»
Нужно сделать:
Код программы
Подобрать тесты, чтобы проверить все ситуации.
После проверки тестами – нарисовать блок схему.
Слайд 55

Задача 3. Тепло-холодно (2) тесты, чтобы проверить все ситуации:

Задача 3. Тепло-холодно (2)

тесты, чтобы проверить все ситуации:

Слайд 56

Домашнее задание по ЛР 3 Доделать дома задачи 1-3 – если

Домашнее задание по ЛР 3

Доделать дома задачи 1-3 – если

они не были доделаны в классе.
Дорисовать блок схемы к задачам 2-3 – если они не были дорисованы или были с ошибками.
Придумать задачу на «мороз»/«холодно»/«тепло»/«жарко» - для выбранной местности и выбранного сезона. Обосновать выбор параметров. Реализовать задачу – код, тесты, блок-схема.
Придумать задачу на «дешево»/ «нормально» / «дорого» / «ужас дорого». Обосновать выбор параметров. Реализовать задачу – код, тесты, блок-схема.
Придумать задачу на «очень медленно»/ «медленно» / «нормально» / «быстро» / «очень быстро» . Обосновать выбор параметров. Реализовать задачу – код, тесты, блок-схема.
Слайд 57

Слайд 58

ИТОГО по лекции Узнали как объявляются переменные Услышали про разные типы

ИТОГО по лекции

Узнали как объявляются переменные
Услышали про разные типы данных (int,

float и др.)
Узнали как выводятся значения и переменные в консоль (printf)
Узнали как вводятся значения и переменные консоли (scanf_s)
Узнали как работают развилки
Узнали, что развилки бывают полные и усеченные
Узнали, какие есть операторы сравнения
Узнали, какие есть операторы логические
Узнали про приоритет операторов
Узнали зачем нужны комментарии и каких двух видов они есть
Узнали как рисуются блок-схемы для линейного алгоритма и для развилки