вторник, 20 марта 2012 г.

Оператори розгалуження. Команда IF. Блок-схема.



Складена команда — це конструкція такого вигляду:
begin
                 <команда 1>;
                 ……
                 <команда n>;
end;

Складена команда трактується як одна команда.
Запис begin end; чи ;; називається порожньою командою.
Надалі під командою будемо розуміти порожню, просту або складену команду.
Логічний вираз — це засіб записування умов для відшукання потрібних даних. Логічний вираз може приймати значення true (істинність) або false (хибність). Логічні вирази бувають прості та складені. Простий — це два арифметичні вирази, з'єднані символом відношення, а складений — це прості логічні вирази, з'єднані назвами логічних операцій: not, and і or. Прості логічні вирази, які входять у складені, завжди беруть у дужки.
Команда розгалуження if (умовна команда) має два різновиди.
1. Повна команда розгалуження має вигляд:

if <логічний вираз> then <команда 1> else <команда 2>;

Дія команди. Якщо логічний вираз істинний, то виконується команда 1, в протилежному випадку — команда 2.  Команди 1 та 2 можуть бути простими або складеними.
Приклад. Нехай х=9. У результаті виконання команд if x>7 then y:=x*x else y:=sin(x); if x<5 then z:=exp(x) else z:=sqrt(x); отримаємо y=81,z=3.
2. Коротка команда розгалуження має вигляд:

if <логічний вираз> then <команда>

Дія команди. Якщо логічний вираз істинний, то виконується їоманда 1, інакше виконується команда, яка знаходиться за даною конструкцією.
Приклад. Нехай х=25. Тоді у результаті виконання команд if x>12 then у:=2*х; z:=10; if x<5 then z:=exp(x); гримаємо y=50,z=10.

2) Демонстраційний приклад.
Скласти програму знаходження найбільшого з трьох чисел a,b,c, введених з клавіатури.

Program n1;
var a,b,c,max:integer;
begin
readln(a,b,c);
if (a>=b)and(a>=c) then max:=a;
if (b>=a)and(b>=c) then max:=b;
if (c>=a)and(c>=b) then max:=c;
writeln(max);
end.

Program n1;
var a,b,c,max:integer;
begin
readln(a,b,c);
max:=a;
if b>max then max:=b;
if c>max then max:=c;
writeln(max);
end.

1)      Розв’язування задач.
Розв’язати задачі:
а) Порівняти два числа.
б) Перевірити, чи трикутник зі сторонами a, b , c  є прямокутним.

воскресенье, 18 марта 2012 г.

Елементи комп’ютерної графіки


1. Поняття графічного режиму, ініціалізація графічного режиму
Будь-який монітор ПЕОМ може працювати в одному з двох режимів:
  • текстовому;
  • графічному. 
Перший з них дозволяє виводити на екран будь-який символ ASCII-таблиці  у визначене знакомісце екрану, що знаходиться на перетині рядка та стовпчика. Кількість знакомісць залежить від текстового режиму, але найчастіше дорівнює 25 рядкам по 80 колонок в кожному. В цьому режимі можна керувати кольором та яскравістю символів, забезпечуючи за бажанням їх миготіння, та кольором тла. В графічному режимі будь-яке зображення отримується як сукупність різнокольорових точок - пікселів. Кількість елементів зображення теж задається відповідним режимом, але стандартно дорівнює 640 на 480 відповідно по горизонталі та вертикалі. Для роботи в графічному режимі в Паскалі використовується модуль Graph, який складається з більш ніж 50 графічних процедур і функцій широкого профілю. Усі стандартні засоби модуля Graph стають доступними після його підключення до програми в розділі Uses:  Uses Graph;
Для того щоб підключити бібліотеку  графічних підпрограм необхідно в наступному рядку після Program написати команду Uses Graph. При запуски програми з середовища Турбо Паскаля екран знаходиться в текстовому режимі роботи, тому програма яка використовує графічні можливості комп’ютера, повинна певним чином ініціювати графічний режим роботи. Для цього використовується процедура InitGraph.  Записується так InitGraph(driver, mode,path); де driver – змінна типу Integer, яка визначає тип графічного драйвера.mode – змінна типу Integer, яка задає режим роботи графічного адаптера.path – вираз типу String, який місить ім’я файлу драйвера і, можливо, шлях його пошуку.Ініціювання графіки на Турбо Паскалі має такий вигляд:
driver:=detect;
InitGraph(driver, mode,’’)
Після того, як буде ініційований графічний режим і програма виконає всі потрібні операції потрібно перейти в текстовий режимкоманда CloseGraph; CloseGraph – завершує роботу адаптера в графічному режимі і переходить в текстовий режим. Багато графічних процедур і функцій використовують координати екрану. Ці координати задаються відносно лівого верхнього кута, який в свою чергу має координати 0, 0. Таким чином, горизонтально координати екрану збільшується зліва на право, а вертикально – зверху вниз.В мові програмування Турбо Паскаль є такі процедури, завдяки яким можна малювати найпростіші геометричні елементи. 

2. Основні функції та процедури для побудови графічних  зображень

Розглянемо основні  процедури модуля Graph, що призначені для графічних побудов.
InitGraph (driver, mode,’’) - процедура ініціалізує графічну систему і переводить апаратну частину в графічний режим.
Setcolor(<колір>) – задає колір майбутнього зображення;
Setbkcolor(<колір>) –задає колір тла;
Putpixel(x,y,< колір >)  висвітлює точку (x,y) заданим кольором;
Line(x1,y1,x2,y2) – рисує лінію між двома заданими точками;
Rectangle(x1,y1,x2,y2) – рисує прямокутник, з заданими координатами діагонально-протилежних вершин(ліої верхньої та правої нижньої)»
Bar(x1,y1,x2,y2)  – рисує зафарбований прямокутник, заданим стилем;
Bar(x1,y1,x2,y2,<об’ємна глибина>,true) – рисує паралелепіпед;
Circle(x,y,r) – рисує коло радіусом r і центром у точці (x,y);
Closegraph  - закриває графічний режим.

3. Практичне заняття.
а) побудувати малюнок (використовується дидактичний матеріал)

Program Example7; 
Uses graph;          {Підключення графічної  
                      бібліотеки} 
Var driver,mode:integer;   
Begin 
  driver:=detect;  {Ініціалізація графічного  
                      режиму} 
    InitGraph(driver,mode,’’); 
  setcolor(red); 
  {Малювання будиночка, стелі, труби та дверей  
   відповідно} 
  rectangle(100,250,500,450); 
  rectangle(50,200,550,250); 
  rectangle(400,20,450,200); 
  rectangle(360,300,470,450); 
  bar(140,290,210,360); 
  Readln;         {Затримка зображення на екрані} 
  Closegraph;   {Закриття графічного режиму} 
End.