
- •Введение: основные компоненты пэвм
- •Тема 1. Операционная система ms dos
- •1.1. Структура программного обеспечения эвм
- •1.2 Функции операционной системы
- •Управление работой блоков эвм
- •1.2.3. Управление установкой, исполнением и удалением программ
- •1.3. Управление файловой системой
- •1.3.1. Понятие файла
- •1.3.2. Структура файловой системы
- •Приглашение путь
- •1.3.3. Примеры команд ms dos
- •1.4. Загрузка ms dos в оперативную память с диска
- •1.5. Операционная оболочка norton commander
- •1.6. Сервисные средства пэвм
- •1.6.1. Антивирусные программы
- •1.6.2. Программы – архиваторы
- •Тема 2. Основы программирования
- •2.1. Этапы разработки программы
- •2.3. Типы алгоритмов
- •2.3.1. Линейные алгоритмы
- •2.3.2. Разветвляющиеся алгоритмы
- •2.3.3. Циклические алгоритмы
- •2.4. Языки программирования
- •Тема 3. Основные приемы программирования
- •3.1. Описание данных
- •3.1.1. Алфавит
- •3.1.2. Переменные
- •3.1.3. Переменные массивы
- •3.2. Операции и выражения
- •3.3. Программирование линейных алгоритмов
- •3.3.1. Операторы присваивания
- •3.3.2. Операторы ввода – вывода
- •3.4. Программирование разветвляющихся алгоритмов
- •3.5. Программирование циклических алгоритмов
- •Тема 4. Арифметические и логические основы эвм
- •Системы счисления
- •Перевод чисел из одной системы в другую
- •Перевод целых чисел
- •Формы представления чисел в эвм
- •Логические основы эвм
- •Тема 5. Устройства персонального компьютера
- •Тема 6. Операционная система windows 98
- •История появления и основные свойства операционной системы
- •Графический интерфейс Windows 98
- •Многозадачность Windows 98
- •Внедрение и связывание объектов
- •Масштабируемые шрифты
- •Тема 7. Пакеты прикладных программ
- •7.1. Классификация пакетов прикладных программ
- •7.2. Пакеты прикладных программ общего назначения
- •Проблемно-ориентированные ппп
- •Тема 8. Табличные процессоры
- •8.1. Назначение и история появления табличных процессоров
- •8.2. Основные понятия
- •8.3. Интерфейс и объекты тбп
- •8.4. Данные, хранимые в ячейках эт
- •8.5. Режимы работы тбп
- •8.6. Формирование структуры электронной таблицы и ввод исходных данных
- •8.6.1. Копирование и перемещение информации.
- •8.6.2. Способы копирования и перемещения
- •8.7. Работа с данными
- •8.7.1. Объединение электронных таблиц
- •Сортировка данных
- •Фильтрация данных
- •Сводные таблицы
2.3. Типы алгоритмов
Р
азличаются
алгоритмы линейные, разветвляющиеся и
циклические.
2.3.1. Линейные алгоритмы
В линейном алгоритме отсутствуют разветвления и все операции выполняются однократно. Пример: выполнить функцию
y = [2 (x + 10) + 3 (x3 +5) ] / [4(x2 + 10) + 5(x3 + 5)]
Изобразим одну из возможных блок-схем алгоритма.
2.3.2. Разветвляющиеся алгоритмы
В разветвляющемся алгоритме имеются два или более направлений хода вычислений.
Пример: вычислить функцию
2.3.3. Циклические алгоритмы
В циклическом алгоритме некоторые операции выполняются многократно. Циклический алгоритм одновременно является и разветвляющимся. Пример: вычислить сумму из n слагаемых, если i-е по порядку слагаемое определяется выражением:
yi(x) = (x + i) / (i + 1), т.е.
y = (x +1) / 2 + (x + 2) / 3 + … + (x + n) / (n + 1)
Э
ту
сумму можно вычислить, предусмотрев в
алгоритме для каждого слагаемого свой
вычислительный блок типа "процесс".
Однако при большом n этот
путь чрезвычайно нерационален. А другой
путь, основанный на том факте, что каждое
слагаемое рассматриваемой суммы y
рас-падается на n этапов,
на каждом из которых выполняются одни
и те же действия. При этом на i-м
этапе вычисляется i-е по
порядку слагаемое и сумма yi
первых i слагаемых. Только
эти действия для i-го
слагаемого и i-й суммы
дополненные операциями по изменению и
проверке значения номера i
и составляют содер-жание циклического
алгоритма. При за-писи алгоритма
опускаются индексы, отмечающие предыдущие
и последую- щие значения y
и i, то есть пишут: y
= y + u и i
= i + 1.
Переменную принято называть счетчиком или параметром цикла.
2.4. Языки программирования
Д
ля
представления алгоритма в виде понятном
компьютеру, служат языки программирования,
на одном из которых и должен быть записан
алгоритм. В результате алгоритм
превращается в компьютерную программу.
Однако лишь единственный язык
программирования понятен компьютеру
без переводчика – это язык его машинных
команд (кодов). Команды,
как и любая другая информация в машине,
представляются в виде двоичных кодов.
Машинные коды
– это двоичные коды, которыми кодируются
команды ЭВМ. Эти коды содержат две части,
в одной из которых размещается код
операции, в другой – адреса операндов
и результата. Приведем учебный пример
машинных кодов ЭВМ:
В
современных ПЭВМ реали-зуется, как
правило, порядка 200 различных команд.
Прог-раммированию на языке ма-шинных
кодов свойственны 2 недостатка: 1) высокая
тру-доемкость программирования,
2) необходимость знания устройства ЭВМ.
Достоинством такого подхода к программированию является возможность получения наиболее компактных программ. В этом случае процесс общения человека с машиной можно представить рисунком:
Развитие языков программирования всегда осуществлялось и продолжает осуществляться в направлении исключения указанных недостатков. Первый шаг в этом направлении – это переход к языку ассемблера. Отличие ассемблера от языка машинных кодов заключается лишь в том, что двоичный код операции в ассемблере заменяется на ее символьное имя. В результате при записи в программе команды "сложение" при использовании ассемблера пишется ее имя "Add", а не код 0001. Однако при программировании на ассемблере программисту также необходимо знание устройства ЭВМ. Эти недостатки исчезают лишь при использовании так называемых языков высокого уровня. Примерами таких языков являются BASIC, C, Pascal и т.д. Эти языки гораздо более понятны человеку, нежели машинные коды, они не требуют знания устройства ЭВМ. Однако при использовании, как и в случае ассемблера, требуются спецпрограммы-переводчики с языка высокого уровня (ЯВУ) на язык машинных кодов. Эти программы называются трансляторами, а процесс перевода – трансляцией. В результате схема общения человека с ЭВМ приобретает следующий вид:
Трансляция
Существуют трансляторы 2-х типов: компиляторы и интерпретаторы. Компиляторы до использования программы переводят текст программы с ЯВУ на язык машинных команд целиком. Результат перевода – программа в машинных кодах – называется объектным модулем. Для ее исполнения в дальнейшем не нужен компилятор. Интерпретаторы переводят текст программы не целиком, а покомандно и не создают объектного модуля. Для исполнения программы в этом случае всегда нужен интерпретатор. Последнее свойство является явным недостатком. Однако отладка программы при использовании интерпретатора резко упрощается. Для некоторых языков разработаны как компиляторы, так и интерпретаторы. К числу таких языков относится QuickBasic. На практике вы будете работать с его усеченной по числу операторов версией QBASIC, для которого существует лишь интерпретатор. Для разработки и отладки программ на языках высокого уровня используются системы программирования, которые состоят из следующих компонентов:
текстовый редактор для подготовки текста программы на ЯВУ
транслятор для перевода исходного текста программы на язык машинных кодов
средства для отладки программ.
Процесс отладки предназначен для обнаружения и исправления ошибок в программе и предполагает предварительную разработку проверочных исходных данных для программ – названных тестами.