Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОЛЯКОВ_ПРЕЗЕНТАЦИИ_С++ / СтруктПрогрГрафики.ppt
Скачиваний:
15
Добавлен:
20.05.2015
Размер:
1.23 Mб
Скачать

Случайное число в заданном интервале

61

 

 

 

 

 

rand()

целое [0, RAND_MAX)

rand()/RAND_MAX

всегда 0!!!

1.*rand()/RAND_MAX

[0,1)

 

 

1.*rand()/RAND_MAX + a

[a,a+1)

 

 

(b-a)*rand()/RAND_MAX + a

[a,b)

 

 

//-----------------------------------------

 

 

 

 

// randF – случайное вещественное число

 

 

//

в заданном интервале

 

 

 

//-----------------------------------------

 

 

 

 

float randF ( float a, float b)

{

return (b-a)*rand() / RAND_MAX + a;

}

Проверка точки (внутри или нет?)

62

 

 

 

 

 

//-----------------------------------------

 

 

//Inside – определяет, находится ли точка

//внутри фигуры

//Вход: x, y – координаты точки

//Выход: 1, если точка внутри фигуры,

// 0, если точка вне фигуры //-----------------------------------------

int Inside ( float x, float y )

{

if ( Down(x) <= y && y <= Up(x) ) return 1;

else return 0;

}

void Inside ( float x, float y )

{

return (Down(x) <= y && y <= Up(x));

}

Метод Монте-Карло (реализация)

63

 

 

 

 

 

//----------------------------------------------------

// Area2 – вычисление площади методом Монте-Карло

//----------------------------------------------------

void Area2 ()

длинное число (L = long)

 

границы

{

 

 

прямоугольника

long i, N = 200000L, M = 0;

= 4;

(у каждого свои!)

float x1 = xc1, x2 = xc2, y1 = 1, y2

y2

float x, y, S; char out[20];

for (i=1; i<=N; i++)

{

x = randF ( x1, x2 ); y = randF ( y1, y2 ); if ( Inside(x,y) ) M++;

}

S = (x2-x1)*(y2-y1)*M/N;

sprintf(out, "S=%7.3f", S); outtextxy(300, 320, out);

}

y1

x1 x2

если на фигуре, увеличить счетчик

вычисление площади

64

Структурное

программирование на языке Си

Тема 7. Оформление отчета

© К.Ю. Поляков, 2007

Титульный лист

65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Графики функций

66

 

 

 

 

 

через Редактор формул (Вставка –

Объект – Microsoft Equation)

«скриншот»

(screenshot)

копия экрана

Как получить копию экрана?

67

 

Для Windows-программ:

1.Клавиша PrtScr (Print Screen – печать экрана) на клавиатуре.

2.В графическом редакторе (Paint): Правка – Вставить.

3.Выделить нужную часть рисунка.

4. Вставить в отчет через буфер обмена.

только у нас!

Для DOS-программ:

 

1.Поменять цвета так, чтобы все линии и текст были

2.Запустить программу.

3.Клавиши Alt-G (программа pcxgrab.exe, уже загруженная в память, записывает рисунок GRAB01.PCX в формате PCX).

4.Открыть GRAB01.PCX в графическом редакторе Paint (в окне выбора файла установить Тип файла = Все файлы).

5.Перевести в черно-белую палитру (Рисунок – Атрибуты – Палитра – Черно-белая).

6.Инверсия (черный ↔ белый), Рисунок – Обратить цвета.

7.Вставить в отчет через буфер обмена.

Структура программы

68

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текст программы

69

 

 

 

 

 

шрифт Courier New, (моноширинный)

размер 10 пт

Как включить программу в отчет?

70

 

Проблема – комментарии и строки на русском языке (кодировка MS DOS Windows)

В Word: Сервис – Параметры – Общие –

подтверждать преобразования при открытии

(флажок должен быть отмечен).

Меню Файл - Открыть. Тип файлов: Все файлы. Выбрать CPP-файл.

В появившемся окне Преобразование файла выбрать Кодированный текст, затем в следующем окне: MS DOS.

Выделить текст и вставить в отчет через буфер обмена.

Соседние файлы в папке ПОЛЯКОВ_ПРЕЗЕНТАЦИИ_С++