Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГАК-2026.docx
Скачиваний:
1
Добавлен:
16.06.2026
Размер:
2.66 Mб
Скачать

7. Пример, объединяющий всё вместе

Задача: Найти сумму всех положительных чисел из введённых пользователем. Пользователь вводит числа, пока не введёт 0.

Решение (Python):

3. Обзор основных алгоритмических языков и средств программирования

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

Существует большое количество языков программирования, которые используются для различных задач. Например, Python широко применяется для разработки программ, анализа данных и машинного обучения. Java и C# используются для создания корпоративных и веб-приложений. C++ применяется для разработки системного программного обеспечения и высокопроизводительных программ. JavaScript является основным языком для разработки веб-интерфейсов.

Для удобства разработки используются специальные программные средства — интегрированные среды разработки (IDE). Они предоставляют программисту инструменты для написания, редактирования, компиляции и отладки программ. Примерами таких сред являются Visual Studio, IntelliJ IDEA, Eclipse, PyCharm.

Таким образом, алгоритмические языки и средства программирования позволяют создавать программное обеспечение для решения различных задач.

Вопрос 3: Обзор основных алгоритмических языков и средств программирования

1. Что такое язык программирования?

Язык программирования — это формальная знаковая система, предназначенная для записи алгоритмов в виде, который понятен и человеку, и компьютеру (после трансформации). Он включает в себя:

  • алфавит (допустимые символы);

  • синтаксис (правила построения конструкций);

  • семантику (смысл конструкций);

  • прагматику (способы использования).

Язык программирования — это посредник между человеком и машиной. Человек мыслит понятиями задачи, компьютер оперирует машинными кодами. Язык программирования позволяет перевести одно в другое.

2. Эволюция языков: поколения

Чтобы понять современное разнообразие языков, нужно посмотреть на историю. Традиционно выделяют пять поколений:

1-е поколение: Машинные коды (1940-1950)

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

  • Пример: 10110000 01100001 (может означать "загрузить значение 97 в регистр")

  • Плюсы: максимальная эффективность, полный контроль над железом.

  • Минусы: адски сложно, каждая программа привязана к конкретному процессору.

2-е поколение: Языки ассемблера (1950-)

Появилась мнемоника — вместо чисел стали использовать понятные человеку сокращения. Появились макросы.

  • Пример (x86): MOV AL, 61h (переместить значение 61 в регистр AL)

  • Плюсы: всё ещё полный контроль, но писать немного проще.

  • Минусы: всё ещё привязано к архитектуре, каждая команда соответствует одной машинной команде.

3-е поколение: Высокоуровневые языки (1957 — настоящее время)

Появилась возможность писать одну команду языка, которая транслируется во множество машинных команд. Появились абстракции, не привязанные к конкретному железу.

  • Представители: Fortran, Algol, C, Pascal, Java, Python, C#, JavaScript.

  • Плюсы: человекопонятный синтаксис, переносимость между платформами, высокая скорость разработки.

  • Минусы: меньший контроль над железом, некоторая потеря эффективности.

4-е поколение: Языки работы с базами данных и визуальной разработки (1980-)

Языки, ориентированные на решение конкретных классов задач. Позволяют получать результат минимальными усилиями.

  • Представители: SQL (работа с БД), Delphi (визуальная среда), MATLAB (инженерные расчёты).

  • Плюсы: колоссальная скорость разработки в своей области.

  • Минусы: узкая специализация.

5-е поколение: Языки искусственного интеллекта (1990- — условно)

Языки, где программист описывает задачу и ограничения, а система сама ищет решение.

  • Представители: Prolog, Mercury, языки логического программирования.

  • Плюсы: высокий уровень абстракции.

  • Минусы: сложность реализации, узкая ниша.

На практике сейчас мы работаем почти исключительно с языками 3-го поколения и их смесями.

3. Классификация по парадигмам

Парадигма программирования — это система идей и понятий, определяющих стиль написания программ. Один язык может поддерживать несколько парадигм.

А) Императивное программирование

Программа описывает как достичь результата — последовательность команд, изменяющих состояние.

  • Подход: "сделай сначала это, потом это".

  • Языки: C, Pascal, Basic, ассемблер.

  • Ключевая идея: переменные, присваивание, последовательное выполнение.

Б) Структурное программирование

Развитие императивного. Запрещает goto, требует разбиения на подпрограммы, использования базовых конструкций.

  • Языки: Pascal, C, Ada.

  • Ключевая идея: процедуры и функции, блочная структура.

В) Объектно-ориентированное программирование (ООП)

Программа строится как взаимодействие объектов, каждый из которых объединяет данные и методы их обработки.

  • Подход: "у нас есть объекты, они обмениваются сообщениями".

  • Языки: Java, C++, C#, Python, Ruby, PHP.

  • Ключевая идея: инкапсуляция, наследование, полиморфизм.

Г) Функциональное программирование

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

  • Подход: "задача решается композицией функций".

  • Языки: Haskell, Lisp, Clojure, F#, Scala (частично).

  • Ключевая идея: неизменяемость данных, отсутствие побочных эффектов, функции высшего порядка.

Д) Логическое программирование

Программа — это множество фактов и правил вывода. Задаётся вопрос, система ищет ответ логическим выводом.

  • Подход: "известно А, известно правило: если А, то В. Верно ли В?".

  • Языки: Prolog.

  • Ключевая идея: программист описывает, что нужно получить, а не как.

Большинство современных языков — мультипарадигмальные. Например, в Python можно писать императивно, структурно, ООП, частично функционально.