- •Основы алгоритмизации
- •Специфика решения задачи с использованием компьютера
- •Роль моделирования при решении сложных задач
- •Устройство компьютера как инструмента решения задач
- •Пример решения задачи с использованием компьютера
- •Вопросы для самоконтроля
- •Понятие алгоритма
- •Свойства алгоритмов и способы их задания
- •Понятие структурной алгоритмизации
- •Базовый набор алгоритмических структур
- •Примеры классических алгоритмов
- •Переменные-счетчики и аккумуляторы
- •Алгоритм перестановки значений двух переменных
- •Простейший алгоритм сортировки
- •Последовательный и двоичный поиск в массиве данных
- •Вопросы для самоконтроля
- •Основы программирования
- •Изучить три темы:
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Эволюция программирования как деятельности
- •Развитие вычислительной техники
- •Парадигмы современного программирования
- •Уровни языков программирования
- •Современные языки программирования высокого уровня
- •Программирование как вид деятельности
- •Вопросы для самоконтроля
- •Инструменты программирования
- •Основные понятия программирования
- •Этапы разработки программы
- •Функции транслятора в процессе создания программы
- •Средства создания программ
- •Современные системы программирования
- •Вопросы для самоконтроля
- •Проектирование и внедрение программ
- •Этапы разработки программного обеспечения
- •Методы маркетинга программного обеспечения
- •Вопросы для самоконтроля
- •Технология алгоритмического программирования
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Понятия алгоритмического программирования
- •Классификация данных
- •Базовые типы данных
- •Структурированные данные
- •Программа как совокупность операторов. Виды операторов
- •Вопросы для самоконтроля
- •Принципы структурного программирования
- •Понятие подпрограммы
- •Процедуры и функции как разновидность подпрограмм
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Программный код экранной формы
- •Вопросы для самоконтроля
- •Объектно-ориентированное программирование
- •Понятие объекта и класса
- •Концепции объектно-ориентированного программирования
- •Вопросы для самоконтроля
- •Заключение
- •3.3. Глоссарий (краткий словарь терминов)
- •3.4 Технические и программные средства обеспечения дисциплины
-
Уровни языков программирования
Языки программирования как искусственные языки характеризуются:
-
ограниченным числом «слов»,
-
строгими правилами записи команд (операторов).
Синтаксис языка программирования – это совокупность правил записи операторов. Семантика языка программирования – это смысл конструкций языка.
Условная классификация языков программирования представлена на рис. 2.2.
Языки программирования низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности. Операторы языка близки к машинному коду и ориентированы на конкретные команды процессора
Рис.2.2 Классификация языков программирования
Особенности языков низкого уровня:
-
предназначены для эффективных и компактных программ,
-
требуют знания устройства компьютера,
-
затрудняется отладка больших приложений,
-
результирующая программа не может быть перенесена на компьютер с другим типом процессора.
Языки низкого уровня применяют для разработки:
-
небольших системных приложений,
-
драйверов устройств,
-
модулей стыковки с нестандартным оборудованием,
-
библиотек программ, эффективно реализующих сложные вычислительные алгоритмы.
Язык ассемблера – это первый язык самого низкого уровня:
-
представляет каждую команду машинного кода в виде символьных условных обозначений – мнемоники,
-
транслитерация – однозначное преобразование одной машинной инструкции в одну команду ассемблера,
-
конкретной компьютерной архитектуре соответствует свой язык ассемблера.
Языки программирования высокого уровня:
-
ориентированы на понимание человеком,
-
не учитывают особенности конкретных компьютерных архитектур,
-
исходные тексты легко переносимы на другие платформы,
-
легкость и надежность разработки программ.
Эволюция языков программирования представлена в таблице 2.4.
Таблица 2.4 Эволюция языков программирования
Этап |
Период |
Характеристика этапа |
1 |
Начало 50-х годов |
Создан первый язык ассемблера («одна инструкция – одна строка»). |
2 |
Конец 50-х – начало 60-х годов |
Разработан символический ассемблер (впервые появилось понятие переменной) |
3 |
60-е годы |
Разработаны первые универсальные языки высокого уровня для решения задач из разных областей |
4 |
Начало 70-х годов |
Появились проблемно-ориентированные языки для реализации крупных проектов в специализированных областях применения |
5 |
Середина 90-х годов |
Разрабатываются системы автоматического создания прикладных программ с помощью визуальных средств |
-
Современные языки программирования высокого уровня
Ретроспективный обзор языков высокого уровня представлен в таблице 2.5.
Таблица 2.5 Обзор языков высокого уровня
№ п/п |
Имя языка |
Характеристика языка |
Языки высокого уровня |
||
1 |
FORTRAN (Фортран) |
|
2 |
COBOL (Кобол) |
|
3 |
Algol (Алгол) |
|
4 |
Pascal (Паскаль) |
|
5 |
Basic (Бейсик) |
|
6 |
С (Си) |
|
7 |
C++ |
|
8 |
Java (Джава, Ява) компания SUN |
|
9 |
С# (Си Шарп) компания Microsoft |
|
Языки логического программирования |
||
|
PROLOG |
|
|
CLP (Constrain Logic Programming) |
|
Языки программирования и системы управления базами данных |
||
1 |
SQL (Structured Query Language) |
|
2 |
СУБД (Системы Управления Базами Данных) |
|
Языки программирования для Интернет (скрипт-языки) |
||
1 |
Общая характеристика |
|
2 |
HTML |
|
3 |
Perl |
|
4 |
РНР |
|
5 |
XML |
|
Языки моделирования (формальные нотации, CASE-системы) |
||
1 |
IDEF, UML |
|