- •“Київський політехнічний інститут” обчислювальна техніка та програмування - 1
- •Обчислювальна техніка та програмування - 1
- •Символи кодової таблиці ascii
- •Умовні переходи на мові "паскаль"
- •1: Begin
- •Цикли на мові "паскаль"
- •Підпрограми на мові "паскаль"
- •Function Alfha(a,b:real; c:byte):real;
- •Function Beta:integer;
- •Procedure Sorter (a,b:real; c:byte; Var X,y:real);
- •Procedure Beep;
- •Uses crt;
- •Window (x1,y1,x2,y2);
- •Window (10,5,45,15);
- •Window (1,1,80,25);
- •TextColor (yellow);
- •TextColor (14);
- •Текстові та типізовані файли мови "паскаль"
- •Assign (f1, ’Data.Pas’);
- •Reset (f2);
- •Rewrite (f2);
- •Seek (f2, 7);
- •FileSize (f2),
- •FilePos (f2).
- •Побудова графіків функцій на мові "паскаль"
- •MoveTo (200, 100);
- •SetLineStyle (0,0,1);
- •OutText (’Текст для виводу’);
- •OutTextXy (200,100,’Текст для виводу’);
- •SetTextStyle (0,0,0);
- •SetTextJustify (1,1);
- •PutPixel (150,50,green);
- •ClearDevice;
- •Бібліотечний модуль на мові "паскаль"
- •Interface
- •Implementation
- •Динамічні змінні мови "паскаль"
- •SetFillStyle (1, white);
- •Об’єктно-орієнтоване програмування на мові "паскаль"
- •New (Person, Init);
- •Destructor Done; Virtual;
- •Dispose (Person, Done);
- •Форматований ввід та вивід даних на мові “cі”
- •Printf(“керуючий рядок”,аргумент1,аргумент2, ...);
- •Scanf(“керуючий рядок”,аргумент1,аргумент2,...);
- •Scanf(“%d %f %c %s”,&I,&j,&k,l);
- •Scanf(“%d %*d %d”, &I,&j);
- •Scanf(“%d,%d”,&n,&m);
- •Оператори організації переходів на мові "сі"
- •1.2. Для організації умовного переходу по одному із багатьох варіантів доцільно використовувати оператор switch. Він має наступний формат:
- •Організація циклів на мові "сі"
- •Одновимірні та двовимірні масиви на мові "сі"
- •Char b[30];
- •Char a[10][20];
- •Записи, вкладені записи, масиви записів на мові "сі"
- •Int month;
- •Int year;};
- •Int class, age;};
- •Робота із бінарними та текстовими файлами
- •File *lst;
- •Int fflush (вказівник_на_файл);
- •Int fgetc(вказівник_на_файл);
- •Int fputc(вказівник_на_файл);
- •Int fread (вказівник_на_масив, розмір_об’єкта, кількість_об’єктів , вказівник_на_файл);
- •Int fwrite(вказівник_на_масив, розмір_об’єкта, кількіст_об’єктів , вказівник_на_файл);
- •Int fseek(вказівник_файла, зміщення, поч. Значення);
- •3. Контрольні запитання
- •Робота з функціями на мові “сі”
- •Тип_функції назва_функції(тип1 параметр1, ..., тип_n параметр_n);
- •Int main(int argc, char *argv)
- •3.1. Який синтаксис функцій у мові “сі”.
- •Комп’ютерний практикум № 17 графічний режим екрану на мові “ci”
- •Initgraph(int *driver, int *mode, char *path);
- •Void *pimage;
- •Void *malloc(об'єм_пам’яті_в_байтах);
- •Imagesize(x1,y1,x2,y2);
- •Putimage(x1, y1, вказівник, вид_вставки);
- •Вирішення диференційних рівнянь методом ейлера
- •Основи роботи в середовищі “turbo pascal 7.0” та “turbo c 3.0”
- •Комп’ютерний практикум № 17. Графічний режим екрану
Умовні переходи на мові "паскаль"
Мета практикуму – розробка програмного забезпечення на мові програмування "Паскаль" з реалізації розгалужених структур алгоритмів, а також детальне вивчення та практичне застосування пункту меню Edit інтегрованого середовища мови.
ТЕОРЕТИЧНІ ВІДОМОСТІ
1.1. Для реалізації розгалужених структур алгоритмів на мові “Паскаль” застосовується оператор умовного переходу if та оператор вибору case. В залежності від виконання заданих у цих операторах умов змінюється логічний хід програми.
1.2. Оператор умовного переходу має наступну специфікацію (за допомогою кутових дужок <..> нижче і в подальшому будуть вказуватися елементи операторів, які вільно задає програміст у залежності від задачі, що вирішується)
if <умова> then <оператор 1> else <оператор 2>;
Якщо <умова> приймає значенняTrue, тобто “істина”, то виконується<оператор 1>. Якщо ж<умова> приймає значенняFalse, тобто “неістина”, то виконується<оператор 2>. Наприклад,
if A>B then C:=A+B else C:=A-B;
Якщо в then чиelse-гілці необхідно виконати більше одного оператора, то використовуються операторні дужкиbegin..end, наприклад,
if A>B then
begin
C:=A+B;
D:=A*B;
end
else
begin
C:=A-B;
D:=A/B;
end;
При цьому перед словом else крапка з комою; не ставиться, бо операторif ще не завершився.
Складна <умова>реалізується за допомогою логічних функцій: “І” –and, “АБО” –or, “НІ” –not, “Виключаюче АБО” –xor, наприклад,
if (A>B)and(C<=D)or(C>0) then C:=A+B else C:=A-B;
Оператор if може застосовуватися без else-гілки, наприклад,
if A>B then C:=A+B;
В цьому випадку, якщо <умова> приймає значенняFalse, то оператор if пропускається й виконується наступний за ним оператор програми.
Оператор if може бути вкладеним, проте, більше трьох вкладень не робиться із-за складності аналізу роботи операторів. Для зміни області діїthen таelse-гілок різних операторівif застосовуються операторні дужкиbegin..end, наприклад,
if A>B then
begin
if C<=D then C:=A+B else C:=A-B;
end
else
C:=A/B;
Приклад 1.Визначити поведінку космічного корабля, що стартує із Землі, в залежності від його швидкості відносно 1-ї, 2-ї та 3-ї космічної швидкості.
Program If_Kosmos;
Uses CRT;
Const
V1=7.9; {Перша космічна швидкість, км/с}
V2=11.2; {Друга космічна швидкість, км/с}
V3=16.6; {Третя космічна швидкість, км/с}
Var
V :real;
Begin
TextBackGround (lightgray);
ClrScr;
TextColor (blue);
GotoXY (7,2);
Writeln ('ПРОГРАМА ВИЗНАЧЕННЯ ПОВЕДIНКИ
КОСМIЧНОГО КОРАБЛЯ');
TextColor (red);
GotoXY (9,4);
Write ('Введiть швидкiсть корабля, км/с: ');
TextColor (black);
Readln (V);
GotoXY (9,6);
TextColor (yellow);
if V<V1 then
Writeln ('Корабель впаде на Землю!!!');
if (V>=V1)and(V<V2) then
Writeln ('Корабель стане супутником Землi!!!');
if (V>=V2)and(V<V3) then
Writeln ('Корабель досягне iнших планет
Сонячної системи!!!');
if V>V3 then
Writeln ('Корабель покине Сонячну систему!!!');
Repeat Until KeyPressed;
End.
1.3. Оператор вибору caseвикористовується для реалізації умови з багатьма виходами. Його специфікація наступна
case <змінна> of
<1-е значення змінної>:<оператор 1>;
<2-е значення змінної>:<оператор 2>;
<N-е значення змінної>:<оператор N>;
else <оператор>;
end;
В залежності від <значення змінної> виконується один з операторів проміжку від<оператор 1> до <оператор N>. Якщо ж змінна не має заданих значень, то виконується<оператор> else-гілки.<Змінна>, за значенням якої здійснюється вибір, може бути будь-якого простого (скалярного) типу даних, крім,дійсного. Наприклад, для змінної вибору цілочислового типу оператор може мати такий вигляд
case J of
1: C:=A+B;
3: C:=A-B;
7: C:=A*B;
else C:=A/B;
end;
Оператор може застосовуватися без else-гілки, наприклад,
case J of
1: C:=A+B;
3: C:=A-B;
7: C:=A*B;
end;
Значення змінної вибори для виконання одного й того ж оператора можуть об'єднуватися через кому або через проміжок, який задається двома послідовними крапками, наприклад,
case J of
1,2: C:=A+B;
3,4,6: C:=A-B;
7..13: C:=A*B;
end;
Якщо для значення змінної вибору необхідно виконати більше одного оператора, то використовуються операторні дужки begin..end, наприклад,
case J of