1.41M
Категория: ПрограммированиеПрограммирование

Основы программирования. Вводное занятие

1.

Основы
программирования
ВВОДНОЕ ЗАНЯТИЕ
13 ФЕВРАЛЯ 2020

2.

Знакомимся
o Я – Борин Владислав Михайлович
o Аспирант ИЯФ
o Целый семестр буду обучать вас писать программы на языке C
o Почта для связи: [email protected]
o Для особо экстренных вариантов: +7-903-933-33-66

3.

План занятий
o Семинары: Четверг 12:40 (1.5 пары)
o По программе 16 недель (в реальности может быть меньше).
o В начале занятия будет немного полезной информации (Можно
просить объяснить непонятный материал с лекций и прошлых
занятий)
o После этого решаем/сдаем задачи, разбираем непонятные
моменты.

4.

Про посещаемость
o Пропускать занятия не стоит (2+ пропуска подряд = поход в деканат)
+ пропустите полезную информацию + накопится долг. (Но если
активно сдаете задания и не имеете потенциальных проблем, то на
пропуск можно закрыть глаза)
o Опаздывать тоже не стоит: не успеете занять место в очереди на
сдачу и будете долго ждать.
o Тот, кто посещает больше пар – имеет приоритет в сдаче заданий
o Лайфхак: можно сдать все задачи и не ходить на пары (это сложно,
но реально)

5.

Критерии оценки
Все очень просто:
Задачи 1-8 = «удовлетворительно»
Задачи 1-8 + задачи 9, 10 (*1), (*2) = «хорошо»
Задачи 1-8 + задачи 9, 10 (*1), (*2) + задача 11 + (12 или 13) =
«отлично»

6.

Как сдать задачу?
Спроси себя:
Программа работает?
Может ли другой человек быстро разобраться в вашем коде?
Готов ли я к быстрой модификации программы и объяснению
сути ее работы?
Лайфхак: Первым сдающим вопросов всегда меньше!

7.

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

8.

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

9.

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

10.

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

11.

Hello World!

12.

Переменные
Немного полезной информации:
Типы
int – целочисленное от -128 до 127
// Это комментарий
float – вещественные числа
double – вещественные числа удвоенной точности /*
Это
Целочисленные могут быть без знака:
unsigned int – от 0 до 255
Тоже
Комментарий
Более полная информация о возможных типах – в
гугле и на лекциях.
Но больше
*/

13.

printf()
Синтаксис
printf(“Строка для вывода”);
printf(“a=%d, b=%d”, a, b) – заменит %d на значение переменной интерпретируемое как целочисленное значение.
%d – целочисленное (int)
\n – перевод строки
%f – вещественное (float)
\t – табуляция
%с – символ (char)
\” – двойная кавычка
%lf – вещ. удвоенной точности (double)
\\ – вывод символа \
%% - вывод символа %
\v – вертикальная табуляция

14.

Основные арифметические операции
Все стандартные операции в пояснении не нуждаются: + - * /
a++ a-- увеличивает/уменьшает значение a на 1 (можно ставить перед или после
переменной)
a=b++ и a=++b = разные результаты! В первом случае b, во втором b+1
a%b – остаток от деления a на b

15.

Подробнее о делении и приведении
типов
А если мы присвоим результат деления двух целых чисел некой переменной типа double?

16.

Подробнее о делении и приведении
типов
А если мы присвоим результат деления двух целых чисел некой переменной типа double?

17.

Подробнее о делении и приведении
типов
А если мы присвоим результат деления двух целых чисел некой переменной типа double?
Результат будет иметь тип вещественного числа, если хотя бы один из операндов будет
иметь тип вещественного числа. Можно привести к типу double явно:

18.

Считываем значение переменной
scanf(“%d”, &a) – Записанное пользователем значение будет интерпретировано как
целочисленное значение и записано в переменную a.
Возвращает число присвоенных значений. (т.е. если введем некорректное значение, вернется 0)

19.

Оператор ветвления IF
Выполняет проверку истинности условия.
Если условие верно, выполняет определенный код:
if ( условие )
== равенство
Усло
вие
if ( условие )
> больше
Да
{
< меньше
оператор;
оператор1;
оператор2;
}
!= не равно
Некий код
&& И
|| ИЛИ
Код выполняемый
далее
Нет

20.

Оператор ветвления IF
Выполняет проверку истинности условия.
Если условие верно, выполняет определенный код:
if ( условие )
оператор;
if ( условие )
{
Усло
вие
Да
Некий код
оператор1;
оператор2;
}
Код выполняемый
далее
Нет

21.

Оператор ветвления IF
Выполняет проверку истинности условия.
Если условие верно, выполняет определенный код:
if ( условие )
оператор;
if ( условие )
{
Условие
Да
Некий код
оператор1;
оператор2;
}
Код выполняемый
далее
Нет

22.

Оператор ветвления IF
Есть дополнение “else” – код
выполнится в случае, если
условие не выполнено
if ( условие )
оператор;
Усло
вие
Да
Нет
Некий код
Другой код
else
оператор2;
Код выполняемый
далее

23.

Оператор ветвления IF
Есть дополнение “else” – код
выполнится в случае, если
условие не выполнено
if ( условие )
оператор;
Усло
вие1
Усло
вие
Да
Да
Нет
else
оператор2;
Нет
Усло
вие2
А
Некий код
Другой код
Нет
Код выполняемый
далее
Код выполняемый
далее
Да
B

24.

Решение линейного уравнения
Первый этап: Постановка задачи.
Второй этап: Блок схема решения.
Третий этап: Написание кода, его отладка и оптимизация.
Хотим решить уравнение вида a*x+b=0
Входные данные: коэффициенты a, b.
Результат 0 или 1 корень уравнения.

25.

Решение линейного уравнения
Первый этап: Постановка задачи.
Второй этап: Блок схема решения.
Третий этап: Написание кода, его отладка и оптимизация.
Ввод
пользователем
аиb

26.

Решение линейного уравнения
Первый этап: Постановка задачи.
Второй этап: Блок схема решения.
Третий этап: Написание кода, его отладка и оптимизация.
Нет
Ввод
пользователем
аиb
а=0?
Да
Решений нет
Решение:
x=-b/a
Выход из
программы

27.

Решение линейного уравнения
Первый этап: Постановка задачи.
Второй этап: Блок схема решения.
Третий этап: Написание кода, его отладка и оптимизация.
Нет
Ввод
пользователем
аиb
а=0?
Да
Решений нет
Решение:
x=-b/a
Выход из
программы

28.

Решение линейного уравнения
Первый этап: Постановка задачи.
Второй этап: Блок схема решения.
Третий этап: Написание кода, его
отладка и оптимизация.

29.

Решение линейного уравнения
Первый этап: Постановка задачи.
Второй этап: Блок схема решения.
Третий этап: Написание кода, его
отладка и оптимизация.

30.

Немного о «читаемости» кода
Зачем писать «читаемые программы»?
1) Для того, чтобы я мог хоть что-то понять в коде и зачесть
задачу (иначе этот процесс не возможен)
2) Для того, чтобы всем было проще разобраться в вашем коде,
чтобы потом сдать списанную программу :D

31.

Простые правила
1) Писать «удобную» программу
2) Читаемо форматировать код
3) При создании
переменных\функций\чего-либо
еще их название должно быть
осмысленным и отражать их
содержание.
4) Писать комментарии (Очень
желательно)
5) Оптимизировать скорость
выполнения программы

32.

Простые правила
1) Писать «удобную» программу
2) Читаемо форматировать код
3) При создании
переменных\функций\чего-либо
еще их название должно быть
осмысленным и отражать их
содержание.
4) Писать комментарии (Очень
желательно)
5) Оптимизировать скорость
выполнения программы

33.

Простые правила
1) Писать «удобную» программу
2) Читаемо форматировать код
3) При создании
переменных\функций\чего-либо
еще их название должно быть
осмысленным и отражать их
содержание.
4) Писать комментарии (Но без
излишеств)
5) Оптимизировать скорость
выполнения программы

34.

Простые правила
1) Писать «удобную» программу
2) Читаемо форматировать код
3) При создании
переменных\функций\чего-либо
еще их название должно быть
осмысленным и отражать их
содержание.
4) Писать комментарии (Очень
желательно)
5) Оптимизировать скорость
выполнения программы
English     Русский Правила