Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
подачи сведений о доходах, об имуществе и имущественного характера муниципальных служащих, руководителей муниципальных служащих, руководителей муницип...полностью>>
'Документ'
а. ФТИ им. Иоффе РАН, 194021, Санкт-Петербург, Рос. Федерацияб. ОИЯИ, Дубна, Московская область, Россияв. Гос. Университет штата Нью-Йорк в Брокпорте,...полностью>>
'Документ'
1. Настоящим Положением устанавливается порядок обработки персональных данных Клиентов, для которых Общество с ограниченной ответственностью «БИТС» ос...полностью>>
'Документ'
Вставьте пропущенные буквы, раскройте скобки, расставьте недостающие знаки препинания. Подчеркните грамматические основы предложений. Определите типы ...полностью>>

Главная > Документ

Сохрани ссылку в одной из сетей:
Информация о документе
Дата добавления:
Размер:
Доступные форматы для скачивания:

3.2 Моделирование циклических процессов в графике

3.2.1 Примеры циклов в графике

Задания для освоения инструментария программирования

  1. Определите результат выполнения фрагмента программы

    BASIC

    Pascal

    CLS

    SCREEN 12

    FOR x=0 TO 640

    PSET (x, 240),2

    NEXT x

    uses Graph;

    var

    grDriver: Integer;

    grMode: Integer;

    x : integer;

    begin

    grDriver := Detect;

    InitGraph(grDriver, grMode,'');

    for x:=0 to 639 do

    putpixel(x,240,2);

    readln;

    closeGraph;

    end.

  2. Определите результат выполнения фрагмента программы

    BASIC

    Pascal

    CLS

    SCREEN 12

    FOR i=0 TO 640

    PSET (i, i),2

    NEXT i

    uses Graph;

    var

    grDriver: Integer;

    grMode: Integer;

    i : integer;

    begin

    grDriver := Detect;

    InitGraph(grDriver, grMode,'');

    for i:=0 to 639 do putpixel(i,i,2);

    readln;

    closeGraph;

    end.

  3. Определите результат выполнения фрагмента программы

BASIC

Pascal

CLS

SCREEN 12

FOR i=0 TO 640

CIRCLE (i, i),10,2

NEXT i

uses Graph;

var

grDriver: Integer;

grMode: Integer;

i : integer;

begin

grDriver := Detect;

InitGraph(grDriver, grMode,'');

setcolor(2);

for i:=0 to 639 do

circle(i,i,10);

readln;

closeGraph;

end.

  1. Составьте программу рисования

a.

b.

c.

d.

e.

f.

g.

h.

  1. Составьте программу рисования орнамента - повторяющегося геометрического узора.

а. орнамент


б. греческий орнамент


Моделирование случайных процессов

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

В современном мире на компьютер возложено много важных и ответственных дел: компьютеры помогают управлять самолетами и поездами, следить за состоянием больных и учитывать товары в магазине, вести статистику успеваемости и прогулов школьника, все дела, которые поручены компьютерам не перечислить в одной книге. Доверие к компьютеру основано на том, что абсолютно все вычисления компьютер производит совершенно так, как ему прописали программисты, каждое действие компьютера строго определено программами, по которым он работает.

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

При моделировании часто без случайности не обойтись. Почему? Представьте себе компьютерную игру, моделирующую реальность, например, автомобильные гонки, в которых все персонажи, управляемые компьютером каждый раз поступают абсолютно предсказуемо. Понятно, что такая игра будет неинтересна и именно потому, что такое поведение персонажей неправдоподобно, т.е. модель не соответствует реальности. Развитие популяций животных, броуновское движение частиц, распространение радиоволн при помехах, турбулентное движение жидкостей и газов и многое другое требуют моделирования случайности на компьютере.

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

Генерация случайных чисел привязана к языку программирования, в каждом используется свой алгоритм, который вызывается специальной функцией вызова генератора случайных чисел (таблица 3.4).

Таблица 3.4. Генератор случайных чисел

BASIC

Pascal

Синтаксис

вызова функции-генератора случайных чисел

RND

- случайные числа генерируются в диапазоне [0;1)

RANDOM [(N)]

- тип генерируемого числа зависит от способа вызова функции, которая возвращает случайное значение.

Пример 1

x = RND

rem x – случайное вещественное число из диапазона [0; 1)

y = INT (RND *10)

rem int(<агрумент>) функция округления

rem y - случайное целое число из диапазона [0;9]

x:=random;

{x – случайное вещественное число из диапазона [0; 1)}

k:=random(10);

{k – случайное целое число из диапазона [0;9]}

Пример 2

x=INT(RND *100)

y=RND *10

z=INT((RND *40) - 20)

q=INT((RND *40) + 20)

x:=round(random*100);

y:=random*10;

z:=random(40)-20;

q:=random(40)+20;

Задания для освоения инструментария программирования

  1. Составьте программу вывода на экран 10-ти чисел в диапазоне от 50 до 60 с помощью генератора случайных чисел. Запустите программу на исполнение несколько раз. Оцените «степень случайности» полученной последовательности чисел.

  2. Наберите программу, вывода на экран 10-ти линий с началом в точке (0,0) и окончанием в случайной точке. Для каждой линии назначается случайный цвет.

BASIC

Pascal

CLS

SCREEN 12

FOR i=1 TO 10

c=INT(RND*16)

LINE (0,0) – (INT(RND*640), INT(RND*480),c

NEXT i

uses Graph;

var

grDriver: Integer;

grMode: Integer;

i : integer;

begin

grDriver := Detect;

InitGraph(grDriver, grMode,'');

for i:=0 to 10 do

begin

setcolor(random(16));

line(0,0,random(640),random(480));

end;

readln;

closeGraph;

end.

Запустите программу на исполнение несколько раз.

Визуально оцените «степень случайности» полученной совокупности линий.

  1. Используя справочную систему изучаемой среды программирования, определите функцию, которая повысит «степень случайности» генератора случайных чисел.

Последовательно исследуйте функцию на примерах задания 1 и задания 2, дополнив их такой функцией.

Запустите программы на исполнение несколько раз.

Оцените «степень случайности» полученной совокупности линий.

  1. Составьте программу рисования, используя случайные значения

    1. «случайные точки»

  1. количество точек – 300;

  2. координаты точек – случайные числа;

  3. цвет точек – случайное число.

b. «случайные линии»

  1. количество линий – 600;

  2. координаты начала и конца линий – случайные числа;

  3. цвет линий – случайное число.

c. «случайные прямоугольники»

  1. количество прямоугольников – 50;

  2. координаты вершин прямоугольника – случайные числа;

  3. цвет заливки – случайное число.

d. «случайные окружности»

  1. количество окружностей – 100;

  2. радиус – случайное число от 10 до 50;

  3. цвет заливки – случайное число от 0 до 15.

e. «фейерверк»

1. количество линий – 100;

2. координаты начала линий – центр экрана;

3. координаты конца – случайное число;

4. цвет линий – случайное число.

f. «комета»

1. количество линий – 100;

2. координаты начала линий – центр экрана;

3. цвет линий – случайное число.

g. «новогодняя елка с шарами»

1. количество линий – 100;

2. координаты начала линий – центр экрана;

3. цвет линий – случайное число;

4. количество окружностей – 10;

5. радиус, цвет окружностей – случайное число.

e. «изысканный фейерверг»

1. количество линий – 100;

2. координаты начала линий – центр экрана;

3. координаты конца – случайное число;

4. цвет линий – случайное число;

5. на конце каждой линии окружность.

  1. Наберите в среде программирования предложенные готовые программы.

Изменяя параметры операторов, наблюдайте за возникающими изменениями.

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

Используя справочную систему среды программирования, уточните для себя действие тех операторов и функций, которые используются в предложенных программах, но не были изучены.

Пример 1

BASIC

Pascal

CLS

SCREEN 12

FOR x1=0 TO 319

x2=120+100*sin(x1/30)

y2=90+100*cos(x1/30)

LINE(x1,100)-(x2,y2)

NEXT x1

uses Graph;

var

grDriver : Integer;

grMode : integer;

x1,x2,y2 : integer;

begin

grDriver := Detect;

InitGraph(grDriver, grMode,'');

for x1:=0 to 319 do begin

x2:=120+round(100*sin(x1/30));

y2:=90+round(100*cos(x1/30));

line(x1,100,x2,y2);

end;

readln;

closeGraph;

end.

Пример 2

BASIC

Pascal

CLS

SCREEN 12

FOR i=50 TO 1 STEP -0.5

y=90/i

x=3*i

CIRCLE (160,30+10*y),x,3,,,0.3

NEXT i

uses Graph;

var

grDriver: Integer;

grMode: Integer;

i,x,y : integer;

begin

grDriver := Detect;

InitGraph(grDriver, grMode,'' );

for i:=100 downto 2 do begin

y:=180 div i;

x:=3*i div 2;

ellipse (160,30+10*y,0,360,x,x div 3);

end;

readln;

CloseGraph;

end.

Пример 3

BASIC

Pascal

CLS

SCREEN 12

FOR i=1 TO 125

x=160+100*COS(i/20)

y=90+80*SIN(i/20)

r=45-i/3

CIRCLE (x,y),r

NEXT i

uses Graph;

var

grDriver: Integer;

grMode: Integer;

i,x,y,r : integer;

begin

grDriver := Detect;

InitGraph(grDriver, grMode,'');

for i:=1 to 125 do begin

x:=160+round(100*cos(i/20));

y:=90+round(80*sin(i/20));

r:=45-i div 3;

circle (x,y,r);

end;

readln;

closeGraph;

end.

Пример 4

BASIC

Pascal

CLS

SCREEN 12

FOR i=15 TO 2 STEP -1

r=80*COS(3.14/i)

y=80*sin(3.14/i)

CIRCLE (160,10+y),r,,,,0.3

NEXT i

st=y

FOR i=10 TO 65 STEP 5

r=20/(i/15)

CIRCLE (160,st+i),r,,,,0.3

NEXT i

st=st+i

FOR i=2 TO 10

r=2*EXP(i/3)

CIRCLE (160,st+i),r,,,,0.3

NEXT i

uses Graph;

var

grDriver: Integer;

grMode: Integer;

i,x,y,r : integer;

st : integer;

begin

grDriver := Detect;

InitGraph(grDriver, grMode,'');

for i:=15 downto 2 do begin

r:=round(80*cos(pi/i)));

y:=round(80*sin(pi/i)));

ellipse(160,10+y,0,360,r,r div 3);

end;

st:=y;

for i:=2 to 13 do begin

r:=round(20/(i/3));

ellipse(160,st+i*5,0,360,r,r div 3);

end;

st:=st+i*5;

for i:=2 to 10 do begin

r:=round(2*exp(i/3));

ellipse(160,st+i,0,360,r,r div 3);

end;

readln;

closeGraph;

end.

7



Похожие документы:

  1. Моделирование. Компьютерные модели Модель

    Документ
    ... жизни. Интереснейшая область компьютерного моделированиямоделирование процессов человеческого мышления, распознавания образов, ... из помещенных в архив файлов циклическим кодом; · тестирование архива, ... в виде рисунка или графика на бумаге, называют ...
  2. Курс (9) 1 семестр информационные модели. Моделирование это: процесс замены реального объекта (процесса, явления) моделью, отражающей его существенные признаки с точки зрения достижения конкретной цели; процесс демонстрации моделей одежды в салоне мод

    Документ
    ... ИНФОРМАЦИОННЫЕ МОДЕЛИ. 1. Моделирование — это: процесс замены реального объекта (процесса, явления) моделью, ... представляет собой: набор графиков, рисунков, чертежей, ... линейными 2. разветвляющимися 3. циклическими 4. вспомогательными 21. Форма ...
  3. Курс лекций по дисциплине «Теория информационных процессов и систем» для студентов ВлГУ, обучающихся по направлению 230400. 62 Информационные системы и технологии

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

    Документ
    ... местах применения). Инновационный процесс имеет циклический характер. Учет ... лечения. Контрольный график Для построения контрольного графика определяется среднее ... медицине следовало бы заниматься моделированием процессов оказания медицинской помощи в ...
  5. Методические указания по самостоятельной работе по дисциплине: «экономико-математическое моделирование»

    Методические указания
    ... возвращаемся к проблематике объекта-оригинала. Моделирование представляет собой циклический процесс, т. е. за первым четырехэтапным циклом ... изменения цены, спроса и предложения и построить график движения цены к равновесному состоянию: № п/ п Цена ...

Другие похожие документы..