Слайд 1Тема курса№2.1 Алгоритмизация и программирование
Тема урока №2.2 Основные понятия алгоритма, свойства
алгоритма. Способы представления алгоритма.
План:
1.Понятия алгоритма
2.Свойства алгоритмов
3.Виды алгоритмов
Слайд 2
Абдулла Мухаммед аль-Хорезми
(783 - 850гг.)
Algorithmi
825 год
Слайд 3А Л Г О Р И Т М -
описание последовательности
действий, необходимых
для получения ожидаемого результата
Слайд 4Исполнитель - это
что-то или кто-то, способный выполнить
действия, предписываемые алгоритмом
Слайд 5ИСПОЛНИТЕЛИ АЛГОРИТМОВ
НЕФОРМАЛЬНЫЕ:
ФОРМАЛЬНЫЕ:
Человек
животные
Робот-манипулятор
Техническое устройство (бытовые приборы)
Компьютер
Слайд 6Система команд исполнителя (СКИ) – совокупность команд, которые данный исполнитель может
выполнить.
Слайд 7Свойства алгоритмов
Понятность
Дискретность
Массовость
Результативность
Конечность
Слайд 8Понятность
Алгоритм составляется только
из команд, входящих в СКИ
исполнителя.
Слайд 9Дискретность
Алгоритм разбит на отдельные
элементарные действия (шаги).
Слайд 10Массовость
Алгоритм, разработанный для
решения некоторой задачи,
должен быть применим для
решения
задач этого типа
при всех допустимых значениях
исходных данных
Слайд 11Результативность
(или конечность)
Выполнение алгоритма должно
приводить к результату за
конечное число шагов
Слайд 12Способы записи алгоритма
Словесный
Графический
Программный
Слайд 13Блок-схемы как один из способов записи алгоритмов
Слайд 14Блок схема -
графическое представление алгоритма.
Она состоит из функциональных блоков, которые
выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.).
Слайд 16БЛОК НАЧАЛА ИЛИ ОКОНЧАНИЯ ВЫПОЛНЕНИЯ АЛГОРИТМА
НАЧАЛО
КОНЕЦ
Слайд 17БЛОКИ ВВОДА-ВЫВОДА
БЛОК ВВОДА –
ВЫВОДА
ВЫВОД
Слайд 18БЛОК ПРИСВАИВАНИЯ
Х:=У+120
ОБРАБАТЫВАЕТ ДАННЫЕ И РАЗМЕЩАЕТ РЕЗУЛЬТАТЫ В ЯЧЕЙКИ ПАМЯТИ С УКАЗАННЫМ
ИМЕНЕМ
Слайд 19ПАРАМЕТР
УСЛОВИЕ
Да
Нет
БЛОК ПРОВЕРКИ УСЛОВИЯ
БЛОК
ЦИКЛА С ПАРАМЕТРОМ
Слайд 20НАЧАЛО
ВВОД R
S:=3,14*R2
КОНЕЦ
S
ВЫВОД S
Слайд 21 Линейный алгоритм (последовательный) -
- описание действий, которые
выполняются однократно в заданном порядке
Слайд 22Линейный алгоритм
начало
Закрыть глаза
Открыть глаза
Посмотреть влево
Посмотреть вправо
конец
Выполни алгоритм
Слайд 23Разветвляющийся алгоритм-
алгоритм, в котором в зависимости от условия выполняется либо одна,
либо другая последовательность действий.
Условие –выражение, находящееся между словами «если» и «то» и принимающее значение «истина» или «ложь».
Слайд 24
КОМАНДА ВЕТВЛЕНИЯ ИМЕЕТ ПОЛНУЮ (1) ИЛИ СОКРАЩЕННУЮ ФОРМУ(2)
1
2
Слайд 26Циклический алгоритм -
описание действий, которые должны выполняться указанное число раз или
пока не выполнено заданное условие.
Слайд 27ТРИ ТИПА КОМАНД ПОВТОРЕНИЯ:
ЦИКЛ «ДЛЯ»
ЦИКЛ «ПОКА»
ЦИКЛ «ДО»
ОТЛИЧИЕ - СПОСОБ ПРОВЕРКИ
ОКОНЧАНИЯ ЦИКЛА.
Слайд 30НАЧАЛО
КОНЕЦ
Да
Нет
I=1,10,2
I
ЦИКЛ «ДЛЯ»
Слайд 31НАЧАЛО
КОНЕЦ
I
I>10
I:=I+2
Да
Нет
ЦИКЛ «ДО»
Слайд 32Циклический алгоритм
начало
Встать
Сделал
упр-е 5 раз?
Наклониться
влево
Наклониться вправо
Сесть
конец
нет
да
Слайд 33Рассмотрим алгоритм нахождения большего из двух заданных чисел А и В
Из
числа А вычесть число В.
Если получилось отрицательное значение, то сообщить, что число В больше.
Если получилось положительное значение, то сообщить, что число А больше.
4. Если получился ноль, то сообщить, что числа равны.
Слайд 34Д/з
Составить словесный алгоритм:
Перевода текста с англ.яз. на рус. яз.
Вычисления площади
треугольника.
Нахождения меньшего из трех чисел.
Слайд 35Алгоритмические задачи
Задание. Волк, коза и капуста.
Старик должен переправить на лодке через
реку волка, козу и капусту. Лодка может выдержать только старика и одного «пассажира». В каком порядке старик перевезёт «пассажиров»? Не забудь, что волк может съесть козу, а коза – капусту. Найди два варианта решения.
Слайд 36Задача. Переправа.
К берегу реки, где была лодка, вмещающая
только двух человек, подошли два разбойника и два путешественника. Разбойники не решались напасть на путешественников. В случае если на берегу останется один путешественник и два разбойника, они нападут на него. Как надо переправиться через реку разбойникам и путешественникам, чтобы последние смогли избежать нападения?
Слайд 37 Основные сведения о языках программирования
Язык – система знаков.
Язык ЭВМ (машинный
язык) – двоичная знаковая система.
Поэтому, чтобы компьютер мог понять написанную программу, она должна быть переведена на язык, понятный компьютеру. Этот процесс перевода называется трансляцией.
Слайд 38Интерпретаторы и компиляторы
Существует два различных подхода к трансляции – интерпретация и
компиляция:
Интерпретатор переводит и выполняет программу строка за строкой.
Компилятор переводит программу целиком, а затем выполняет её.
Слайд 39При компиляции (compile) в память ЭВМ загружается программа –компилятор. Компилятор производит
синтаксический контроль программы и при обнаружении ошибок выводит соответствующее сообщение. Если ошибок нет, то результатом компиляции является программа на языке машинных команд. Затем компилятор удаляется из оперативной памяти. В памяти остается только программа на языке машинных команд, которая выполняется для получения необходимых результатов.
Слайд 40Интерпретатор в течении всего времени работы программы находится в оперативной памяти.
В память также помещается программа на языке программирования высокого уровня. Интерпретатор «читает» ее первый оператор, переводит его в машинные команды и тут же организует выполнение этих команд. Затем переходит к переводу и выполнению следующего оператора и так до конца программы. При этом результаты предыдущих переводов в памяти не сохраняются. Перед трансляцией каждого оператора производится его синтаксический анализ.
Слайд 41Язык программирования Pascal
Язык программирования Паскаль был разработан профессором, директором Института информатики
Швейцарской высшей политехнической школы Николаусом Виртом в 1968-1970 гг. как язык обучения студентов программированию.
Слайд 42Николаус Вирт
Но думать, что Паскаль- язык исключительно для обучения, было бы
неверно. Вот что говорил об этом Н. Вирт (1984 г.):
«Утверждалось, что Паскаль был разработан в качестве языка для обучения. Хотя это утверждение справедливо, но его использование при обучении не являлось единственной целью. На самом деле я не верю в успешность применения во время обучения таких инструментов и методик, которые нельзя использовать при решении каких-то практических задач».*
* http://pascal.sources.ru
Слайд 43Язык программирования Pascal
С тех пор Паскаль становился всё более и более
популярным, причем не только, как язык для обучения принципам программирования, но и как средство создания достаточно сложного программного обеспечения.
В своем первоначальном виде Паскаль имел довольно ограниченные возможности, но расширенный вариант этого языка – Turbo Pascal является мощным языком программирования.
Слайд 44Почему PASCAL?
Язык программирования Pascal был назван в честь французского учёного Блеза
Паскаля, который еще в 1642 г. изобрел первую механическую счётную машину. Она представляла собой систему взаимодействующих зубчатых колёсиков, каждое из которых соответствовало одному разряду десятичного числа и содержало цифры от 0 до 9. Когда колёсико совершало полный оборот, следующее сдвигалось на одну цифру. Машина Паскаля была суммирующей машиной.
Слайд 45 Основные средства языка
Символы языка - это элементарные знаки, используемые при
составлении текстов.
Алфавит языка - набор таких символов.
Алфавит языка Turbo Pascal включает:
все латинские прописные и строчные буквы;
арабские цифры (0 – 9);
символы + - * / = < > , . ; : ‘ _ ( ) { } и др.;
служебные (зарезервированные) слова.
Слайд 46Для записи команд, имен функций, поясняющих терминов Pascal существует набор строго
определенных слов, которые называются служебными или зарезервированными (это английские мнемонические сокращения).
Служебные слова делятся на три группы:
операторы (READ, WRITELN и др.);
имена функций (SIN, COS и др.);
ключевые слова (VAR, BEGIN, END и др.).
Основные средства языка
Слайд 47Обрабатываемые данные - величины
Входные Промежуточные Выходные
(аргументы)
(результаты)
Слайд 48Обрабатываемые данные - величины
характеризуются:
именем
типом
значением
- обозначение и место в памяти
-
множество допустимых значений и множество применимых операций к ней, объём занимаемой памяти и способ представления в памяти ЭВМ
значение в ячейке.
М.б. не определено
Слайд 49Постоянная Переменная
(константа)
Не
изменяется Значение меняется
и не м.б. изменено в ходе выполнения алгоритма
Величина
Слайд 50Арифметические операции (А, В – операнды)
Слайд 52Стандартные математические функции Паскаля
Слайд 54Структура программы
Заголовок программы;
Раздел описаний;
Тело программы.
Любая программа на Паскале
имеет определенную структуру:
Слайд 55Основной файл программы имеет следующую структуру:
Program ;
Uses ;
const
<раздел описаний констант>;
type <раздел описаний типов>;
var <раздел описаний переменных>;
procedure (function) <описание подпрограмм>;
begin
<раздел операторов>;
end.
Слайд 56Структура программы
PROGRAM имя;
Const;
Var;
BEGIN
оператор 1;
оператор 2;
…..
оператор n-1;
оператор n;
Readln
END.
Слайд 57[имя] - программы может содержать до 8 символов, состоящих из латинских
букв и цифр (должно начинаться с буквы и не содержать пробела).
Слайд 58Раздел описания переменных
В разделе описания переменных содержится список переменных, используемых в
программе, и определяется их тип.
Var V1,V2,..,Vn : T ;
где V1,V2,.., Vn -имена переменных
данного типа Т
Например:
Var i, j : integer ;
L : MyType2;
M, k : char ;
Слайд 59Раздел операторов
Раздел операторов состоит из операторов языка TР, отделенных друг от
друга точкой с запятой. Он заключен в операторные скобки BEGIN END.
При этом после end ставится точка.
После слова begin и перед словом end точка с запятой обычно не ставится.
Слайд 60Любая программа взаимодействует с пользователем с помощью операторов ввода- вывода.
Операторы ввода-вывода
Слайд 61Операторы действия
Оператор присваивания
:=
Обязательно: тип выражения и тип переменной
должны быть совместимы по присваиванию.
Пример. Присвоить значения переменным N, X, Y.
N:=-5; X:=5678.9; Y:=5.6789e3
Слайд 62Ввод информации с клавиатуры осуществляется с помощью оператора READ.
Когда в программе
встречается оператор READ, то её действие приостанавливается до тех пор, пока не будут введены исходные данные.
Имеет вид:
READ(а,b,...)
READLN(а,b,..,),
где а,b,... – имена вводимых переменных
READLN - применяется, когда исполнение программы желательно задержать до нажатия клавиши ENTER. Ln добавляется в конце оператора для автоматического перемещения курсора в начало новой строки.
Оператор ввода READ
Слайд 63Оператор вывода WRITE
Для вывода информации на экран используется оператор WRITE.
Имеет вид:
WRITE(а,b,...)
WRITELN(а,b,..),
где а,b,... – список выводимых констант, переменных, выражений.
Ln добавляется в конце оператора для
автоматического перемещения курсора в начало новой строки.
Слайд 64Оператор вывода WRITE
1. WRITE(2*2) – выводит на экран: 4
2.WRITE(‘2*2=‘) - выводит
на экран: 2*2=
3. WRITE(‘2*2=‘, 2*2) - выводит на экран: 2*2=4
Слайд 65
В программу на Паскале можно вставлять комментарии. Комментарий – это пояснение
к программе, которое записывается в фигурных скобках. В комментариях можно использовать русские буквы. На исполнение программы комментарий никак не влияет.