Program n1;
Uses Crt, GraphABC;
Begin
End.
Заголовок программы
Подключение дополнительных модулей
Модуль для работы в текстовом режиме
Модуль для работы с графикой
Блок операторов
CLRSCR;
Оператор очистки экрана, от посторонних надписей.
(Crt.TPU)
// комментарии (пояснения)
Y
X
Line( , , , );
X1
Y1
X2
Y2
X1
Y1
X2
Y2
LineTo( , );
X3
Y3
X3
Y3
Y
X
Rectangle( , , , );
X1
Y1
X2
Y2
X1
Y1
X2
Y2
Circle( , , );
X
Y
R
R
X
Y
Стандартные цвета задаются константами:
clBlack – черный
clWhite – белый
clRed – красный
clGreen – зеленый
clBlue – синий
clYellow – желтый
SetPenColor(цвет);
- установка цвета рисования
Виды линий задаются константами:
psSolid
psDash
psDot
psDashDot
SetPenStyle(вид линии);
- установка вида линии
SetPenWidth(w);
- устанавливает ширину линии, равную w пикселам.
Только для SetPenWidth(1); толщина линии равна одному пикселю
Y
X
FloodFill( , , );
цвет
X
Y
X
Y
SetPixel( X , Y , цвет );
- закрашивает один пиксель
Y
X
TextOut( , , );
'строка'
X
Y
X
Y
Точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст.
строка
Задача 1. Составить программу изображающую прямоугольный параллелепипед ABCDA1B1C1D1, и построить сечение через ребра AD и B1C1.
Program n1;
Uses Crt, GraphABC;
begin
clrscr;
End.
Заготовка для программы, подключаем модуль графики.
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');
Выводим названия вершин
Задача 2. Составить программу выводящую на экран следующее изображение.
Var
A
B
C
A,
В,
С :
тип данных
Integer
Real
Подготовили в памяти три переменных для хранения целых чисел
;
2 байта
2 байта
2 байта
Переменная
Операция
присваивания
9
Значение
:= - знак присваивания
имя := значение
А:=5;
А:=B+5;
А:=B+C;
А:=C;
Переменная
9
Значение
WriteLn
- вывод информации на экран
9
WriteLn(A)
WriteLn('A')
- выводит содержимое переменной А
- выводит на экран букву А
WRITELN('Надпись');
WRITELN(A:10:5);
WRITELN('Надпись=',A:10:5);
WRITELN(A:10);
WRITELN(A);
Выводим число в стандартном виде
Выводим поясняющую надпись и десятичную дробь
Выводим десятичную дробь
Выводим поясняющую надпись
Выводим целое число
WriteLn('1-я строка');
WriteLn('2-я строка');
WriteLn('3-я строка');
Write('1-я строка');
Write('2-я строка');
Write('3-я строка');
Окончание LN указывает, что следующая выводимая на экран информация будет выводится с новой строки
ReadLn(a)
- ввод информации с клавиатуры в переменную А
Write('Введите А='); ReadLn(a);
Выводим поясняющую надпись, что вводить
Ждем, пока пользователь не введет с клавиатуры значение А и нажмет Enter
Write('Введите силу '); ReadLn(F);
Write('Введите массу '); ReadLn(m);
Write('Введите время '); ReadLn(t);
Используется для преобразования из дробного к целому типу
y:=(2*(x*x-4)+1)/sqrt(x*x-3*x);
y:=abs(x*x*x-3*x)/(sqrt(x)+4);
Задача 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.
Объявляем в памяти две переменных
Очищаем экран от посторонних надписей
Устанавливаем начальное значение А
Вычисляем значение выражения
Выводим результат на экран
Начало
а = - 1,5
Вывод B
Конец
a:=-1.5;
begin
clrScr;
b:=(a-(2*a-1)/a)/((1-a)/(3*a));
writeln(b:10:5);
end.
Задача 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
Выводим результаты на экран
Описаны четыре переменных действительного типа
Очищаем экран от посторонних надписей
Вводим с клавиатуры значения переменных А и В
Вычисляем площадь и периметр
Начало
Ввод
А, В
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);
Задача 5. Составить программу обмена значениями двух переменных. (Например: если А=1 а В=3 то при выводе А должно выводиться 3, а при выводе В должно выводиться 1.)
А
В
t
1
1
3
3
1
t:=A;
A:=B;
B:=t;
Алгоритм
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
Задача 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;
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.
Задача 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.
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 выделяет последний разряд
Задача 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
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.
Вводим трехзначное число
Производим необходимые операции
Выводим сумму на экран
Задача 9. С клавиатуры вводятся стороны прямоугольника и масштаб. Необходимо построить этот прямоугольник увеличив в соответствии с масштабом
а
b
(x+a,y)
(x,y)
(x,y-b)
(x+a,y-b)
Y
X
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);
Можно построить прямоугольник, используя процедуру построения прямоугольника в виде рамки по диагонали
Задача 10. С клавиатуры вводятся стороны равнобедренного треугольника и масштаб. Необходимо построить этот треугольник увеличив в соответствии с масштабом.
Y
X
а
b
c
С(x,y)
B(x+a,y)
A(x+(a div 2),?)
M(x+(a div 2),y)
Из треугольника CMA – прямоугольного по теореме Пифагора, найдем катет МА.
CA=b, СM= a div 2
Так как скорее всего МА будет выражаться дробным числом, то применим функцию преобразования типов TRUNC
A(x+(a div 2),y-MA)
Точка А будет иметь координаты:
Задача 11. С клавиатуры вводятся стороны треугольника и масштаб. Необходимо построить этот треугольник увеличив в соответствии с масштабом
Y
X
а
b
c
С(x,y)
B(x+a,y)
A(?,?)
M
Решим геометрическую задачу
СВ = а
СМ = x
MB = a - x
В треугольниках СМА и АМВ катет АМ общий
cm:=trunc((b*b-c*c+a*a)/(2*a));
Из треугольника 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);
Построим треугольник
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть