вторник, 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.  

понедельник, 12 марта 2012 г.

Типи даних. Цілі та дійсні типи.


1) Типи даних;

Дані  в програмуванні являють собою величини, які опрацьовуються програмою. Вони поділяються на :
    константи та змінні;
     скалярні та структуровані;
    стандартні та дані користувача.
Константи – це величини, що не змінюють своїх значень в ході виконання програми. Змінні – об’єкти, що можуть приймати різні значення. Але це не означає, що змінна обов’язково повинна прийняти інше значення. Далі вважатимемо, основним об’єктом програми є змінна.
Скалярні величини являють собою прості значення. Тобто, скалярний об’єкт може приймати в будь-який момент виконання програми лише одне якесь значення. Структуровані величини складаються з декількох значень, тобто, одній величині відповідає деякий набір значень одразу.
Стандартні величини реалізовані в трансляторі мови ПАСКАЛЬ, тому їх можна використовувати без додаткового оголошення. Крім того, користувач може оголошувати і використовувати власні величини, які називаються даними користувача.
Тип даних визначає множину значень, що може приймати змінна. Кожній змінній в програмі необхідно задати один, і тільки один тип даних. Хоча ПАСКАЛЬ може опрацьовувати достатньо складні типи даних, усі вони складаються з простих (неструктурованих) типів.
Вивчення типів даних розпочнемо зі скалярних стандартних типів даних. Їх в ПАСКАЛІ є чотири: integer (тип цілих чисел) , real (тип дійсних чисел), char (літерний тип) та boolean (логічний тип).
У ТУРБО ПАСКАЛЬ існує п’ять вбудованих цілочисельних типів: Shortint (коротке ціле), Integer (ціле), Longint (довге ціле), Byte (довжиною в байт) і Word (довжиною в слово). Кожний тип визначає певну підмножину цілих. 
Тип
Діапазон
Формат
Shortint
-128 .. 127
8 бітів із знаком
Integer
-32768 .. 32767
16 бітів із знаком
Longint
-2147483648 .. 2147483647
32 біта зі знаком
Byte
0 .. 255
8 бітів без знака
Word
0 .. 65535
16 бітів без знака
  
2) Цілі та дійсні типи.
До дійсного типу відноситься підмножина дійсних чисел, що можуть бути подані у форматі з плаваючою точкою з фіксованим числом цифр. 
Є пять видів дійсних типів: Real, Single, Double, Extended і Comp.
Дійсні типи розрізняються діапазоном і точністю пов’язаних з ними значень. Основним є перший тип, тому детально зупинимось саме на його вивченні.
Перш за все, дані дійсного типу можуть подаватись у двох формах: з фіксованою точкою та плаваючою точкою (експоненційній формі). Перша форма подання чисел більш звична. В ній явно задана ціла та дробова частина, які відокремлені точкою Так, числа 2.729, -89.084109, 134 подані у формі з фіксованою точкою.
3)  Процедура Read;

Read(Readln) – оператор введення даних  з клавіатури.
Приклади:
read(f);
readln(a);
read(a,b,c);


четверг, 1 декабря 2011 г.

Масиви

 Знайти середнє арифметичне n чисел

uses crt;
var k,s:real;
    n,i:integer;
begin
 clrscr;
 writeln('Vvedite kst  chisel');
 readln(n);
  for i:=1 to n do
   begin
    writeln('Vvedit ',i,' chislo');
    readln(k);
    s:=s+k;
   end;
  writeln('Seredye arufmetushne=',s/n:5:2);
 readkey;
end.


Ну і розвязуємо дану задачу використовуючи масиви. Пам'ятаємо, що :

  Сумування для масива

s=0;
for i:=1 to n do s:=s+a[i];