Автор: Москвичева Галина Григорьевна
Должность: преподаватель
Учебное заведение: КГБ ПОУ "Хабаровский автомеханический колледж АВТОДОР"
Населённый пункт: Хабаровск
Наименование материала: Презентация
Тема: Введение в предмет "Основы алгоритмизации и программирования"
Раздел: среднее профессиональное
Введение в предмет
«
Основы алгоритмизации
и программирования
»
Кто такие программисты и как заставить компьютер думать?
Базовый курс для студентов колледжа — от понятия алгоритма до
языков программирования
О чём этот предмет
?
Примеры из жизни
Предмет учит:
мыслить логически
, разбивать сложные задачи
на простые шаги и составлять план их решения.
🥧
Рецепт пирога
Готовый алгоритм приготовления блюда
.
🥧
Схема сборки мебели
OZON
Визуальный алгоритм действий шаг за шагом.
️
Навигатор
Программа, которая по алгоритму ищет кратчайший путь — и
перестраивает его, если вы пропустили поворот.
🥧
Стиральная машина
Заложенный инженерами алгоритм стирки разных типов тканей.
Цели изучения темы
1
Что такое программа и кто такой программист
2
Почему язык не так важен
,
как логика
3
Что объединяет рецепт борща и запуск ракеты
4
Из каких кирпичиков строится любой код
5
Как описать мысли так
,
чтобы их понял даже самый упрямый исполнитель
Базовые понятия
Алгоритмизация
Процесс разработки
последовательности шагов для
решения задачи.
Программирование
Процесс записи алгоритма на
языке, понятном компьютеру.
Программа
Готовый набор команд
(инструкций) для компьютера.
Программист
Переводчик с человеческого языка на
машинный (в машинные коды).
Архитектор цифровых миров.
Браузер, через который вы смотрите лекции, — это огромная программа,
написанная тысячами программистов.
Язык и транслятор
️
Язык
программирования
Формальная знаковая система
для написания инструкций. У
него строгая грамматика
(
синтаксис
) и смысл слов
(
семантика
).
Нельзя написать
напечатай
"Привет"
— нужно писать
write(‘Привет’)
.
⚙️
Транслятор
Специальная программа-
переводчик. Компьютер не
понимает слова
if
или
for
. Он
понимает только нули и
единицы.
Транслятор превращает ваш код
в машинный язык.
Компилятор и Интерпретатор
️
Компилятор
Компилятор
читает весь исходный код программы
целиком
,
проверяет ошибки
и перед её запуском переводит его в
машинный код. На выходе получается исполняемый файл
(например, с расширением
.exe
), который можно запустить на
компьютере.
✅
Плюс:
Работает очень быстро.
⚠️
Минус:
Ошибку видно только после полной проверки.
Языки:
Pascal, C++, C#, Java, Swift, Go
Игры класса ААА и операционные системы пишутся именно на
компилируемых языках ради скорости.
Напоминает работу литературного переводчика.
️
Интерпретатор
Интерпретатор читает и выполняет код построчно
прямо сейчас, сразу переводя и применяя каждую
инструкцию в процессе чтения. Он не создаёт
отдельный исполняемый файл.
✅
Плюс:
Мгновенная обратная связь, легко искать ошибки.
⚠️
Минус:
Готовая программа работает медленнее.
Языки:
Python, JavaScript, PHP, Ruby, VisualBasic
Интерактивность сайтов (выпадающие меню, всплывающие
чаты) обеспечивает интерпретируемый JavaScript.
Напоминает работу синхронного переводчика.
Важное правило новичка
Не пытайтесь выучить синтаксис конкретного языка (где ставить
точку с запятой).
Учитесь строить логику.
Не имеет никакого значения на каком языке вы будете это делать.
Если вы умеете составить грамотный маршрут поездки, выстроить
логически (знаете математику) - вы можете быть программистом.
Поменяется лишь способ записи маршрута (вместо блокнота будет
IDE
), но сам путь останется прежним.
IDE — это интегрированная среда разработки, которая
объединяет
редактор кода, отладку, сборку, навигацию, работу с
Git и расширения.
Git — это инструмент, который помогает отслеживать изменения в
файлах проекта (чаще всего в коде программ
Алгоритмы живут десятилетиями — языки меняются
каждые 5–10 лет.
Синтаксис в программировании — это
система правил, которые определяют,
как правильно строить и записывать
инструкции на конкретном языке
программирования.
Что такое алгоритм
?
Определения
Похоже на слова:
инструкция, руководство, порядок
действий, регламент, кулинарный рецепт.
🚦
Пример
:
алгоритм перехода дороги
01
Подойти к переходу.
02
Посмотреть налево
.
03
Дождаться зелёного света
.
04
Посмотреть направо
.
05
Перейти
.
Строго определённая последовательность действий для
получения результата.
Конечный набор правил, преобразующих исходные
данные в результат.
Пошаговый рецепт достижения цели.
Алгоритм
—
фундамент
кода
Любая программа начинается не со строчки кода, а с алгоритма на
бумаге или в голове. Сначала решаем задачу «как люди» (рисуем
схему), потом переносим решение «как машины».
Если алгоритм ошибочен, никакой сверхбыстрый процессор не даст
верный ответ.
GIGO — Garbage In, Garbage Out:
мусор на входе — мусор на
выходе.
Три кита программирования
Алгоритмические структуры — основа любого кода.
1
Линейная
Шаги выполняются строго друг за
другом. Код идёт сверху вниз без
пропусков.
Пример: вскипятить воду
→
засыпать заварку
залить водой.
→
2
Ветвление
(
Выбор
)
Появляется условие. Программа
выбирает один из путей.
ЕСЛИ
на улице дождь,
ТО
взять зонт
ИНАЧЕ
надеть кепку.
3
Цикл
(
Повторение
)
Повторение блока действий, пока
верно условие.
Пример: Пока тарелка не пуста —
брать ложку и есть суп.
Исполнитель алгоритма
Исполнитель
— это объект, который
воспринимает и выполняет команды
алгоритма строго по инструкции.
Исполнителем может быть:
•
Человек
— повар готовит по рецепту
•
Компьютер
— выполняет
программный код
•
Робот
— робот-пылесос убирает
квартиру
•
Животное
— собака выполняет
команды дрессировщика
GPS-навигатор — пример
исполнителя: он получает
алгоритм маршрута и
направляет водителя шаг за
шагом.
Повар
Следует рецепту — алгоритму
приготовления блюда
Робот
Исполняет команды управляющей
программы
GPS
Прокладывает и корректирует маршрут
в реальном времени
Система команд исполнителя
СКИ (система команд исполнителя)
— это строго ограниченный набор команд, которые данный исполнитель способен
понять и выполнить. Исполнитель не может выполнить команду, которой нет в его системе.
🖊
Чертёжник
•
вперёд(N)
•
назад(N)
•
повернуть(угол)
•
поднять перо
•
опустить перо
🎯
Стрелка
•
вверх
•
вниз
•
влево
•
вправо
️
Робот
•
включить
•
выключить
•
ускорить
•
замедлить
Каждый исполнитель работает только в рамках своей СКИ — это фундаментальное ограничение алгоритмизации.
Основные свойства алгоритмов
Не любая инструкция является алгоритмом. Настоящий
алгоритм обязан обладать всеми четырьмя ключевыми
свойствами:
Дискретность
Алгоритм разбит на отдельные, чётко разграниченные шаги
Определённость
(
однозначность
,
понятность
)
Каждая команда однозначна и понятна исполнителю без
двусмысленности
Результативность
Алгоритм всегда завершается и приводит к конкретному результату
Массовость
Алгоритм применим к целому классу однотипных задач с разными
данными
Алгоритмы в обычной жизни
Алгоритмы окружают нас каждый день — мы просто не всегда замечаем их.
Чистка зубов
Классический
пример линейного
алгоритма: нанести
пасту
чистить 2
→
минуты
→
прополоскать
→
повторить вечером
Приготовление
чая
Следуем
инструкции:
вскипятить воду
→
засыпать заварку
→
настоять
→
добавить сахар по
вкусу
Переход
дороги
Алгоритм
безопасности с
ветвлением: если
зелёный
иди;
→
если красный
→
стой и жди
Поиск
контакта
Алгоритм поиска:
открыть
приложение
→
ввести имя
→
система перебирает
записи
вывод
→
результата
Алгоритм или не алгоритм
?
Ключевой вопрос: соответствует ли инструкция всем четырём свойствам алгоритма?
✓
Это алгоритмы
Запуск браузера
«Включить компьютер
→
открыть браузер
→
ввести адрес сайта» —
дискретно, определённо,
результативно
Светофор
«Если красный — стой;
если жёлтый —
приготовься; если
зелёный — иди» — чёткое
ветвление
✗
Это не алгоритмы
«
Будь счастлив
»
Нет чётких шагов, нет
конкретных команд —
исполнитель не поймёт,
что именно делать
«
Нарисуй красиво
»
Неопределённость: у
разных исполнителей
разное понимание
«красиво» — нарушено
свойство
определённости
Способы описания алгоритмов
ГЛАВА: МЕТОДЫ ОПИСАНИЯ
Существует пять основных способов записать алгоритм — от самого простого до формального.
Словесно
Описание на
естественном
языке
Графически
Блок-схема шагов
и ветвлений
Псевдокод
Структурированный
текст близкий к
коду
Язык
программ
Исполняемый код
на языке
программирования
Выбор по
задаче
Метод
определяется
требованиями
Каждый способ имеет свою область применения: выбор зависит от аудитории, задачи и требуемой точности описания.
Словесный способ описания
Алгоритм записывается на
естественном языке
— самый интуитивный и
доступный способ для человека.
«Возьми яйцо
разбей в миску
добавь щепотку соли
перемешай вилкой
→
→
→
→
вылей на разогретую сковороду
жарь 3 минуты»
→
Достоинства
•
Понятен любому человеку без специальных знаний
•
Быстро составляется
•
Хорошо подходит для бытовых алгоритмов
Недостатки
•
Может быть неточным и двусмысленным
•
Компьютер такой текст не понимает
СПОСОБ
1
Графический способ описания
Блок
-
схема
Визуальное представление алгоритма с помощью
стандартных геометрических фигур — наглядно и
универсально.
Стандартные элементы
:
1.
Овал (эллипс)
2.
Параллелограмм
3.
Прямоугольник
4.
Ромб
5.
Шестиугольник
СПОСОБ
2
СПОСОБ
3
Псевдокод
Промежуточный язык между человеческой речью и программным
кодом. Понятен программисту, но не исполняется компьютером
напрямую.
ВВЕСТИ x
ЕСЛИ x > 0 ТО
ВЫВЕСТИ "положительное"
ИНАЧЕ ЕСЛИ x < 0 ТО
ВЫВЕСТИ "отрицательное"
ИНАЧЕ
ВЫВЕСТИ "ноль"
КОНЕЦ ЕСЛИ
Псевдокод помогает
спланировать логику
перед написанием настоящего кода
.
Язык программирования
Точный, формальный способ — единственный, понятный компьютеру.
Синтаксис строго регламентирован.
Python:
x = int(input())
if x > 0:
print("положительное")
elif x < 0:
print("отрицательное")
else:
print("ноль")
C++:
Pascal:
if x > 0 then
wtite (‘положительное’)
else if x < 0 then
wtite (‘отрицательное’)
else
wtite (‘ноль’);
if (x > 0)
cout << "положительное";
else if (x < 0)
cout << "отрицательное";
else
cout << "ноль";
Псевдокод и язык программирования
СПОСОБ
4
Заключение
Алгоритмизация — фундамент всего программирования. Освоив её основы, вы
получаете ключ к созданию любых программ.
Алгоритмы повсюду
От чистки зубов до навигации — алгоритмы окружают нас в
повседневной жизни
Описание
—
основа
Умение грамотно описать алгоритм — первый шаг к написанию
программ
Выбор способа
Словесный, графический, псевдокод или код — выбирайте метод под
задачу и аудиторию
Следующий шаг — практика: попробуйте записать любой привычный
процесс в виде блок-схемы или псевдокода.