ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 01.04.2025

Просмотров: 266

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Курс «Прикладное программирование и основы алгоритмов»

Литература

  1. В.В. Фаронов Турбо Паскаль 7.0 Начальный курс. М., Изд. «Нолидж», 2001 г.

  2. В.С.Зубов и др. Сборник задач по базовой компьютерной подготовке. Под общей редакцией И.Н. Котаровой. М., МЭИ, 1998 г.

Лекция №1

История развития вычислительной техники

Потребность в автоматизации вычислений и обработки информации возникла очень давно, когда люди считали с помощью камешков, палочек, счётов. Механические устройства вычислений появились в 17 веке. Работы по первой Аналитической машине появились в первой половине 19 века. Их проводил английский математик Чарльз Бэббидж.

Первые вычислительные машины появились в годы второй мировой войны (1941 г. – сделал немецкий инженер Конрад Цузе, 1943 г. – сделал американец Говард Эйкен – название «Марк-1»). Эти машины были сделаны на основе реле, а в 1945 г. была сделана первая машина на основе электронных ламп под названием ENIAC (Эниак). Научный доклад по этой машине сделал математик Джон фон Нейман, в котором изложил общие принципы работы компьютеров.

Принципы фон Неймана:

  1. Компьютер должен состоять из следующих устройств:

  1. Арифметическо-логическое устройство (АЛУ);

  2. Устройство управления (для организации выполнения программ);

  3. Запоминающее устройство (ЗУ) или память (П); (ОП – оперативная память);

  4. Внешние устройства (ВУ) для ввода-вывода информации.

АЛУ ↔ УУ ↔ ВУ

ОП ↔

  1. Процесс работы компьютера:

  1. с ВУ информация поступает в ОП (ввод);

  2. УУ и АЛУ обрабатывают информацию из ОП;

  3. Результат обработки размещается в ОП;

  4. Результат из ОП выводится на ВУ (вывод).

В современных компьютерах АЛУ и УУ объединены в центральный процессор (ЦП):

ОП↔ ЦП↔ ВУ

Внешних устройств достаточно много. ЦП тоже может быть несколько, работающих в параллель.

Компьютеры 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

Общие методики решения задач на ЭВМ

Первая методика

Программист

Программа

в машинных

Решение

кодах

Результат

Исходные

ЭВМ

данные

Пользователь

Разновидности программ для компьютеров

Прикладные программы => Операционные оболочки => Операционные системы => системы программирования => языки программирования => машинные коды => ЭВМ

  1. Прикладные программы – редактирование текстов (Word), рисование картинок (Paint) и др.

  2. Системные программы – операционные системы, драйверы, операционные оболочки (пример: Norton Commander), утилиты (копирования, антивирусы, архиваторы, диагностики компьютера и др.)

  3. Инструментальные системы (системы программирования), обеспечивающие создание новых программ для компьютера.

Основные функции ос:

  1. Управление данными;

  2. Организация интерфейса между пользователем и ЭВМ;

  3. Организация файловой системы;

  4. Первоначальная загрузка программ.

Популярные ос:

  1. MS DOS;

  2. Windows;

  3. UNIX;

  4. OS/2;

  5. Система виртуальных машин (OS/370, OS/390).

Этапы прохождения задачи в ЭВМ

программы

ЭВМ

программа

На АЯ

трансляция

в

Редак-

Загру-

Ре-

(паскаль)

машинных

Тирова-

зочный

Ше-

кодах

ние

модуль

ние

Исходные

транслятор

редактор

Резу-

данные

льтат


  1. Трансляция;

  2. Редактирование;

  3. Выполнение.

Имя программы – это <имя файла>.<расширение>

Примеры:

.PAS – на Паскале;

.C – на Си;

.BAS – на бейсике;

.ASM – на Ассемблере;

.FOR – на Фортране;

.DBF – база данных;

.EXE – абсолютный модуль.

Транслятор – это программа, которая переводит программы с алгоритмического языка на внутренний (машинный) язык (для каждого языка программирования свой транслятор/компилятор).

Этапы решения задачи на ЭВМ.

1 этап Физическая постановка задачи

Пример: Рассчитать расход краски на забор R=K*S, где

K – расход краски на единицу площади,

S – площадь забора.

2 этап Математическая постановка задачи

R = f(x) = K*

3 этап Выбор численного метода

  1. Метод прямоугольников

S = *h; h = (B-A)/n

Возьмём шаг h/2 и посчитать S1 |S1 – S| < eps

  1. Метод трапеции (приближение – интерполяция):

S = ∑ h*(f(x)+f(x+h))/2

  1. Метод Симпсона

4 этап Разработка алгоритма решения численных методов

Алгоритм – конечная последовательность действий, которая применяется к исходным данным для получения результата.

Свойства алгоритма:

А) массовость;

Б) конечность;

Б) конечность;

В) детерминированность (применение одного и того же алгоритма к одним и тем же исходным данным должно дать один и тот же результат).

Алгоритмы описываются на языках: 1) блок-схем; 2) псевдокодов.

5 этап Написание программы на алгоритмическом языке

6 этап Компиляция (трансляция) программы – обнаружение ошибок в программе

7 этап Процесс отладки программ:

  1. Исправление синтаксических ошибок;

  2. Исправление семантических ошибок.

8 этап Тестирование программы

9 этап Эксплуатация программы

Приложение:

Работа в среде TP-7 – быстрые клавиши:

F2 – сохранить программу (записать на диск);

F6 – сделать активным следующее окно;

Alt+F9 – компиляция программы;

Ctrl+F9 – выполнение программы;

Alt+F5 – сменить окно редактора на окно вывода результатов работы программы и наоборот;

Alt+F3 – закрывает активное окно;

Alt+X – выход из TP-7.

Лекция № 3

Алгоритмический язык Pascal

Требования к любым алгоритмическим языкам:

  1. Близок к языку математики;

  2. Близок к естественному языку (например, к английскому);

  3. Однозначность любых конструкций.


Язык Pascal был создан в 70-е годы прошлого века как язык структурного программирования. В 1984 году фирма Borland написала среду Turbo Pascal, работающую под управлением операционной системы (после выполнения очередной команды ОС автоматическое возвращение в среду).

Алфавит языка

  1. Латинские строчные и прописные буквы: a, b, …, z и A, B, …, Z

  2. Цифры: 0, 1, …, 9

  3. Символы «_», « » и управляющие символы, например: «конец строки», «новая строка», «табуляция».

  4. Спец. символы: +, -, *, /, =, <, >, [, ], ., ,, (, ), :, ;, ^, @, {, }, $, #, ‘.

  5. Составные символы, воспринимаемые как один символ (пробелы между ними недопустимы): <=, >=, :=, (*, *), (., .), ..

В алфавит не входят: 1) русские буквы (кириллица); 2) символы |, %, “ и др.

При описании сложных вычислительных процессов построение программ на языке программирования является очень трудным процессом. Чтобы облегчить процесс, программа описывается на языке более высокого уровня, например на языке блок-схем (языке алгоритмов).

Язык блок-схем состоит из 6 операторов:

  1. Оператор начала и останова программы

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

  1. Оператор действия – реализует вычисления и запоминает результат вычислений

  1. Условный оператор – если <условие> выполняется, то работает процесс А, если <условие> не выполняется, то работает процесс В.

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

  1. Оператор вызова подпрограммы:

Основные операторы языка Pascal:

  1. Составной оператор: begin … end;

  2. Оператор ввода/вывода: read/write;

  3. Оператор присваивания: := ;

  4. Условный оператор и оператор выбора: if и case of;

  5. Оператор цикла (повторений): for … do; while … do; repeat … until;

  6. Оператор перехода: goto;

  7. Оператор процедуры: procedure и function;

  8. Пустой оператор ;

  9. Комментарии: { … }.