Похожие презентации:
П4. Программирование. Алгоритмы (3)
1.
Программирование.Алгоритмы
2.
ПрограммированиеПрограммирование представляет собой многогранную дисциплину, которая
выходит далеко за рамки простого набора символов и команд. Его можно
рассматривать как процесс создания инструкций для компьютера,
направленный на решение конкретной задачи.
Программи́рование — процесс создания и модификации компьютерных
программ
3.
Алгоритм и программаАлгоритм - это, по сути, абстрактная концепция. Он представляет собой
конечный набор правил и последовательность операций, которые
определяют шаги для достижения заданной цели.
Программа - это конкретная, материальная реализация алгоритма.
4.
Алгоритм и программаАлгоритм принадлежит к области математики и теории вычислений, где его
корректность, эффективность и другие свойства могут быть изучены без
привязки к конкретному оборудованию. Программа же - это инженерное
решение, которое должно работать в реальном мире, учитывая особенности
выбранного языка, компилятора или интерпретатора.
5.
Языкипрограммирования и
управление
компьютером
6.
Роль операционной системы (ОС)Для того чтобы программы могли взаимодействовать с аппаратным
обеспечением, необходим посредник. Эту роль выполняет операционная
система (ОС)
Основная задача ОС - абстрагировать сложность аппаратного обеспечения
от программиста, позволяя ему фокусироваться на логике, а не на «железе»
7.
Роль операционной системы (ОС)Например, когда программа запрашивает сохранение файла, она не должна
знать, как именно происходит физическая запись на диск, как работает
жесткий диск или какой драйвер нужно использовать. Она просто делает
вызов к ОС, которая уже управляет драйверами и файловой системой.
Эта абстракция позволяет разработчикам создавать универсальные
программы, которые могут работать на разных компьютерах без
необходимости переписывать код под каждое новое устройство.
8.
Ключевые функции ОСУправление процессами и потоками: ОС координирует работу процессов и
запущенных приложений. Она отвечает за их запуск, приостановку,
завершение и координацию, чтобы избежать конфликтов и обеспечить
параллельное выполнение.
9.
Ключевые функции ОСУправление памятью: ОС выделяет оперативную память (RAM) программам
и процессам, предотвращая конфликты и сбои. Когда программа
завершается, ОС освобождает занятую ею память, делая её доступной для
других приложений.
10.
Ключевые функции ОСУправление устройствами и драйверами: ОС контролирует подключенные
аппаратные устройства (клавиатура, мышь, принтер и т.д.) с помощью
специальных программ - драйверов. Драйверы обеспечивают корректное
взаимодействие между оборудованием и ОС.
11.
Ключевые функции ОСУправление файловой системой: ОС позволяет хранить и управлять
данными на устройствах хранения, поддерживая операции с файлами и
директориями, а также определяя их организацию и доступ к ним.
12.
Уровни языковпрограммирования
13.
По близости к машинному коду● Низкоуровневые языки
● Высокоуровневые языки
14.
Низкоуровневые языкиК ним относятся машинный код и язык ассемблера. Эти языки напрямую
работают с инструкциями процессора и адресами памяти. Код на таких
языках трудно писать и читать, но он выполняется максимально быстро и
эффективно.
Интересно, что язык C, хотя и считался высокоуровневым несколько
десятилетий назад, теперь рассматривается как язык с низкоуровневыми
особенностями, такими как ручное управление памятью
C, C++, Rust
15.
Высокоуровневые языкиК ним относятся Python, Java, JavaScript, C#, Ruby, Perl и другие. Их
синтаксис гораздо ближе к естественному языку, что делает их более
простыми и быстрыми в написании. Они используют абстракции и, как
правило, не требуют от программиста прямого управления памятью.
16.
TIOBE Index17.
Компиляция и интерпретацияЧтобы код, написанный на высокоуровневом языке, был понят компьютером,
его необходимо преобразовать в машинный код. Это достигается двумя
основными способами: компиляцией и интерпретацией.
18.
КомпиляцияКомпиляция - это процесс, при котором компилятор преобразует весь
исходный код программы в исполняемый машинный код целиком, до её
запуска. В результате создается отдельный файл, который может быть
выполнен напрямую.
19.
ИнтерпретацияИнтерпретация - это процесс, при котором интерпретатор выполняет код
построчно. Он читает одну инструкцию, переводит её в машинный код и
сразу же выполняет, а затем переходит к следующей.
20.
ХарактеристикаКомпилятор
Интерпретатор
Подход
Преобразует всю
программу целиком в
машинный код перед
выполнением
Выполняет код построчно,
преобразуя и исполняя
каждую инструкцию по
отдельности
Время выполнения
Быстрое, так как код уже
скомпилирован
Медленнее, так как
перевод и выполнение
происходят одновременно
Отчет об ошибках
Генерирует полный список
ошибок после трансляции
всей программы
Прекращает работу при
первой найденной ошибке
Примеры языков
C, C++
Python, Ruby, JavaScript
21.
Парадигмы программированияПомимо уровней, языки программирования можно классифицировать по
подходу к организации кода. Две основные парадигмы, которые лежат в
основе большинства современных языков, - это процедурное и объектноориентированное программирование.
22.
Процедурное программированиеПроцедурное программирование основано на разделении кода на отдельные
процедуры, функции и подпрограммы, которые выполняют определенные
задачи. В этом подходе основной фокус делается на последовательности
выполняемых действий.
C, Pascal
23.
Объектно-ориентированное программирование (ООП)Объектно-ориентированное программирование (ООП) организует код в виде
объектов, которые объединяют данные (атрибуты) и функциональность
(методы) в единый компонент. Эта парадигма базируется на концепции
классов и объектов.
24.
Глубинная причина перехода от процедурного к ООП - это вопросмасштабирования и управления сложностью.
Утверждение о том, что процедурное программирование неизбежно ведет к
«спагетти-коду», является поверхностным; плохой код можно написать в
любой парадигме.
Однако в процедурном подходе, когда программа разрастается, данные
становятся «глобальными» и множество функций могут их изменять, что
может привести к непредсказуемым последствиям. Код становится трудно
отлаживать и поддерживать.
25.
Алгоритмы26.
АлгоритмАлгоритм - это ядро любой программы. Согласно формальному
определению, данному Д. Э. Кнутом, алгоритм - это конечный набор правил,
который определяет последовательность операций для решения
конкретного множества задач.
27.
Для того чтобы последовательность шаговсчиталась алгоритмом, она должна обладать 7
важными чертами
28.
Дискретность – процесс решения задачи по алгоритму разбивается на отдельные,дискретные шаги или действия, которые выполняются последовательно.
Определенность (детерминированность) – каждый шаг алгоритма должен быть четко и
недвусмысленно определен, чтобы не допускать произвольных толкований и приводить к
одному и тому же результату при одинаковых исходных данных.
Массовость (универсальность) – алгоритм должен быть применим к целому классу задач,
отличающихся только исходными данными, а не к одной конкретной задаче.
Результативность – после выполнения алгоритма должен быть получен конечный
результат.
Конечность (финитность) – алгоритм должен завершаться за конечное число шагов, а не
выполняться бесконечно.
Понятность – каждая команда алгоритма должна быть понятна исполнителю, чтобы он мог
ее выполнить.
Формальность – исполнителю не обязательно понимать смысл выполняемых действий; он
должен лишь точно выполнять заданные команды.
29.
Виды алгоритмов по структуреЛинейные: Действия выполняются последовательно, одно за другим, без
условий и повторений.
Разветвляющиеся: В зависимости от проверки определенного условия (ifelse блок), алгоритм выбирает один из нескольких возможных путей
выполнения.
Циклические: Определенная последовательность действий повторяется
(итеративно) до тех пор, пока не будет выполнено определенное условие.
Это реализуется с помощью циклов while или for.
30.
Способы записи алгоритмов1. Словесный
2. Графический
3. Псевдокод
4. Программный
31.
32.
Установите правильную последовательность действийдля использования флешки
1. Вынуть флешку из разъема.
2. Проверить содержимое флешки на вирусы.
3. Вставить флешку в компьютер.
4. Остановить работу флешки.
5. Скачать нужный файл.
Программирование