ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.04.2025
Просмотров: 265
Скачиваний: 1
Курс «Прикладное программирование и основы алгоритмов»
Литература
-
В.В. Фаронов Турбо Паскаль 7.0 Начальный курс. М., Изд. «Нолидж», 2001 г.
-
В.С.Зубов и др. Сборник задач по базовой компьютерной подготовке. Под общей редакцией И.Н. Котаровой. М., МЭИ, 1998 г.
Лекция №1
История развития вычислительной техники
Потребность в автоматизации вычислений и обработки информации возникла очень давно, когда люди считали с помощью камешков, палочек, счётов. Механические устройства вычислений появились в 17 веке. Работы по первой Аналитической машине появились в первой половине 19 века. Их проводил английский математик Чарльз Бэббидж.
Первые вычислительные машины появились в годы второй мировой войны (1941 г. – сделал немецкий инженер Конрад Цузе, 1943 г. – сделал американец Говард Эйкен – название «Марк-1»). Эти машины были сделаны на основе реле, а в 1945 г. была сделана первая машина на основе электронных ламп под названием ENIAC (Эниак). Научный доклад по этой машине сделал математик Джон фон Нейман, в котором изложил общие принципы работы компьютеров.
Принципы фон Неймана:
-
Компьютер должен состоять из следующих устройств:
-
Арифметическо-логическое устройство (АЛУ);
-
Устройство управления (для организации выполнения программ);
-
Запоминающее устройство (ЗУ) или память (П); (ОП – оперативная память);
-
Внешние устройства (ВУ) для ввода-вывода информации.
АЛУ ↔ УУ ↔ ВУ
ОП ↔
-
Процесс работы компьютера:
-
с ВУ информация поступает в ОП (ввод);
-
УУ и АЛУ обрабатывают информацию из ОП;
-
Результат обработки размещается в ОП;
-
Результат из ОП выводится на ВУ (вывод).
В современных компьютерах АЛУ и УУ объединены в центральный процессор (ЦП):
ОП↔ ЦП↔ ВУ
Внешних устройств достаточно много. ЦП тоже может быть несколько, работающих в параллель.
Компьютеры 40-х и 50-х годов 20 века были очень большими и занимали целые машинные залы (минимум 100 квадратных метров) и были очень дорогими в цене. Рынок заставлял людей изобретать более компактные и более дешёвые компьютеры. В 1948 г. был изобретён транзистор, который заменил электронную лампу. Во второй половине 50-х годов появились ЭВМ на основе транзисторов. Эти компьютеры были в сотни раз меньше ламповых. К середине 60-х годов были изобретены интегральные схемы (или чипы). В 1968 году появился первый компьютер на интегральных схемах, а с 1970 года фирма Intel начала продавать интегральные схемы памяти. В том же 70-м году появился первый микропроцессор Intel-4004 – прообраз ЦП современных персональных компьютеров.
В нашей стране первая ЭВМ появилась в 1949 году. Это тоже были большие и средние ЭВМ. Персональные компьютеры у нас появились с начала 80-х годов прошлого века.
Представление информации в компьютере
Компьютер обрабатывает только цифровую информацию. Вся другая информация (тексты, изображения, звуки, видео и др.) кодируется в цифровую форму. Единицей информации является 1 бит (двоичный разряд), принимающий значение либо 0, либо 1. Восемь бит составляет 1 байт. В одном байте можно закодировать 256 символов (28=256). 1 Кб=1024 (210) байта. 1 Мб=1024 Кб, 1 Гб=1024 Мб. Так как компьютер «понимает» только 0 и 1, то используется двоичная система счисления. На основе двоичной могут быть построены 8-ричная, 16-ричная, 10-ричная системы счисления.
Программы для первых компьютеров писались на машинном языке. Программа – это набор машинных команд. Машинная команда состоит из двух частей:
<код операции> и <адресная часть>
Адрес оперативной памяти – это номер байта ОП. Команда в трёхадресной ЭВМ выглядит следующим образом:
|
КОП |
А1 |
А2 |
А3 |
Выполнение операции: (А1) КОП (А2) => А3
Где (А1) – содержимое ячейки по адресу А1
Пример: Y=a+b
Исходные данные:
|
Адрес |
Команда |
Содержимое |
|
|
Программа |
|
100 |
|
a |
|
|
|
|
104 |
|
b |
|
|
|
|
108 |
|
Y |
|
|
|
|
|
|
|
|
|
|
|
200 |
01 |
100 |
104 |
108 |
Y=a+b |
|
204 |
00 |
|
|
|
Останов |
Примером машинного языка является язык Ассемблера. Машинные языки очень трудны и неудобны для человека. Поэтому в середине 50-х были изобретены языки высокого уровня – алгоритмические языки. Первым алгоритмическим языком был Фортран (1958 г.) для научных вычислений. В 1960 г. был придуман АЛГОЛ-60, а в 1964 г. – язык PL/1. Позже PL/1 был преобразован в Pascal. Кроме Паскаля сейчас известны и используются языки C, JAVA, ЛИСП, ПРОЛОГ и др. Современные объектно-ориентированные языки: Visual Basic, C++ и Visual C, Delphi и др.
Программы на языках высокого уровня преобразуются в программы из машинных команд с помощью программ трансляторов или компиляторов, либо интерпретируются с помощью программ-интерпретаторов.
Лекция № 2
Общие методики решения задач на ЭВМ
Первая методика
Программист
|
Программа |
|
|
|
в машинных |
Решение |
|
|
кодах |
|
Результат |
|
Исходные |
ЭВМ |
|
|
данные |
|
|
Пользователь
Разновидности программ для компьютеров
Прикладные программы => Операционные оболочки => Операционные системы => системы программирования => языки программирования => машинные коды => ЭВМ
-
Прикладные программы – редактирование текстов (Word), рисование картинок (Paint) и др.
-
Системные программы – операционные системы, драйверы, операционные оболочки (пример: Norton Commander), утилиты (копирования, антивирусы, архиваторы, диагностики компьютера и др.)
-
Инструментальные системы (системы программирования), обеспечивающие создание новых программ для компьютера.
Основные функции ос:
-
Управление данными;
-
Организация интерфейса между пользователем и ЭВМ;
-
Организация файловой системы;
-
Первоначальная загрузка программ.
Популярные ос:
-
MS DOS;
-
Windows;
-
UNIX;
-
OS/2;
-
Система виртуальных машин (OS/370, OS/390).
Этапы прохождения задачи в ЭВМ
|
программы |
ЭВМ |
программа |
|
|
|
|
На АЯ |
трансляция |
в |
Редак- |
Загру- |
Ре- |
|
(паскаль) |
|
машинных |
Тирова- |
зочный |
Ше- |
|
|
|
кодах |
ние |
модуль |
ние |
|
Исходные |
транслятор |
|
редактор |
|
Резу- |
|
данные |
|
|
|
|
льтат |
-
Трансляция;
-
Редактирование;
-
Выполнение.
Имя программы – это <имя файла>.<расширение>
Примеры:
.PAS – на Паскале;
.C – на Си;
.BAS – на бейсике;
.ASM – на Ассемблере;
.FOR – на Фортране;
.DBF – база данных;
.EXE – абсолютный модуль.
Транслятор – это программа, которая переводит программы с алгоритмического языка на внутренний (машинный) язык (для каждого языка программирования свой транслятор/компилятор).
Этапы решения задачи на ЭВМ.
1 этап Физическая постановка задачи
Пример: Рассчитать расход краски на забор R=K*S, где
K – расход краски на единицу площади,
S – площадь забора.
2 этап Математическая постановка задачи
R
= f(x) = K*
3 этап Выбор численного метода
-
Метод прямоугольников
S
=
*h;
h = (B-A)/n
Возьмём шаг h/2 и посчитать S1 |S1 – S| < eps
-
Метод трапеции (приближение – интерполяция):
S = ∑ h*(f(x)+f(x+h))/2
-
Метод Симпсона
4 этап Разработка алгоритма решения численных методов
Алгоритм – конечная последовательность действий, которая применяется к исходным данным для получения результата.
Свойства алгоритма:
А) массовость;
Б) конечность;
Б) конечность;
В) детерминированность (применение одного и того же алгоритма к одним и тем же исходным данным должно дать один и тот же результат).
Алгоритмы описываются на языках: 1) блок-схем; 2) псевдокодов.
5 этап Написание программы на алгоритмическом языке
6 этап Компиляция (трансляция) программы – обнаружение ошибок в программе
7 этап Процесс отладки программ:
-
Исправление синтаксических ошибок;
-
Исправление семантических ошибок.
8 этап Тестирование программы
9 этап Эксплуатация программы
Приложение:
Работа в среде TP-7 – быстрые клавиши:
F2 – сохранить программу (записать на диск);
F6 – сделать активным следующее окно;
Alt+F9 – компиляция программы;
Ctrl+F9 – выполнение программы;
Alt+F5 – сменить окно редактора на окно вывода результатов работы программы и наоборот;
Alt+F3 – закрывает активное окно;
Alt+X – выход из TP-7.
Лекция № 3
Алгоритмический язык Pascal
Требования к любым алгоритмическим языкам:
-
Близок к языку математики;
-
Близок к естественному языку (например, к английскому);
-
Однозначность любых конструкций.
Язык Pascal был создан в 70-е годы прошлого века как язык структурного программирования. В 1984 году фирма Borland написала среду Turbo Pascal, работающую под управлением операционной системы (после выполнения очередной команды ОС автоматическое возвращение в среду).
Алфавит языка
-
Латинские строчные и прописные буквы: a, b, …, z и A, B, …, Z
-
Цифры: 0, 1, …, 9
-
Символы «_», « » и управляющие символы, например: «конец строки», «новая строка», «табуляция».
-
Спец. символы: +, -, *, /, =, <, >, [, ], ., ,, (, ), :, ;, ^, @, {, }, $, #, ‘.
-
Составные символы, воспринимаемые как один символ (пробелы между ними недопустимы): <=, >=, :=, (*, *), (., .), ..
В алфавит не входят: 1) русские буквы (кириллица); 2) символы |, %, “ и др.
При описании сложных вычислительных процессов построение программ на языке программирования является очень трудным процессом. Чтобы облегчить процесс, программа описывается на языке более высокого уровня, например на языке блок-схем (языке алгоритмов).
Язык блок-схем состоит из 6 операторов:
-
Оператор начала и останова программы

-
Оператор ввода-вывода –ввод исходных данных и вывод результатов работы программы

-
Оператор действия – реализует вычисления и запоминает результат вычислений
-
Условный оператор – если <условие> выполняется, то работает процесс А, если <условие> не выполняется, то работает процесс В.

-
Оператор-ссылка: для продолжения блок-схемы на другой странице

-
Оператор вызова подпрограммы:
Основные операторы языка Pascal:
-
Составной оператор: begin … end;
-
Оператор ввода/вывода: read/write;
-
Оператор присваивания: := ;
-
Условный оператор и оператор выбора: if и case of;
-
Оператор цикла (повторений): for … do; while … do; repeat … until;
-
Оператор перехода: goto;
-
Оператор процедуры: procedure и function;
-
Пустой оператор ;
-
Комментарии: { … }.