Алгоритмы и способы их описания. Язык Pascal

Содержание

Слайд 2

Этапы решения задачи Предположим, перед вами поставлена задача, для решения которой

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

Предположим, перед вами поставлена задача, для решения которой необходимо

написать компьютерную программу. Из курса основной школы вам уже известно, что решение задачи имеет определенные этапы:
Постановка задачи- чётко определить цель.
Выбор метода решения- информационное моделирование.
Алгоритмизация задачи- составление алгоритма.
Составление программы- программирование.
Отладка и тестирование программы.
Вычисление и обработка результатов.
Слайд 3

Алгоритм Свойства алгоритма дискретность: состоит из отдельных шагов (команд) понятность: должен

Алгоритм

Свойства алгоритма
дискретность: состоит из отдельных шагов (команд)
понятность: должен включать только команды,

известные исполнителю (входящие в СКИ)
определенность: при одинаковых исходных данных всегда выдает один и тот же результат
конечность: заканчивается за конечное число шагов
массовость: может применяться многократно при различных исходных данных
корректность: дает верное решение при любых допустимых исходных данных

Алгоритм это-
протокол вычислительной сети
четко определенный план действий для исполнителя
правила выполнения определенных действий

Слайд 4

Исполнитель алгоритма Лейка Ножницы Гитара Стиральная машина Карта Какие из объектов могут являться исполнителями алгоритмов?

Исполнитель алгоритма

Лейка
Ножницы
Гитара
Стиральная машина
Карта

Какие из объектов могут являться исполнителями алгоритмов?

Слайд 5

Исполнитель алгоритма Субъект или устройство, способные правильно интерпретировать описание алгоритма и

Исполнитель алгоритма

Субъект или устройство, способные правильно интерпретировать описание алгоритма и выполнить

содержащийся в нем перечень действий
Слайд 6

Слайд 7

Обозначение Блок-схем 1 Блок обработки информации, выполнение одной или нескольких операций

Обозначение Блок-схем

1

Блок обработки информации, выполнение одной или нескольких операций
Блок «Ввод»
Логический

блок
d) Блок начало/конец
e) Блок «Вывод»

2

3

4

5

Слайд 8

Программа Программа – это алгоритм, записанный на каком-либо языке программирования набор

Программа

Программа – это
алгоритм, записанный на каком-либо языке программирования
набор команд для

компьютера

Команда – это описание действий, которые должен выполнить компьютер.
откуда взять исходные данные?
что нужно с ними сделать?

Оператор – это команда языка программирования высокого уровня.

Слайд 9

Переменные Переменная – это величина, имеющая имя, тип и значение. Значение

Переменные

Переменная – это величина, имеющая имя, тип и значение. Значение переменной

можно изменять во время работы программы.

a

Значение

Имя

Другой тип данных

Слайд 10

Типы данных в языке программирования Паскаль

Типы данных
в языке программирования Паскаль

Слайд 11

Слайд 12

Блок-схема линейного алгоритма начало конец c := a + b; ввод

Блок-схема линейного алгоритма

начало

конец

c := a + b;

ввод a, b

вывод c

блок «начало»

блок

«ввод»

блок «процесс»

блок «вывод»

блок «конец»

Слайд 13

Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран

Разветвляющиеся алгоритмы

Задача. Ввести два целых числа и вывести на экран наибольшее

из них.
исполнителя зависят от некоторых условий (если … иначе …).

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

Слайд 14

Вариант 1. Блок-схема полная форма ветвления блок «решение»

Вариант 1. Блок-схема

полная форма ветвления

блок «решение»

Слайд 15

Вариант 2. Блок-схема неполная форма ветвления

Вариант 2. Блок-схема

неполная форма ветвления

Слайд 16

Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет

Сложные условия

Задача. Фирма набирает сотрудников от 25 до 40 лет включительно.

Ввести возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»).
Особенность: надо проверить, выполняются ли два условия одновременно.
Слайд 17

Вариант 1. Алгоритм начало ввод x 'подходит' конец да нет x

Вариант 1. Алгоритм

начало

ввод x

'подходит'

конец

да

нет

x >= 25?

да

нет

x <= 40?

'не подходит'

'не подходит'

Слайд 18

Вариант 2. Алгоритм начало ввод x 'подходит' да нет x >= 25 и x 'не подходит'

Вариант 2. Алгоритм

начало

ввод x

'подходит'

да

нет

x >= 25 и
x <= 40?

'не подходит'

Слайд 19

Сложные условия Простые условия (отношения) >= = Сложное условие – это

Сложные условия

Простые условия (отношения)
< <= > >= = <>
Сложное условие

– это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций:
not – НЕ (отрицание, инверсия)
and – И (логическое умножение, конъюнкция, одновременное выполнение условий)
or – ИЛИ (логическое сложение, дизъюнкция, выполнение хотя бы одного из условий)
xor – исключающее ИЛИ (выполнение только одного из двух условий, но не обоих)

равно

не равно

Слайд 20

Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с

Циклы

Цикл – это многократное выполнение одинаковой последовательности действий.
цикл с известным числом

шагов
цикл с неизвестным числом шагов (цикл с условием)
Задача. Вывести на экран 5 раз слово «Привет».
Слайд 21

Алгоритм начало Привет! конец да нет i = 5? i :=

Алгоритм

начало

Привет!

конец

да

нет

i = 5?

i := 0;

i := i + 1;

еще не сделали

ни одного раза

проверить, все ли сделали

вывод на экран

считаем очередной шаг

Слайд 22

Циклы Задача. Вывести на экран квадраты и кубы целых чисел от

Циклы

Задача. Вывести на экран квадраты и кубы целых чисел от 1

до 8 (от a до b).
Особенность: одинаковые действия выполняются 8 раз.
Слайд 23

Алгоритм начало i, i2, i3 конец нет да i i :=

Алгоритм

начало

i, i2, i3

конец

нет

да

i <= 8?

i := 1;

i := i + 1;

i2

:= i * i;
i3 := i2 * i;

задать начальное значение переменной цикла

проверить, все ли сделали

вычисляем квадрат и куб

вывод результата

перейти к следующему i

Слайд 24

Алгоритм (с блоком «цикл») начало i, i2, i3 конец i2 :=

Алгоритм (с блоком «цикл»)

начало

i, i2, i3

конец

i2 := i * i;
i3 :=

i2 * i;

i := 1,8

блок «цикл»

тело цикла

Слайд 25

Найдите сумму и произведение трех введенных с клавиатуры чисел. Входные данные:

Найдите сумму и произведение трех введенных с клавиатуры чисел.
Входные данные: 1,

2, 3.
Выходные данные: S=?, P=?.

Тренировочное задание

Слайд 26

Найдите сумму и произведение трех введенных с клавиатуры чисел. Входные данные:

Найдите сумму и произведение трех введенных с клавиатуры чисел.
Входные данные: 1,

2, 3.
Выходные данные: S=6, P=6.

начало

S, P

S:= a+b+c;
P:= a*b*c;

конец

ввод a, b, c;

Тренировочное задание

Слайд 27

Определите результата выполнения алгоритма по заданной блок-схеме. Найдите значение у при

Определите результата выполнения алгоритма по заданной блок-схеме.
Найдите значение у при х=4,

у=3
Найдите значение у при х=64, у=10

Тренировочное задание

Слайд 28

Определите результата выполнения алгоритма по заданной блок-схеме. Найдите значение у при

Определите результата выполнения алгоритма по заданной блок-схеме.
Найдите значение у при х=4,

у=3
Найдите значение у при х=64, у=10

Тренировочное задание

Слайд 29

Значение переменной после выполнения алгоритма Фрагмент алгоритма изображен в виде блок-схемы.

Значение переменной после выполнения алгоритма Фрагмент алгоритма изображен в виде блок-схемы. Определите,

какое значение примет переменная S после выполнения алгоритма.
Слайд 30

Значение переменной после выполнения алгоритма Фрагмент алгоритма изображен в виде блок-схемы.

Значение переменной после выполнения алгоритма Фрагмент алгоритма изображен в виде блок-схемы. Определите,

какое значение примет переменная S после выполнения алгоритма.
Слайд 31

Результат работы алгоритма Определите, что будет выведено в результате работы следующего алгоритма.

Результат работы алгоритма Определите, что будет выведено в результате работы следующего алгоритма.

Слайд 32

Результат работы алгоритма Определите, что будет выведено в результате работы следующего алгоритма.

Результат работы алгоритма Определите, что будет выведено в результате работы следующего алгоритма.

Слайд 33

Даны длины двух катетов прямоугольного треугольника. Определить периметр этого треугольника. Входные

Даны длины двух катетов прямоугольного треугольника. Определить периметр этого треугольника.
Входные данные:

a:=3, b:=4.
Выходные данные: P=?

Составьте блок-схему

Слайд 34

Даны длины двух катетов прямоугольного треугольника. Определить периметр этого треугольника. Входные

Даны длины двух катетов прямоугольного треугольника. Определить периметр этого треугольника.
Входные данные:

a:=3, b:=4.
Выходные данные: P=?

Составьте блок-схему

Слайд 35

Даны длины двух катетов прямоугольного треугольника. Определить периметр этого треугольника. Входные

Даны длины двух катетов прямоугольного треугольника. Определить периметр этого треугольника.
Входные данные:

3 4
Выходные данные: P=12

Составьте блок-схему

Слайд 36

Даны два числа. Определить наибольший из этих чисел. Входные данные: 3,

Даны два числа. Определить наибольший из этих чисел.
Входные данные: 3, 7.
Выходные

данные: 7.

Составьте блок-схему задачи

Слайд 37

Даны два числа. Определить наибольший из этих чисел. Входные данные: 3,

Даны два числа. Определить наибольший из этих чисел.
Входные данные: 3, 7.
Выходные

данные: 7

Составьте блок-схему задачи

Слайд 38

Даны два числа. Определить наибольший из этих чисел. Входные данные: 3,

Даны два числа. Определить наибольший из этих чисел.
Входные данные: 3, 7.
Выходные

данные: 7

Составьте блок-схему задачи

Слайд 39

Язык программирования Паскаль Структура программы: Program имя программы; uses раздел описания

Язык программирования Паскаль

Структура программы:
Program имя программы;
uses раздел описания модулей;
const раздел описания констант;
var раздел

описания переменных;
procedure (function) раздел описания подпрограмм;
begin
раздел операторов;
end.
Оператор – команда алгоритма, записанная на ЯП
Комментарий в программе можно записывать в { } на любом языке. Все, что записано в { } компилятором не воспринимается.
Слайд 40

Имена заголовка программы, переменных составляются по следующим правилам: имя должно начинаться

Имена заголовка программы, переменных составляются по следующим правилам:
имя должно начинаться с

буквы, может содержать латинские буквы, цифры и знак _
длина имени должна быть меньше 255 символов, но значащиеся только первые 63 символа;
прописные буквы (A…Z) тождественны строчным (a…z).
Например: book,     KNIGA=kniga,       nom_1,    A2
Неверные имена:  2A,         Vip*bum
Слайд 41

Описание переменных происходит в разделе описания переменных: var переменная: тип; Например:

Описание переменных происходит в разделе описания переменных:
var  переменная: тип;
Например: var x: integer;
var a, b, c: real;
var a,

b: integer;
После определения типов переменных компилятор для каждой переменной отводит определенную ячейку памяти, где будут храниться некоторые данные. Например:
Слайд 42

Оператор присваивания Имя переменной := выражение; Например, c:=a+b Сначала вычисляется выражение,

Оператор присваивания
Имя переменной := выражение;
Например, c:=a+b
Сначала вычисляется выражение, затем полученной выражение присваивается

переменной.
Чтобы компьютер знал над какими числами производить вычисления, необходимо ввести с клавиатуры значения переменных.
Оператор ввода
read ( ) – оператор ввода значений переменных (читать)
readln ( ) –оператор ввода значений переменных с переводом курсора на следующую строку (читать строку)
Например, read (a) или read (a, b)
read (a, b) – программа будет ждать, пока не введете значение переменных a и b через пробел
readln (a, b) – считывает значение a и b, затем переведет курсор на следующую строку.
Слайд 43

Оператор вывода write ( ) - оператор вывода значений переменных или

Оператор вывода
write ( ) - оператор вывода значений переменных или фразы (писать)
writeln ( ) – оператор

вывода значений переменных или фразы с переводом курсора на следующую строку (писать в строку)
Например, write (c) – выведет на экран значение переменной с
или writeln (c) - выведет на экран значение переменной и перейдет на следующую строку
write (a, b, c) – выведет значения переменных в строку без знаков препинания через позицию табуляции
write (‘мама’) – выведет слово, заключенное в апострофах
write (‘сумма равна ’, c) – выведет, например, сумма равна 13
writeln (a, b, c) – выведет значения переменных в строку без знаков препинания через позицию табуляции и переведет курсор на следующую строку.
Слайд 44

Запишем теперь полностью программу на Pascal. Program summa; var a, b,

Запишем теперь полностью программу на Pascal.
Program summa;
var a, b, c: integer;
begin
writeln (‘введите слагаемые’);
readln (a, b);
c:=a+b;
writeln (‘сумма равна’, c);
end.

Слайд 45

Запустите программу

Запустите программу

Слайд 46

Исправьте программу следующим образом, запустите и найдите отличия: Program summa; var

Исправьте программу следующим образом, запустите и найдите отличия:

 Program summa;
var a, b, c: integer;
begin
write ('a=

'); readln (a);
write ('b= '); readln (b);
c:=a+b;
writeln (‘a+b= ’,c);
end.
Слайд 47

Запись c:6:2 означает, что значение переменной с будет выведено в шесть

Запись c:6:2 означает, что значение переменной с будет выведено в шесть позиций, из

них в две после запятой.
Слайд 48

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

Добавьте к программе операторы, позволяющие производить основные математические операции (вычитание, умножение,

деление).