Реферат: Розробка та виконання програм на мові pascal.

Заняття №3.

 

Розробка та виконання програм на мові Pascal.

 

Мета:систематизація знань, формуваннявмінь і навичок, розробки та виконання на ЕОМ найпростіших програм на мовіPascal.

Теоретичні відомості.

Програма на мові Pascal складається:

-                       розділ оголошень;-                       розділ текстів процедур і функцій;-                       розділ основного блоку.Розділ оголошень

program                   заголовок програми:

{$…}                       глобальні директиви компілятора:

uses                          підключаємі бібліотеки:

label                          розділ оголошення глобальних міток:

const                         розділ оголошення глобальних констант:

type                          розділ оголошення глобальних типів:

var                            розділ оголошення глобальних змінних:

Розділ текстів процедур і функцій

procedure(function)

label                         розділ оголошення локальних міток:

const                        розділ оголошення локальних констант:

type                          розділ оголошення локальних типів:

var                           розділ оголошення локальних змінних:

begin                       основний блок процедури або функції:

end;

Розділосновного блоку програми.

begin                     основний блок програми:

end.

Програми діляться на прості(лінійні), розгалужені тациклічні.  В простих програмах відсутні будь-які перевірки умов тавикористовуються лінійні оператори. В розгалужених можуть бути оператори умовного та безумовного переходу.

Умовні:

скорочена форма IF умова THEN опер.

повна форма         IF умова THEN опер.1 ELSE опер. 2

Оператор безумовного переходу – GOTO «мітка».

Оператор множинного вибору:

CASE вираз OF

мітка1: опер. 1;

мітка2: опер. 2;

END;

Розрізняють три способи організації циклів:

1)                     цикл з параметром (FOR… TO…DO);

2)                     цикл з післяумовою(REPEAT UNTIL);

3)                     цикл з передумовою(WHILE… DO).

 

Індивідуальне завдання.

 

Варіант №3.

Скласти та виконати на ЕОМпрограми розв’язування слідуючих задач:

Задача 1.

Обчислити та вивестина очищений екран з К-ї позиції L-го рядка в форматованому вигляді значення вихідних даних та результатів обчисленнявиразу:

/>

Обчислити значеннявиразу на ЕОМ для значень:

A=-6, b=6.4,c=8.85, k=20, l=10

Задача 2.

Обчислити значенняданої функції, використовуючи оператори IF_THEN,IF_THEN_ELSE (дваваріанти програми):

/> <td/> />
Виконати для: a=-2.3, b=-8,t1=-4.5, t2=1.2*10-3, t3=4.3

Задача 3.

Обчислити та вивестина екран в стовпчик таблицю значень функції:

Для значень Х із проміжку Х=[-3,5] з кроком h=1.2

/> <td/> />
Скласти програми, використавши всіструктури циклів.

Задача 1:

program zanattia3;

uses crt;

const

 k=20;

 l=10;

 a=-6;

 b=6.4;

 c=8.85;

var

 f:real;

begin

 clrscr;

 f:=(exp(a)+2*ln(b+c))/(arctan(b))+a*b;

 gotoxy(k,l);

 textcolor(2);

 write('Вiдповiдь :  ');

 textcolor(3);

 write(f:7:5);

 textcolor(14);

 write('   при а=-6, в=6.4, с=8.85');

end.

Р Е З У Л Ь Т А Т И  Р О Б О Т И  П Р О Г Р А М И :

______________________________________________________________________________

                   Вiдповiдь :  -34.54943   при а=-6, в=6.4,с=8.85

______________________________________________________________________________

Задача 2:

program zanattia3_variant1;

uses crt;

const

 a=-2.3;

 b=-8;

 t1=-4.5;

 t2=1.2e-3;

 t3=4.3;

var

 y,t:real;

function obch(t:real):real;

begin

 if t>3 then obch:=exp(t)/ln(t);

 if t<-3 then obch:=exp(a)+a*b;

 if ((t<=3) and (t>=-3)) thenobch:=sin(t)/cos(t)+sqrt(a*b+b);

end;

begin

 clrscr;

 t:=t1;

 y:=obch(t);

 writeln('при t=',t:7:3,'  вiдповiдь :  ',y:7:3);

 t:=t2;

 y:=obch(t);

 writeln('при t=',t:7:3,'  вiдповiдь :  ',y:7:3);

 t:=t3;

 y:=obch(t);

 writeln('при t=',t:7:3,'  вiдповiдь :  ',y:7:3);

end.

Р Е З У Л Ь Т А Т И  Р О Б О Т И  П Р О Г Р А М И :

______________________________________________________________________________

при t= -4.500  вiдповiдь :   18.500

при t=  0.001  вiдповiдь :    3.226

при t=  4.300  вiдповiдь :   50.527

______________________________________________________________________________

program zanattia3_variant2;

uses crt;

const

 a=-2.3;

 b=-8;

 t1=-4.5;

 t2=1.2e-3;

 t3=4.3;

var

 y,t:real;

function obch(t:real):real;

begin

 if t>3 then obch:=exp(t)/ln(t) else

 if t<-3 then obch:=exp(a)+a*b elseobch:=sin(t)/cos(t)+sqrt(a*b+b);

end;

begin

 clrscr;

 t:=t1;

 y:=obch(t);

 writeln('при t=',t:7:3,'  вiдповiдь :  ',y:7:3);

 t:=t2;

 y:=obch(t);

 writeln('при t=',t:7:3,'  вiдповiдь :  ',y:7:3);

 t:=t3;

 y:=obch(t);

 writeln('при t=',t:7:3,'  вiдповiдь :  ',y:7:3);

end.

Р Е З У Л Ь Т А Т И  Р О Б О Т И  П Р О Г Р А М И :

______________________________________________________________________________

при t= -4.500  вiдповiдь :   18.500

при t=  0.001  вiдповiдь :    3.226

при t=  4.300  вiдповiдь :   50.527

______________________________________________________________________________

Задача 3:

program zanattia3_variant1;

uses crt;

var

 y:real;

 x:real;

 h:real;

begin

 clrscr;

 x:=-3;

 h:=1.2;

 repeat

  y:=2*sqr(x-1)+3;

  writeln(' y=',y:7:5,' при x=',x:7:5);

  x:=x+h;

 until x>5;

end.

Р Е З У Л Ь Т А Т И  Р О Б О Т И  П Р О Г Р А М И :

______________________________________________________________________________

 y=35.00000  при x=-3.00000

 y=18.68000  при x=-1.80000

 y=8.12000   при x=-0.60000

 y=3.32000   при x=0.60000

 y=4.28000   при x=1.80000

 y=11.00000  при x=3.00000

 y=23.48000  при x=4.20000

______________________________________________________________________________

program zanattia3_variant2;

uses crt;

var

 y:real;

 x:real;

 h:real;

begin

 clrscr;

 x:=-3;

 h:=1.2;

 while x<5 do begin

  y:=2*sqr(x-1)+3;

  writeln(' y=',y:7:5,' при x=',x:7:5);

  x:=x+h;

 end;

end.

Р Е З У Л Ь Т А Т И  Р О Б О Т И  П Р О Г Р А М И :

______________________________________________________________________________

 y=35.00000  при x=-3.00000

 y=18.68000  при x=-1.80000

 y=8.12000   при x=-0.60000

 y=3.32000   при x=0.60000

 y=4.28000   при x=1.80000

 y=11.00000  при x=3.00000

 y=23.48000  при x=4.20000

 

Висновок: закріпивосновні навички роботи з усіми видами циклів, умов, рівнянь та математичнимхфункцій в Torbo Pascal, виконав всі завдання порозробці програм з циклами та розгалудженнями, які надає мова Pascal.


Заняття №4.

 

Робота з масивами.

 

Мета:систематизація та поглиблення знань,формування вмінь і навичок, розробки програм обробки масивів.

Теоретичні відомості.

 

Масив – це структурний тип даних, який складається ізфіксованого числа елементів одного типу. Для звернення до елемента масивунеобхідно вказати в квадратних дужках порядковий номер елемента А[4]. При описімасиву необхідно вказати його ім’я, вказати, в яких границях здійснюєтьсянумерація елементів, вказавши початкове і кінцеве значення індексів, вказатитакож тип елементів.

Двовимірний масив – це прямокутна таблиця, якаскладається із m рядків та n стовпців. Опис двовимірного масива можна здійснитизадавши тип масиву або безпосередньо змінну типу масив. 

Індивідуальне завдання.

 

Варіант №15.

Скласти програму на мові Pascal розв’язкуданої задачі та виконання її на ЕОМ. Передбачивши виведення на очищений екранмасивів у вигляді матриці та результатів обчислень, супроводивши їх необхіднимипоясненнями. Задача 1.Обчислити максимальне значення із добуткуелементів кожного із стовпчиків масива К(6,4).Задача 2.Знайти нацбільший та найменьшийелементи масиву А(5,5) та поміняти їх місцями. Вивести масив порядках.

Задача 1:

program masiv_1;

uses

    crt;

var

   k:array [1..6,1..4] of integer;

   i,j,max:integer;

   dob:array [1..4] of real;

begin

 clrscr;

 for i:=1 to 6 do

  for j:=1 to 4 do begin

   write('Введiть елемент K[',i,',',j,']=');

   readln(k[i,j]);

  end;

 for j:=1 to 4 do begin

  dob[j]:=1;

  for i:=1 to 6 do dob[j]:=dob[j]*k[i,j];

 end;

 max:=1;

 for j:=1 to 4 do if dob[max]<dob[j] then max:=j;

 for i:=1 to 6 do begin

for j:=1 to 4 do write(k[i,j],'     ');

  writeln;

 end;

 for j:=1 to 4 do write(dob[j]:3:1,'  ');

 writeln;

 write('Максимальний добуток в стовпцi з номером ',max);

 writeln(' i дорiвнюї ',dob[max]:3:1);

end.

Р Е З У Л Ь Т А Т И  О Б Ч И С Л Е Н Ь  П Р О Г Р А М И :

22     3     3     3

4     5     6     7

3     3     3     32

2     -6     -5     4

-7     3     2     0

2     3     4     5

-7392.0  -2430.0  -2160.0  0.0

Максимальний добуток в стовпцi з номером 4 i дорiвнюї 0.0

Задача 2:

program masiv_2;

uses

    crt;

var

   a:array [1..5,1..5] of integer;

   i,j,max1,max2,min1,min2:integer;

   temp:integer;

begin

 clrscr;

 for i:=1 to 5 do

  for j:=1 to 5 do begin

   write('Введiть елемент A[',i,',',j,']=');

   readln(a[i,j]);

  end;

 max1:=1;

 min1:=1;

 max2:=1;

 min2:=1;

 for i:=1 to 5 do

  for j:=1 to 5 do begin

   if a[max1,max2]<a[i,j] then begin

max1:=i;

    max2:=j;

   end;

   if a[min1,min2]>a[i,j] then begin

    min1:=i;

    min2:=j;

   end;

  end;

 clrscr;

 writeln('Вихiдний масив:');

 for i:=1 to 5 do begin

  for j:=1 to 5 do write(a[i,j],'     ');

  writeln;

 end;

 temp:=a[max1,max2];

 a[max1,max2]:=a[min1,min2];

 a[min1,min2]:=temp;

 writeln('Перетворений масив:');

 for i:=1 to 5 do begin

for j:=1 to 5 do write(a[i,j],'     ');

  writeln;

 end;

end.

        Р Е З У Л Ь Т А Т И  О Б Ч И С Л Е Н Ь  П Р О Г Р АМ И :

Вихiдний масив:

1     2     3     4     5

6     7     8     9     2

5     3     -3     -6     2

11     4     -7     3     2

8     9     2     2     3

Перетворений масив:

1     2     3     4     5

6     7     8     9     2

5     3     -3     -6     2

-7     4     11     3     2

8     9     2     2     3

Висновок:на практичнійроботі я систематизував знання, вміння та навички по роботі з масивами, якдвомірними, так і одномірними, навчився працювати з матрицями та операціями зними.


Заняття №5.

 

Складання програм з використанням процедур та функцій.

 

Мета:систематизація та поглиблення знань,вмінь і навичок, розробки програм з використанням процедур та функцій.

Теоретичні відомості.

Підпрограма – це пойменована, логічно закінчена групаоператорів, яку можна викликати для виконання довільну кількість разів з різнихмісць програми.

В мові Pascal в ролі підпрограм використовуютьсяпроцедури і функції. Функція представляє собою групу операторів, в результатівиконання яких обчислюється одне значення, що присвоюється значенню функції.

Опис функції здійснюється за допомогою ключового словаFUNCTION ім’я, а в дужках змінні.

Процедура на відміну від функції може повертати впрограму одне, декілька або не повертати жодного значення. В заголовку післяключового слова PROCEDURE ім’я, а в дужках змінні зі своїми описами.

Індивідуальне завдання.

 

Варіант №13.

Скласти програму на мові Pascal розв’язкуданої задачі та виконання її на ЕОМ. Передбачивши виведення на очищений екран результатівобчислень, супроводивши їх необхідними поясненнями.Задача 1.

Дано масив С(5,4).Зформувати новий масив К, кожний елемент якого дорівнює відповідному елементумасива С, поділеному на факторіал суми його індексів. Надрукувати масив К порядках, підрахувавши кількість його елементів, значення яких меньше одиниці.

Задача 2.Знайти суму від’ємнихелементів та середнє значення додатніх елементів масивів: L (6), B (5), H(7) цілих чисел, використовуючи процедури.

Задача 1:

program var_1_1;

uses crt;

var

   c,k:array [1..5,1..4] of real;

   i,j:integer;

   m:byte;

function facktorial(x:integer):real;

var

   i:integer;

   facktorial1:real;

begin

 facktorial1:=1;

 if i<=1 then facktorial:=1 else begin

     for i:=1 to x do facktorial1:=facktorial1*i;

     facktorial:=facktorial1;

    end;

end;

begin

 clrscr;

 writeln('Введiть елементи масива:');

writeln;

 for i:=1 to 5 do

  for j:=1 to 4 do begin

   write('Елемент [',i,',',j,']=');

   readln(c[i,j]);

  end;

 m:=0;

 clrscr;

 for i:=1 to 5 do begin

  for j:=1 to 4 do begin

   k[i,j]:=c[i,j]/facktorial(i+j);

   if k[i,j]<1 then m:=m+1;

   write(k[i,j]:7:5,'  ');

  end;

  writeln;

 end;

end.

      РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ :

0.50000  0.33333  0.16667  -0.04167

0.66667  0.12500  -0.01667  0.00556

0.20833  -0.01667  -0.00417  0.00119

0.05833  0.01250  0.00417  0.00005

0.00417  -0.00099  0.00005  0.00000

 

Задача 2:

program var_1_2;

uses crt;

var

   l:array [1..7] of integer;

   b:array [1..6] of integer;

   h:array [1..8] of integer;

   v:integer;

   s:real;

procedure masiv(var x:array of integer;kol:integer;varvid:integer;var ser:real);

var

   i:integer;

begin

 clrscr;

 vid:=0;

 ser:=0;

 writeln('Введiть елементи масива :');

 writeln;

 for i:=1 to kol do begin

  write('Елемент x[',i,']=');

readln(x[i]);

  if x[i]<0 then vid:=vid+1 else ser:=ser+x[i];

 end;

 ser:=ser/kol;

end;

begin

 masiv(l,6,v,s);

 writeln('Вiдемних елементiв: ',v);

 writeln('Середне арифметичне суми додатнiх елементiв: ',s);

 repeat until keypressed;

 masiv(b,5,v,s);

 writeln('Вiдемних елементiв: ',v);

 writeln('Середне арифметичне суми додатнiх елементiв: ',s);

 repeat until keypressed;

 repeat until keypressed;

 masiv(h,7,v,s);

 writeln('Вiдемних елементiв: ',v);

 writeln('Середне арифметичне суми додатнiх елементiв: ',s);

end.

 РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ :

Введiть елементи масива :

Елемент x[1]=2

Елемент x[2]=-2

Елемент x[3]=-3

Елемент x[4]=5

Елемент x[5]=3

Елемент x[6]=4

Вiдемних елементiв: 2

Середне арифметичне суми додатнiх елементiв:  2.33

Введiть елементи масива :

Елемент x[1]=23

Елемент x[2]=-3

Елемент x[3]=-4

Елемент x[4]=2

Елемент x[5]=8

Вiдемних елементiв: 2

Середне арифметичне суми додатнiх елементiв:  6.60

Введiть елементи масива :

Елемент x[1]=4

Елемент x[2]=5

Елемент x[3]=-6

Елемент x[4]=3

Елемент x[5]=2

Елемент x[6]=-7

Елемент x[7]=0

Вiдемних елементiв: 2

Середне арифметичне суми додатнiх елементiв:  2.00

Висновок:напрактичній роботі я систематизував та поглибив вміння та навички по роботі зфункціями і процедурами у власних програмах, які дуже легко використовуватизавдяки процедурам та функціям.

 

еще рефераты
Еще работы по информатике, программированию