Upload
isva69
View
296
Download
1
Embed Size (px)
Citation preview
Алгоритмизация и программирование
11 класс
2
Этапы решения задачи на ПКI. Составление модели задачи
a) Выделить существенные предположенияb) Выделить исходные данныеc) Определить результат
d) Установить связь между исходными данными и результатом (формулы, неравенства и т.д.)
II. Составление алгоритмаIII. Составление программыIV. Ввод исходных данных и анализ
результатовV. Исправление ошибок
3
Пример: Определить площадь поверхности письменного стола.
Математическая модель: Предположения - Исходные данные - Результат - Связь -
используются только переменные!
4
Алгоритм - понятное и точное
предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.
5
Свойства алгоритма
ДискретностьПонятностьТочностьКонечность (результативность)Массовость
6
Исполнитель - это объект, умеющий выполнять определенный набор действий
Не формальный (не идеальный)
Формальный
(идеальный)
человек растение
животное
вымышленные
технические
устройства
Формальный исполнитель – это исполнитель, который действует строго по написанному алгоритму и имеет ограниченную и простую систему команд.
7
Система команд исполнителя (СКИ) - это набор команд на выполнение допустимых для данного исполнителя операций.
Среда исполнителя – обстановка, в которой функционирует исполнитель.
8
Способы записи алгоритма
начало
X=-5,15,2
Y=5*x^2-3*x+9
Вывод X,Y
словесный Графический (блок-
схема)
программный
INPUT “введите длину и ширину прям-ка»; a,bP=(a+b)*2S=a*bPRINT «S=»; SPRINT «P=»; P
Например: •открыть дверь•Заварить чай
9
Основные элементы языка блок-схем
Усл.
да нет
- начало/конец
- ввод/вывод
- Вычислительный (присваивание)
- Ветвление (условие)
- блок-модификатор (цикл «ДЛЯ КАЖДОГО»)
10
Типы алгоритмов
линейный
циклический
разветвляющийся
11
ВВЕДЕНИЕ В ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ
12
1. Алфавит1.1 Идентификатор (имя
любого объекта программы) – это последовательность латинских букв, цифр и символа подчеркивания, начинающихся с буквы.
Пример: S2, MAX_3, f6t, family.
13
1. Алфавит1.2 Разделители используются для отделения друг от друга идентификаторов.
В качестве разделителей можно использовать:
пробел;комментарий,Примеры комментариев://комментарий может выглядеть и таким образом
{если комментарий требуется разместить в нескольких строках, то его заключают в фигурные
скобки}
14
1. Алфавит
Знаки пунктуаци
и
Знаки операций
Служебные (зарезервирован
ные) слова
, ;.
+ - * / not div mod
BeginEndIf
и др.
1.3 Спецсимволы
15
2. Структура программы
program <имя>;<блок описания
данных>;Begin
<оператор 1>;<оператор 2>;…<оператор N>
end.
заголовок программы;
начало
исполняемой части программы;
«тело» программы;
конец программы.
16
2. Структура программы
program <имя>;<блок описания
данных>;Begin
<оператор 1>;<оператор 2>;…<оператор N>
end.
program MULT;var X,Y,REZ:real;begin
write('Введите первое число: ');
readln(X);
write('Введите второе число: ');
readln(Y);
REZ:=X*Y;
writeln (‘Произв. Чисел = ’,REZ:5:2)
end.
17
3. Типы данных
Константы – постоянные величины.
Например:
Const PI=3.14; Year=1994;Gr='Я';
Переменные – данные, которые могут меняться в процессе выполнения программы.
Например:
Var a, b: integer; sum: real;Lit: char;
Данные (величина) – отдельный информационный объект, который имеет имя, значение, тип.
Тип данных определяет множество значений, которые может принимать величина, и множество действий, которые можно выполнить с этой величиной.
18
3. Типы данныхЦелый веществ
енныйсимвольный
логический
Строковый
ключевое слово
integer real char boolean
string
константы 234-11381
19.560.05-876.23
‘F’‘7’‘К’‘@’
- ‘2+4=6’‘Петя’
19
4. Разное4.1 ОперацииА) арифметические
Операция Название Тип операнда Примеры В С число
+ Сложение любой числовой А:=5;В:=10; С:=А+В;
15
- Вычитание любой числовой А:=5;В:=10; С:=А-В;
-5
* Умножение любой числовой А:=5; В:=10; С:=А*В;
50
div целочисленное деление
Только целый тип А:=5;В:=2; C:=AdivB;
2
mod остаток от деления нацело
Только целый тип А:=5; В:=2; С:=АmodВ;
1
б) логические: and, or, notВ) операции отношения: <, >, <=, >= ,
=, <>
20
4. Разное4.2 стандартные функцииSin, Cos, Arctan, Ln, Exp, Sqr,
Sqrt, AbsНапример:A:=Sin(X); - (угол для всех
тригонометричеких функций задается в радианах).
Sqr(x) – x2
Sqrt(x) - Abs(x) - |x|
x
21
5. Простейшие команды5.1 Команда присваиванияИмя переменной:=выражение
текстНапример:
A:=100; B:=15;A:=A+10;A:=2*A;C:=A+B-5;C:=(A-C)*C
22
5.2 Команда выводаwrite (список вывода);
writeln (список вывода);
Например:1) A:=3; B:=15
Write (A, ‘Как дела?’, B+A);
2) Write ( ‘Маша’);
Write ( ‘гуляет’);
3) Writeln ( ‘Маша’);
Writeln ( ‘гуляет’);
На экране
3 Как дела? 18
Машагуляет
Маша
гуляет
После выполнения команды, курсор переходит к началу следующей строки
23
5.2 Команда вывода
WriteLn(temp:3:2);temp – выводимая переменная3 - число позиций в числе2 – число знаков после запятой.
24
5.2 Команда вывода
program spr;Clrscr;var a,b,s:real;begin
a:=5;b:=10;p:=(a+b)*2;s:=a*b;writeln (‘ периметр p=',p);write (‘площадь прямоугольника s=',s)
end.
25
5.3 Команда ввода
readln (список переменных);Например:readln (a, b);
write (‘введите длину');readln(a);
При запуске программы на выполнение, вместо a и b пользователь должен ввести конкретные значения
26
5.3 Команда ввода
program spr;uses crt;var a,b,p,s:real;begin
clrscr;write (‘введите длину');readln(a);write (‘ введите ширину');readln(b);p:=(a+b)*2;s:=a*b;writeln (‘площадь s=',s) ;writeln (‘ периметр p=',p)
end.
27
Ветвление -
это такая алгоритмическая структура, в которой осуществляется выбор одного из двух вариантов дальнейших действий в зависимости от некоторого условия.
28
ВетвлениеФормы ветвления
неполная полная
Усл.
да нет
Действие 1
Действие 2
Усл.
да нет
Действие 1
Например: ЕСЛИ на улице дождь, ТО беру зонт
Например: ЕСЛИ горит зеленый, ТО иду через дорогу, ИНАЧЕ стою
29
Неполная форма
IF D<0 THEN WRITE (‘Делить на 0 нельзя’);
IF <условие> THEN <оператор >
30
Полная форма
IF <условие>
THEN
<оператор 1>
ELSE
<оператор 2>
PROGRAM MAX;
VAR X,Y,Z: integer;
BEGIN
WRITE ('Введите два целых числа:');
READLN(X,Y);
IF X>Y THEN z:=X
ELSE z:=y WRITE('Максимальное из двух чисел равно‘, z);
END.