Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






CaseKey of






Применение графических ресурсов в изучении различных тем по различным предметам.

1) Информатика (методическая основа - Босова, 8 класс, Тема «Основы алгоритмизации»).

- Алгоритмическая конструкция «следование». Следование – алгоритмическая конструкция, отображающая естественный, последовательный порядок действий. Алгоритмы, в которых используется только структура «следование», называются линейными.

Пример: написать программу, которая последовательно нарисует красный круг, зеленый квадрат, синий эллипс, черный треугольник.

program sledovanie;

uses GraphABC;

Begin

//красный круг

SetBrushColor(clred);

circle (45, 130, 20);

//зеленый квадрат

SetBrushColor(clgreen);

Rectangle (20, 175, 70, 225);

//синий эллипс

SetBrushColor(clblue);

ellipse (20, 250, 100, 290);

//черный треугольник

line (50, 315, 80, 375);

line (80, 375, 20, 375);

line (20, 375, 50, 315);

FloodFill(50, 350, clblack);

end.

 



- Алгоритмическая конструкция «ветвление». Ветвление – алгоритмическая конструкция, в которой в зависимости от результата проверки условия («да» или «нет») предусмотрен выбор одного из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление», называются разветвляющимися.

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

Пример: написать программу, которая будет рисовать прямоугольник заданным цветом.

program vetvlenie;

uses GraphABC;

var n: integer;

Begin

writeln ('Какого цвета будет фигура: 1)красного; 2)желтого'); //задаем цвет фигуры

readln (n);

if n=1 then SetBrushColor(clred)//проверка условия задания цвета, если n=1, квардат будет залит красным цветом

else SetBrushColor(clyellow); //иначе (если n=2), квадрат будет залит желтым цветом

Rectangle (20, 75, 170, 225);

end.

 

Результат работы программы, при n=1.

 


Результат работы программы, при n=2.


 


Сокращенная форма ветвления

Пример: написать программу, которая будет запрашивать, заливать ли фигуру при рисовании.

program vetvlenie_1;

uses GraphABC;

var n: integer;

Begin

writeln ('Будем ли заливать фигуру: 1)да; 2)нет'); //задаем наличие заливки фигуры

readln (n);

if n=1 then SetBrushColor(clred); //проверка условия наличия заливки, если n=1, квадрат будет залит

Rectangle (20, 75, 170, 225);

end.

Результат работы программы, при n=1.

 

 

Результат работы программы, при n=2.


 

- Алгоритмическая конструкция «повторение». Повторение – это алгоритмическая конструкция, представляющая собой последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию повторения, называются циклическими или циклами. Последовательность действий, многократно повторяющихся в процессе выполнения цикла, называется телом цикла.

Пример: написать программу, которая рисует такое количество окружностей, которое задано пользователем.

Данную задачу можно решить несколькими способами, а именно применением цикла с предусловием, цикла с постусловием и цикла с параметром.

Цикл с заданным условием продолжения работы (с предусловием).

program cikl_1;

uses GraphABC;

Var

x, y, i, n, r: integer;

Begin

window.Maximize; //графическое окно максимизируется

Write ('Введите количество окружностей '); //задаем количество фигур

readln (n);

i: =1; //присваиваем i начальное значение

while i< =n do //действия в теле цикла будут повторяться пока i не будет равно n

begin //начало тела цикла

SetBrushColor (clred); //задаем цвет фигур

x: =random(1000); //координата х для центра окружности задается случайно, максимальное значение 1000

y: =random(600); //координата y для центра окружности задается случайно, максимальное значение 600

r: =random(80); // радиус окружности задается случайно, максимальное значение 80

circle(x, y, r); //рисуем фигуру с заданными параметрами

i: =i+1; //переходим к следующему i

end; //конец тела цикла

end.

 


Цикл с заданным условием окончания (с постусловием).

program cikl_2;

uses GraphABC;

Var

x, y, i, n, r: integer;

Begin

window.Maximize; //графическое окно максимизируется

Write ('Введите количество окружностей '); //задаем количество фигур

readln (n);

repeat //начало тела цикла

SetBrushColor (clred);

x: =random(1000); //координата х для центра окружности задается случайно, максимальное значение 1000

y: =random(600); //координата y для центра окружности задается случайно, максимальное значение 600

r: =random(80); // радиус окружности задается случайно, максимальное значение 80

circle(x, y, r); //рисуем фигуру с заданными параметрами

i: =i+1; //переходим к следующему i

until n< =i; // повторяем действия в теле цикла, пока n< =i

end.

 


Цикл с параметром (с заданным числом повторений).

program cikl_3;

uses GraphABC;

Var

x, y, i, n, r: integer;

Begin

window.Maximize; //графическое окно максимизируется

Write ('Введите количество окружностей '); //задаем количество фигур

readln (n);

for i: = 1 to n do //задаем цикл с количеством n-раз повторений действий в теле цикла

begin //начало тела цикла

SetBrushColor (clred);

x: =random(1000); //координата х для центра окружности задается случайно, максимальное значение 1000

y: =random(600); //координата y для центра окружности задается случайно, максимальное значение 600

r: =random(80); // радиус окружности задается случайно, максимальное значение 80

circle(x, y, r); //рисуем фигуру с заданными параметрами

end; //конец тела цикла

end.

 

 

Результат работы программ, при n=4.


 

2) Информатика (методическая основа – Босова, 9 класс, тема «Одномерный массивы целых чисел».

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

Пример: написать программу, которая наглядно продемонстрирует элементы в одномерном массиве, за элемент принять окружность с радиусом 20, количество элементов задается пользователем.

program massiv_1;

uses GraphABC;

Var

i, x, n: integer;

Begin

writeln ('Введите количество элементов массива');

readln (n); //задаем количество элементов в одномерном массиве

x: =0; //присваиваем начальное значение координате х центра окружности

SetBrushColor (clBlue); //задаем цвет элементов

for i: =1 to n do //открываем цикл, количество шагов n (количество элементов в массиве)

begin //тело цикла

x: =x+40; //увеличиваем значение х на 40 для каждого следующего элемента

circle (x, 40, 20); //рисуем окружность - элемент массива

end; //конец тела цикла

end.

Результат работы программы, при n=5


 

Таким же образом можно изобразить двумерный массив.

Пример: написать программу, которая наглядно продемонстрирует элементы в двумерном массиве (2 строки и 5 столбцов), за элемент принять окружность с радиусом 20.

program massiv_2;

uses GraphABC;

Var

i, j, x: integer;

Begin

x: =0; //присваиваем начальное значение координате х центра окружности

for i: =1 to 1 do //заполняем первую строку

for j: =1 to 5 do //цикл для изображения всех элементов массива первой строки

Begin

x: =x+40; //увеличиваем значение х на 40 для каждого следующего элемента

circle (x, 40, 20); //рисуем окружность - элемент массива

end;

x: =0; //присваиваем начальное значение координате х центра окружности

for i: =2 to 2 do //заполняем вторую строку

for j: =1 to 5 do //цикл для изображения всех элементов массива второй строки

Begin

x: =x+40; //увеличиваем значение х на 40 для каждого следующего элемента

circle (x, 80, 20); //рисуем окружность - элемент массива

end;

end.

 

Результат работы программы в данном рассмотренном случае


 

3) Информатика (методическая основа Босова – темы «Единицы измерения информации», «Системы счисления», «Текстовая информация», «Устройства вывода информации»). Возможность проводить викторины, опросы.

Пример: написать программу, в результате работы которой, при нажатии на определенную кнопку клавиатуры, изображение на экране меняется (использовать в работе возможности ABCObjects).

 

program voprosy;

uses ABCObjects, GraphABC;

procedure KeyDown (Key: integer);

Begin

Var

f1, f2, f3, f4, f5, f6, f7: string;

f1: ='1.bmp'; //присвоим переменной f1 значение 1.bmp(1.bmp-файл, хранящийся в папке вместе с кодом программы)

f2: ='2.bmp'; //присвоим переменной f2 значение 2.bmp

f3: ='3.bmp'; //присвоим переменной f3 значение 3.bmp

f4: ='4.bmp'; //присвоим переменной f4 значение 4.bmp

f5: ='5.bmp'; //присвоим переменной f5 значение 5.bmp

f6: ='6.bmp'; //присвоим переменной f6 значение 6.bmp

f7: ='7.bmp'; //присвоим переменной f7 значение 7.bmp

caseKey of

VK_f1: LoadWindow (f1); //при нажании на клавишу f1 на экран выводится значение переменной f1

VK_f2: LoadWindow (f2); //при нажании на клавишу f2 на экран выводится значение переменной f2

VK_f3: LoadWindow (f3); //при нажании на клавишу f3 на экран выводится значение переменной f3

VK_f4: LoadWindow (f4); //при нажании на клавишу f4 на экран выводится значение переменной f4

VK_f5: LoadWindow (f5); //при нажании на клавишу f5 на экран выводится значение переменной f5

VK_f6: LoadWindow (f6); //при нажании на клавишу f6 на экран выводится значение переменной f6

VK_f7: LoadWindow (f7); //при нажании на клавишу f7 на экран выводится значение переменной f7

VK_Enter: Window.Close; //при нажатии Enter графическое окно закрывается

end;

end;

Var

f8: string;

c: PictureABC;

Begin

window.Normalize;

f8: ='8.bmp'; //присвоим переменной f8 значение 8.bmp

SetWindowSize(511, 309); //устанавливаем размер графического окна

c: = new PictureABC (0, 0, f8);

OnKeyDown: = KeyDown; //вызов функции нажатия клавиши

end.


 

Результат работы программы.


 

4) Математика (методическая основа – 8 класс, тема «Квадратичная функция, ее свойства и график»).

 

Функция y=x^2 называется квадратичной функцией. Графиком квадратичной функции является парабола.

Пример: написать программу, которая демонстрирует график функции y=x^2.

program grafik;

uses crt, graphabc;

Var

x, y: real;

Begin

SetWindowCaption ('График функции Y=X2');

SetWindowSize(640, 480); //устанавливаем размеры графического окна

ClearWindow;

SetPenColor(clBlack); //цвет линий сетки

Line(0, 400, 640, 400); //ось Х

Line(320, 0, 320, 480); //ось Y

x: = -4; //значения х будут в пределах от -4 до 4

While x< =4 do //цикл с предусловием, пока х< =4

begin //тело цикла

y: = sqr(x); //расчитываем значение функции y=x^2

SetPixel(round(x*70) + 320, 400 - round(y*20), clRed); //рисуем параболу с использование примитива Точка (Pixel), цвет - красный

x: =x + 0.01; //шаг изменения х 0, 01

end;

readln;

ClearWindow;

end.

Результат работы программы



5) Математика (методическая основа – 9 класс, тема «Тригонометрические функции и их графики»)

Пример: написать программу, демонстрирующую график функции y=cos(x), значения х задать от -10 до 10.

program cosinus;

uses GraphABC;

Var

x, y: real;

Begin

SetWindowSize(400, 400); //устанавливаем размер графического окна

Line (200, 0, 200, 400); //строим ось y

Line (0, 200, 400, 200); //строим ось x

x: = -10; //задаем начальное значение х

while x< =10 do //цикл с преусловием, пока х< =10

Begin

y: =-cos(x); //вычисляем значение функции

circle (trunc(x*20+200), trunc(y*20+200), 2); //рисуем график

x: =x+0.01//следующее значение х, шаг изменения 0, 01

End

end.

Результат работы программы


6) Информатика (методическая основа – Семакин, 7 класс, тема «Назначение и устройство компьютера»).

 

Пример: написать программу, которая даст возможность рисовать на экране с помощью мыши. Сопоставление элементов.

program sopostavlenie;

uses ABCObjects, GraphABC;

 

procedure MouseDown(x, y, mb: integer); //описание процедуры нажатия клавиши мыши

Begin

MoveTo(x, y);

end;

procedure MouseMove(x, y, mb: integer); //описание процедуры движения мыши при нажатой клавише

Begin

SetPenColor (clBlack); //выбор цвета линии

if mb=1 then LineTo(x, y); //если кнопка нажата - линия рисуется

end;

procedure KeyDown (Key: integer); //описание процедуры нажатия клавиши клавиатуры

Begin






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.