Программное обеспечение компьютеров-1.ppt
- Количество слайдов: 64
Алгоритмы. Алгоритмизация. Алгоритмические языки Алгоpитм — точное и понятное пpедписание исполнителю совеpшить последовательность действий, направленных на решение поставленной задачи.
Алгоритмы Название "алгоритм" произошло от латинской формы имени среднеазиатского математика аль. Хорезми — Algorithmi Алгоритм — одно из основных понятий информатики и математики
Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом
Исполнителя хаpактеpизуют : сpеда; элементаpные действия; cистема команд; отказы.
Сpеда (или обстановка) — это "место нахождения" исполнителя ; Система команд. Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия пpименимости (в каких состояниях сpеды может быть выполнена команда) и описаны pезультаты выполнения команды
После вызова команды исполнитель совеpшает соответствующее элементаpное действие. Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды.
Свойства алгоpитмов Понятность для исполнителя — т. е. исполнитель алгоритма должен знать, как его выполнять. Дискpетность (прерывность, раздельность) — т. е. алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов)
Свойства алгоpитмов Опpеделенность — т. е. каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче
Свойства алгоpитмов Pезультативность (или конечность). Это свойство состоит в том, что алгоpитм должен пpиводить к pешению задачи за конечное число шагов Массовость. Это означает, что алгоpитм pешения задачи pазpабатывается в общем виде, т. е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными. Пpи этом исходные данные могут выбиpаться из некотоpой области, котоpая называется областью пpименимости алгоpитма
Формы записи алгоритмов словесная (записи на естественном языке); графическая (изображения из графических символов); псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др. ); программная (тексты на языках программирования).
Словесный способ записи алгоритмов Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.
Графический способ записи алгоритмов При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий Такое графическое представление называется схемой алгоритма или блок -схемой
Процесс Вычислительное действие или последовательность действий
Решение Проверка условий
Модификация Проверка условий , организация цикла
Ввод-вывод в общем виде
Пуск-останов Начало, конец алгоритма, вход и выход в подпрограмму
Блок "процесс" применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.
Блок "решение" используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет.
Блок "модификация" используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения
Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов В псевдокоде не приняты строгие синтаксические правила для записи команд В псевдокоде есть служебные слова, смысл которых определен набором (списком)
Пример псевдокода Алгоритмический язык в русской нотации
Пример псевдокода
Базовые алгоритмические структуры Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл Характерной особенностью базовых структур является наличие в них одного входа и одного выхода
Базовая структура следование. Образуется из последовательности действий, следующих одно за другим
Базовая структура ветвление Обеспечивает в зависимости от результата проверки условия (истина или лож) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран
Структура ветвление существует в четырех основных вариантах : IF-THEN (если-то); IF-THEN-ELSE (если-то-иначе); SELECT-CASE (выбор); SELECT-CASE ELSE (выбор-иначе)
1. если-то IF условие THEN действия (линейная форма) IF условие THEN действия END IF (блочная форма)
2. если-то-иначе IF условие THEN действия 1 else действия 2 (линейная форма) IF условие THEN действия 1 ELSE действия 2 END IF (блочная форма)
3. выбор SELECT CASE условия выбора CASE условие 1 действия 1 CASE условие 2 действия 2 . . . CASE условие N действия N END SELECT
4. выбор-иначе SELECT CASE условия выбора CASE условие 1 действия 1 CASE условие 2 действия 2 . . . CASE условие N действия N CASE ELSE действия END SELECT
Примеры команды если IF x > 0 THEN y = sin(x) (линейная форма) IF x > 0 THEN y = sin(x) END IF (блочная форма)
Примеры команды если IF a > b THEN a=2*a : b=1 else b=2*b (линейная форма) IF a > b THEN a = 2*a b=1 ELSE b : = 2*b END IF (блочная форма)
Примеры команды если SELECT CASE n CASE 1 y = sin(x) CASE 2 y = cos(x) CASE условие 3 y = 0 END SELECT
Базовая структура «ЦИКЛ» Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.
Цикл пока Предписывает повторят выполнение тела цикла до тех пор, пока выполняется условие, записанное в начале цикла.
Цикл пока (разновидности) WHILE условие тело цикла (последовательность действий) WEND DO WHILE условие тело цикла (последовательность действий) LOOP
Цикл пока DO UNTIL условие тело цикла (последовательность действий) LOOP
Цикл до Предписывает повторять выполнение тела цикла до тех пор, пока выполняется условие, записанное в конце цикла.
Цикл до (разноведности) DO тело цикла (последовательность действий) LOOP WHILE условие
Цикл до (разноведности) DO тело цикла (последовательность действий) LOOP UNTIL условие
Цикл типа для Предписывает выполнять тело цикла для всех значений некоторой переменной
Цикл типа для FOR i=i 1 TO i 2 [STEP 1] тело цикла (последовательность действий) NEXT i
Примеры циклов WHILE i <= 5 S = S+A(i) i = i+1 WEND DO WHILE i <= 5 S = S+A(i) i = i+1 LOOP
Примеры циклов FOR i=1 TO 5 X(i) = i*i*i Y(i) = X(i)/2 NEXT i
Итерационные циклы Особенностью итерационного цикла является то, что число повторений операторов тела цикла заранее неизвестно. Для его организации используется цикл типа до и пока. Выход из итерационного цикла осуществляется в случае выполнения заданного условия.
Итерационные циклы На каждом шаге вычислений происходит последовательное приближение и проверка условия достижения искомого результата
Пример. Составить алгоритм вычисления суммы ряда с заданной точностью (для данного знакочередующегося степенного ряда требуемая точность будет достигнута, когда очередное слагаемое станет по абсолютной величине меньше).
REM Сумма (аргументы вещ x, Eps; рез вещ S) INPUT “Введите x=”; x INPUT “Введите Eps=”; Eps S=0 : i=1 ‘начальные значения m=1 : p=-1 ‘вспомогательные переменные DO WHILE abs(m) > Eps p=-p*x ‘p - числитель очередного слагаемого m=p/i ‘m - очередное слагаемое S=S+m ‘S - частичная сумма i=i+1 ‘i - номер очередного слагаемого LOOP PRINT “Сумма ряда равна: ”; S END
В итерационных алгоритмах необходимо обеспечить обязательное достижение условия выхода из цикла (сходимость итерационного процесса). В противном случае произойдет зацикливание алгоритма, т. е. не будет выполняться основное свойство алгоритма – результативность
QBASIC Вход в среду программирования Бейсик осуществляется запуском исполняемого файла QBasic. exe. При этом на дисплее появляется приглашение и нажатием Esc осуществляется переход в окно редактирования. При нажатии Enter будет вызвана справочная система Бейсика.
Следует помнить Длина идентификатора ( имени переменной ) в QBasiс допускается 40 символов, но начинаться он должен с буквы и содержать только латинские символы, цифры, подчеркивания.
Пункт меню Файл содержит: Новый – позволяет набрать новую программу на месте предыдущей; Открыть – открывает окно загрузки файла с диска ( перемещения по разделам окна осуществляется клавишей Tab ). Сохранить – записывает программу на диск с текущим именем, указанным вверху окна редактирования; Сохранить как - открывает окно записи файла на диск, позволяя задать имя программе и выбрать директорию, в которой она будет сохранена, тип; Печать – печатает на принтере текст программы, но не результат ее работы; Выход – завершает работу в среде QBasic
Пункт меню Редактирование представляет возможности по работе с выделенными фрагментами текста. Для того чтобы выделить фрагмент необходимо нажать Shift и удерживая его нажать одну из клавиш со стрелками. Перемещаясь по тексту, курсор будет инвертировать его цвет, показывая текущее выделение.
Пункт меню Редактирование Вырезать – удаляет выделенный фрагмент из текста и помещает его в буфер обмена; Копировать – копирует выбеленный фрагмент в буфер обмена; Вставить – вставляет содержимое буфера обмена в текст программы после позиции курсора; Очистить – удаляет выделенный фрагмент из текста программы; Новая SUB – открывает окно диалога по созданию подпрограммы; Новая FUNCTION – открывает окно диалога по созданию функции. Следует помнить, что в буфере обмена сохраняется последний помещенный в него фрагмент
Пункт меню Просмотр осуществляет функции по управлению окнами редактирования и вывода результатов
Пункт меню Просмотр SUBs – открывает диалог по выбору текста программы, подпрограммы или функции который будет отображаться в панели редактирования; Разбить – разделяет окно редактирования на два независимых окна, переключение между которыми осуществляется нажатием F 6. Повторный выбор данной опции объединяет окна, позиционируя курсор по его положению в активном, на момент слияния, окне; Экран вывода – переключает дисплей со среды Бейсика в окно вывода результатов работы программы и обратно. Пункт меню Поиск содержит команды по поиску, замене последовательностей символов в программе и имеет подпункты: Поиск – открывает окно диалога для задания искомой последовательности символов и осуществляет поиск первого вхождения указанной последовательности в текст программы, после позиции курсора; Повторить поиск – осуществляет поиск следующего вхождения последовательности символов в текст программы; Замена – открывает окно диалога по поиску указанной последовательности символов и ее замене другой, заданной в окне диалога
Пункт меню Запуск – запускает программу с самого начала; Перезапустить – запускает программу с начала, но приостанавливает ее выполнение на первом выполнимом операторе; Продолжить – продолжает выполнение программы с места ее останова, вызванного оператором STOP или нажатием Ctrl+Break – прервать выполнение
Для работы в режиме отладки используется пункт меню Отладка Шаг – пошаговое выполнение программы с остановкой после каждой строки операторов; Процедура на шаг – аналогичен подпункту Шаг, но не выполняет заход в процедуры и функции; Трассировка – переключатель, позволяющий включить отмечание цветом выполненных операторов; Контрольная точка – отмечает операторы, на которых машина будет прерывать выполнение программы, до выполнения подпункта Продолжить; Очистить все контрольные точки – снимает все пометки контрольных точек; Установить следующее выражение – при пошаговом выполнении программы, позволяет “перепрыгнуть” некоторые операторы, продолжив программу с отмеченного курсором места
Пункт меню Параметры Экран – вызывает окно диалога по настройке цвета и параметров экрана среды; Путь справки – открывает окно диалога для задания места нахождения справочного файла QBasic; Проверка синтаксиса – опция, при включении которой Бейсик отслеживает правильность написания, с точки зрения лексики, а не логики, каждой строки программы
пункт меню Справка Предметный указатель – вызывает справочную информацию по ключевым словам и функциям языка; Содержание – вызывает оглавление справочной информации; Тема – выполняет контекстный вызов справочной информации, по слову отмеченному курсором; Использование справки – информация о возможностях справочной системы Бейсика; Коротко о – Версия языка и авторские права
Типы данных, их диапазоны и суффиксы Пример: А$ - строковая переменная А.
Операторы ввода и вывода


