Programmirovanie_-_1_kurs / Лекции (опорный конспект)
.pdfМосковский государственный университет путей сообщения
(МИИТ)
Алгоритмические языки и программирование
Варфоломеев Алексей Викторович
Москва 2011
1.Введение в программирование
1.1.Устройство компьютера
•Процессор
–Производит вычисления и отдает команды остальным компонентам компьютера
•Оперативная память
–Хранит программу и данные
•Внешние устройства
2
1.2.Программное обеспечение
•Программа – последовательность инструкций, предназначенная для исполнения компьютером. Программа загружается в оперативную память при своем запуске и выполняется процессором.
•Программное обеспечение (ПО) состоит из нескольких совместно работающих программ, и документов, необходимых для сопровождения и эксплуатации программ
•Системное ПО – предназначено для управления вычислительной машиной и ее ресурсами
–Операционные системы
–Драйверы
–Утилиты
•Прикладное ПО – ориентировано на решение пользовательских задач
3
1.3. Алгоритмы
•Алгоритм – точный набор инструкций, описывающих порядок действий некоторого исполнителя для достижения определенного результата за конечное время
•Дискретность
•Понятность
•Детерминированность
•Результативность
•Конечность
•Массовость
•Способы записи алгоритма:
–при помощи естественного языка (словесное описание алгоритма)
–при помощи алгоритмического языка (язык программирования, псевдокод)
–графическое описание алгоритма (блок-схема)
4
1.3.1. Блок-схемы алгоритмов
Терминатор. Вход из внешней среды или выход из алгоритма
Процесс. Выполнение одной или нескольких операций, обработка данных любого вида
Решение. Разветвление алгоритма в зависимости от результата вычисления условия
Предопределенный процесс. Выполнение внешнего
процесса, состоящего из одной или нескольких операций,
Данные. Выполнение операций ввода-вывода
Модификатор. Повторное выполнение операций (цикл) |
|
Соединитель. Объединяет несколько блок-схем |
|
Комментарий. Обозначает комментарии к элементам |
|
блок-схемы |
5 |
1.3.2. Базовые алгоритмические структуры (1)
|
2. Ветвление |
а) если-то |
в) выбор |
1. Следование |
|
б) если-то-иначе |
|
|
6 |
1.3.2. Базовые алгоритмические структуры (2)
а) с предусловием |
3. Цикл |
|
в) арифметический
б) с постусловием
7
|
|
|
|
1.3.3. Примеры алгоритмов |
||||||||||||||||||||
1) Посчитать |
|
2) Решить уравнение: ax2 + bx + с = 0 |
|
3) Вывести первые |
||||||||||||||||||||
|
|
|||||||||||||||||||||||
значение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 элементов |
|||||||||
выражения: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
прогрессии |
|||||||||
y = a2 + b2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bn+1 = 2bn , b0 =1 |
|||||||||
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8
1.4. Языки программирования
•Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ
–Алфавит – набор символов, пользуясь которыми составляют инструкции, принятые в языке.
–Синтаксис – набор правил, в соответствии с которым записываются конструкции языка.
–Семантика – набор правил, в соответствии с
которым осуществляется интерпретация и выполнение конструкций языка.
•ЯП:
–Языки высокого уровня
–Языки низкого уровня
•ЯП:
–Алгоритмические
–Неалгоритмические
•Фортран
•Кобол
•Паскаль
•Бейсик
•С
•С++
•Java
•С#
•Ассемблер
9
1.5. Среды разработки
•Среда разработки
(интегрированная среда разработки, IDE, Integrated development environment) –
совокупность программных средств, используемая для
разработки программного
обеспечения
•Среда разработки включает в себя:
–Текстовый редактор
–Транслятор
–Компоновщик (сборщик)
–Отладчик
•Eclipse
•NetBeans
•Visual Studio
–Visual C++
–Visual C#
–Visual Basic
•Delphi
•C++ Builder
10