Презентация "Линейный алгоритм" 9 класс

Подписи к слайдам:
  • Линейный
  • алгоритм
  • 2012 год
  • (Версия для Pascal ABC)
  • Введение 1
  • Program n1;
  • Uses Crt, GraphABC;
  • Begin
  • End.
  • Заголовок программы
  • Подключение дополнительных модулей
  • Модуль для работы в текстовом режиме
  • Модуль для работы с графикой
  • Блок операторов
  • CLRSCR;
  • Оператор очистки экрана, от посторонних надписей.
  • (Crt.TPU)
  • // комментарии (пояснения)
  • Блок 1. Графические возможности Pascal ABC 2
  • Y
  • X
  • A
  • x
  • y
  • A( , )
  • X
  • Y
  • A
  • x
  • y
  • Xmax=640
  • Ymax=400
  • Блок 1. Графические возможности Pascal ABC 3
  • Y
  • X
  • Line( , , , );
  • X1
  • Y1
  • X2
  • Y2
  • X1
  • Y1
  • X2
  • Y2
  • LineTo( , );
  • X3
  • Y3
  • X3
  • Y3
  • Блок 1. Графические возможности Pascal ABC 4
  • Y
  • X
  • Rectangle( , , , );
  • X1
  • Y1
  • X2
  • Y2
  • X1
  • Y1
  • X2
  • Y2
  • Circle( , , );
  • X
  • Y
  • R
  • R
  • X
  • Y
  • Блок 1. Графические возможности Pascal ABC 5
  • Стандартные цвета задаются константами:
  • clBlack – черный
  • clWhite – белый
  • clRed – красный
  • clGreen – зеленый
  • clBlue – синий
  • clYellow – желтый
  • SetPenColor(цвет);
  • - установка цвета рисования
  • Блок 1. Графические возможности Pascal ABC 6
  • Виды линий задаются константами:
  • psSolid
  • psDash
  • psDot
  • psDashDot
  • SetPenStyle(вид линии);
  • - установка вида линии
  • SetPenWidth(w);
  • - устанавливает ширину линии, равную w пикселам.
  • Только для SetPenWidth(1); толщина линии равна одному пикселю
  • Блок 1. Графические возможности Pascal ABC 7
  • Y
  • X
  • FloodFill( , , );
  • цвет
  • X
  • Y
  • X
  • Y
  • SetPixel( X , Y , цвет );
  • - закрашивает один пиксель
  • Блок 1. Графические возможности Pascal ABC 8
  • Y
  • X
  • TextOut( , , );
  • 'строка'
  • X
  • Y
  • X
  • Y
  • Точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст.
  • строка
  • Блок 1. Графические возможности Pascal ABC 9
  • Задача 1. Составить программу изображающую прямоугольный параллелепипед ABCDA1B1C1D1, и построить сечение через ребра AD и B1C1.
  • Program n1;
  • Uses Crt, GraphABC;
  • begin
  • clrscr;
  • End.
  • Заготовка для программы, подключаем модуль графики.
  • Блок 1. Графические возможности Pascal ABC 10
  • Rectangle(50,100,210,300);
  • Line(50,100,120,50);
  • lineTo(280,50);
  • lineTo(210,100);
  • line(280,50,280,250);
  • LineTo(210,300);
  • lineTo(280,50);
  • Рисуем видимые линии
  • SetPenStyle(psDot);
  • line(50,300,120,250);
  • lineTo(120,50);
  • lineTo(50,300);
  • line(120,250,280,250);
  • Рисуем невидимые линии
  • А
  • D
  • B
  • C
  • А1
  • D1
  • B1
  • C1
  • TextOut(25,100,'A1');
  • TextOut(212,100,'D1');
  • TextOut(25,300,'A');
  • TextOut(212,300,'D');
  • TextOut(120,30,'B1');
  • TextOut(280,30,'C1');
  • TextOut(125,230,'B');
  • TextOut(285,230,'C');
  • Выводим названия вершин
  • Блок 1. Графические возможности Pascal ABC 11
  • Задача 2. Составить программу выводящую на экран следующее изображение.
  • Блок 2. Линейная вычислительная программа 12
  • Var
  • A
  • B
  • C
  • A,
  • В,
  • С :
  • тип данных
  • Integer
  • Real
  • Подготовили в памяти три переменных для хранения целых чисел
  • ;
  • 2 байта
  • 2 байта
  • 2 байта
  • Блок 2. Линейная вычислительная программа 13
  • Тип
  • Диапазон
  • Размер в байтах
  • Byte
  • 0..255
  • 1
  • Word
  • 0..65535
  • 2
  • Integer
  • -32768..32767
  • 2
  • LongInt
  • −2147483648..2147483647
  • 4
  • Числа с плавающей запятой:
  • Целые числа
  • Тип
  • Диапазон
  • Размер в байтах
  • Real
  • 2,9 ∙ 10-39 - 1,7 ∙ 1038
  • 6
  • double
  • 5 ∙ 10-324 - 1,7 ∙ 10308
  • 8
  • Extended
  • 3,4 ∙ 10-4932 - 1,1 ∙ 104932
  • 10
  • Блок 2. Линейная вычислительная программа 14
  • Переменная
  • Операция
  • присваивания
  • 9
  • Значение
  • := - знак присваивания
  • имя := значение
  • А:=5;
  • А:=B+5;
  • А:=B+C;
  • А:=C;
  • Блок 2. Линейная вычислительная программа 15
  • Переменная
  • 9
  • Значение
  • WriteLn
  • - вывод информации на экран
  • 9
  • WriteLn(A)
  • WriteLn('A')
  • - выводит содержимое переменной А
  • - выводит на экран букву А
  • Блок 2. Линейная вычислительная программа 16
  • WRITELN('Надпись');
  • WRITELN(A:10:5);
  • WRITELN('Надпись=',A:10:5);
  • WRITELN(A:10);
  • WRITELN(A);
  • Выводим число в стандартном виде
  • Выводим поясняющую надпись и десятичную дробь
  • Выводим десятичную дробь
  • Выводим поясняющую надпись
  • Выводим целое число
  • Блок 2. Линейная вычислительная программа 17
  • WriteLn('1-я строка');
  • WriteLn('2-я строка');
  • WriteLn('3-я строка');
  • Write('1-я строка');
  • Write('2-я строка');
  • Write('3-я строка');
  • Окончание LN указывает, что следующая выводимая на экран информация будет выводится с новой строки
  • Блок 2. Линейная вычислительная программа 18
  • Переменная
  • Значение
  • Клавиатура
  • 9
  • Блок 2. Линейная вычислительная программа 19
  • ReadLn(a)
  • - ввод информации с клавиатуры в переменную А
  • Write('Введите А='); ReadLn(a);
  • Выводим поясняющую надпись, что вводить
  • Ждем, пока пользователь не введет с клавиатуры значение А и нажмет Enter
  • Write('Введите силу '); ReadLn(F);
  • Write('Введите массу '); ReadLn(m);
  • Write('Введите время '); ReadLn(t);
  • Блок 2. Линейная вычислительная программа 20
  • Запись математических выражений
  • Математическая запись
  • Строчная запись
  • SQRT(x+2)
  • x2
  • SQR(x) или х*х
  • (2 – x) / (y + 5)
  • ABS(x – 2)
  • ex
  • EXP(x)
  • ln X
  • Ln(X)
  • Блок 2. Линейная вычислительная программа 21
  • Математическая запись
  • Строчная запись
  • sin X
  • SIN(x)
  • сos X
  • COS(x)
  • tg X
  • SIN(x) / COS(x)
  • ctg X
  • COS(x) / SIN(x)
  • Arctg X
  • ArcTan(x)
  • sin2X
  • SQR(SIN(x))
  • sin X2
  • SIN(X*X)
  • Запись тригонометрических функций
  • Блок 2. Линейная вычислительная программа 22
  • Функция
  • Назначение
  • Frac(x)
  •  Дробная часть числа
  • Int(x)
  • Целая часть числа
  • Random(N)
  • Псевдослучайное число в интервале [0, N)
  • Round(x)
  • Округление до ближайшего целого
  • Trunc(x)
  • Отбрасывание дробной части числа
  • Используется для преобразования из дробного к целому типу
  • Блок 2. Линейная вычислительная программа 23
  • y:=(2*(x*x-4)+1)/sqrt(x*x-3*x);
  • y:=abs(x*x*x-3*x)/(sqrt(x)+4);
  • Блок 2. Линейная вычислительная программа 24
  • x1:=(-b+sqrt(D))/2*a;
  • ?
  • x1:=(-b+sqrt(D))/(2*a);
  • Блок 2. Линейная вычислительная программа 25
  • Задача 3. (Алгебра 8 класс.Ю.Н. Макарычев. Стр. 123, №556) Найдите значение выражения, при а = -1,5.
  • (Ответ: 7,5)
  • Program n1;
  • Uses Crt;
  • var a,b:real;
  • begin
  • clrScr;
  • a:=-1.5;
  • b:=(a-(2*a-1)/a)/((1-a)/(3*a));
  • writeln(b:10:5);
  • end.
  • Объявляем в памяти две переменных
  • Очищаем экран от посторонних надписей
  • Устанавливаем начальное значение А
  • Вычисляем значение выражения
  • Выводим результат на экран
  • Блок 2. Линейная вычислительная программа 26
  • Начало
  • а = - 1,5
  • Вывод B
  • Конец
  • a:=-1.5;
  • begin
  • clrScr;
  • b:=(a-(2*a-1)/a)/((1-a)/(3*a));
  • writeln(b:10:5);
  • end.
  • Блок 2. Линейная вычислительная программа 27
  • Задача 4. Даны стороны прямоугольника a и b. Найти его площадь S=a*b и периметр P=(a+b)*2.
  • Program n1;
  • Uses Crt;
  • Var a,b,s,p:Real;
  • begin
  • ClrScr;
  • Write('ВВеди сторону А = '); Readln(a);
  • Write('ВВеди сторону B = '); Readln(b);
  • S:=a*b;
  • P:=2*(a+b);
  • Writeln(' S = ',S: 10: 5);
  • Writeln(' P = ',P: 10: 5);
  • end.
  • Подключаем модуль CRT.TPU
  • Выводим результаты на экран
  • Описаны четыре переменных действительного типа
  • Очищаем экран от посторонних надписей
  • Вводим с клавиатуры значения переменных А и В
  • Вычисляем площадь и периметр
  • Блок 2. Линейная вычислительная программа 28
  • Начало
  • Ввод
  • А, В
  • S=ab
  • P=2(a+b)
  • Вывод
  • S,P
  • Начало
  • Write('ВВеди сторону А = '); Readln(a);
  • Write('ВВеди сторону B = '); Readln(b);
  • Выводим поясняющую надпись, что вводить
  • Ждем ввода значения переменной А с клавиатуры
  • S:=a*b;
  • P:=2*(a+b);
  • Writeln(' S = ',S: 10: 5);
  • Writeln(' P = ',P: 10: 5);
  • Блок 2. Линейная вычислительная программа 29
  • Задача 5. Составить программу обмена значениями двух переменных. (Например: если А=1 а В=3 то при выводе А должно выводиться 3, а при выводе В должно выводиться 1.)
  • А
  • В
  • t
  • 1
  • 1
  • 3
  • 3
  • 1
  • t:=A;
  • A:=B;
  • B:=t;
  • Алгоритм
  • Блок 2. Линейная вычислительная программа 30
  • A:= A + B;
  • A = 1 + 3 = 4
  • A =
  • B =
  • B:= A – B;
  • B = 4 – 3 = 1
  • A:= A – B;
  • A = 4 – 1 = 3
  • А можно ли без дополнительной переменной?
  • 1
  • 3
  • 4
  • 1
  • 3
  • Блок 2. Линейная вычислительная программа 31
  • Задача 6. Дано число а. Не используя никаких операций, кроме умножения, и никаких функций получите а8 за три операции и а10 за четыре операции.
  • a2∙a2 = a2+2 = a4
  • a4∙a4 = a4+4 = a8
  • a∙a = a1+1 = a2
  • an∙am=an+m
  • c:=a*a;
  • b:=c*c;
  • d:=b*b;
  • a8∙a2 = a8+2 = a10
  • m:=d*c;
  • Блок 2. Линейная вычислительная программа 32
  • Program n3;
  • Uses Crt;
  • var a,c,b,d,m:integer;
  • Begin
  • ClrScr;
  • Write('ВВеди А = '); Readln(a);
  • c:=a*a;
  • b:=c*c;
  • d:=b*b;
  • writeln(a, ' в 8 степени = ',d:8);
  • m:=d*c;
  • writeln(a, ' в 10 степени = ',m:8);
  • end.
  • Блок 2. Линейная вычислительная программа 33
  • Задача 7. Составить программу вычисляющую xy . Где x – основание степени, а y – показатель степени.
  • Program n1;
  • Uses Crt;
  • var a,x,y:real;
  • begin
  • clrScr;
  • Write('Введи x= ');Readln(x);
  • Write('Введи y= ');Readln(y);
  • a:=exp(y*ln(x));
  • writeln(a);
  • end.
  • 5
  • DIV
  • MOD
  • Блок 2. Линейная вычислительная программа 34
  • DIV – операция целочисленного деления
  • MOD – остаток от деления целого на целое
  • 11 DIV 2 = 5
  • 11 MOD 2 = 1
  • 11
  • 2
  • 10
  • 1
  • 5
  • 1
  • 25 DIV 10 = 2
  • - целочисленное деление на 10 уменьшает число на один разряд
  • 25 MOD 10 = 5
  • остаток при делении на 10 выделяет последний разряд
  • Блок 2. Линейная вычислительная программа 35
  • Задача 8. Дано трехзначное число. Определить сумму цифр этого числа.
  • Математическая модель:
  • а – исходное число
  • с:= a mod 10
  • 256 – исходное число
  • c = 256 mod 10 = 6
  • a:= a div 10
  • a = 256 div 10 = 25
  • d:= a mod 10
  • d:= 25 mod 10 = 5
  • a:= a div 10
  • a:= 25 div 10 = 2
  • S:= c + d + a
  • S:= 6 + 5 + 2 = 13
  • Блок 2. Линейная вычислительная программа 36
  • Program n1;
  • Uses Crt;
  • var a,b,c,d,s:Integer;
  • begin
  • clrScr;
  • Write('Введи A= ');Readln(a);
  • c:= a mod 10;
  • a:= a div 10;
  • d:= a mod 10;
  • a:= a div 10;
  • S:= c + d + a;
  • writeln('S =',S:5);
  • end.
  • Вводим трехзначное число
  • Производим необходимые операции
  • Выводим сумму на экран
  • Блок 3. Геометрические построения. 37
  • Задача 9. С клавиатуры вводятся стороны прямоугольника и масштаб. Необходимо построить этот прямоугольник увеличив в соответствии с масштабом
  • а
  • b
  • (x+a,y)
  • (x,y)
  • (x,y-b)
  • (x+a,y-b)
  • Y
  • X
  • Блок 3. Геометрические построения 38
  • Program n1;
  • Uses Crt,GraphAbc;
  • var a,b,m,x,y:Integer;
  • begin
  • clrScr;
  • Write(‘Введи длину ');Readln(a);
  • Write(‘Введи ширину ');Readln(b);
  • Write(‘введи масштаб ');Readln(m);
  • x:=10;
  • y:=300;
  • a:=a*m;
  • b:=b*m;
  • line(x,y,x+a,y);
  • line(x,y,x,y-b);
  • line(x+a,y,x+a,y-b);
  • line(x,y-b,x+a,y-b);
  • end.
  • Подключаем модуль графики
  • Вводим стороны и масштаб
  • Устанавливаем координаты базовой точки
  • Увеличиваем стороны в соответствии с масштабом
  • Рисуем линии с использованием метода базовой точки
  • line(x,y,x,y-b);
  • lineTo(x+a,y-b);
  • lineTo(x+a,y);
  • lineTo(x,y);
  • Можно построить прямоугольник, как замкнутую ломаную линию
  • Rectangle(x,y,x+a,y-b);
  • Можно построить прямоугольник, используя процедуру построения прямоугольника в виде рамки по диагонали
  • Блок 3. Геометрические построения 39
  • Задача 10. С клавиатуры вводятся стороны равнобедренного треугольника и масштаб. Необходимо построить этот треугольник увеличив в соответствии с масштабом.
  • Y
  • X
  • а
  • b
  • c
  • С(x,y)
  • B(x+a,y)
  • A(x+(a div 2),?)
  • M(x+(a div 2),y)
  • Блок 3. Геометрические построения 40
  • Из треугольника CMA – прямоугольного по теореме Пифагора, найдем катет МА.
  • CA=b, СM= a div 2
  • Так как скорее всего МА будет выражаться дробным числом, то применим функцию преобразования типов TRUNC
  • A(x+(a div 2),y-MA)
  • Точка А будет иметь координаты:
  • Блок 3. Геометрические построения 41
  • Задача 11. С клавиатуры вводятся стороны треугольника и масштаб. Необходимо построить этот треугольник увеличив в соответствии с масштабом
  • Y
  • X
  • а
  • b
  • c
  • С(x,y)
  • B(x+a,y)
  • A(?,?)
  • M
  • Блок 3. Геометрические построения 42
  • Решим геометрическую задачу
  • СВ = а
  • СМ = x
  • MB = a - x
  • В треугольниках СМА и АМВ катет АМ общий
  • cm:=trunc((b*b-c*c+a*a)/(2*a));
  • Блок 3. Геометрические построения 43
  • Из треугольника CMA, прямоугольного, по теореме Пифагора:
  • MA:=trunc(sqrt(b*b-CM*CM));
  • A(x+cm,y-ma)
  • line(x,y,x+a,y);
  • line(x,y,x+cm,y-ma);
  • line(x+cm,y-ma,x+a,y);
  • Построим треугольник