asyan.org
добавить свой файл
1
Мелітопольський державний педагогічний університет
імені Богдана Хмельницького

Кафедра математики та інформатики

___________________________

(оцінка)

___________________________

(дата та підпис)
^ Звіт

з обчислювальної практики

Варіант №3

Виконав студент 231-і групи факультету інформатики і математики
спеціальності інформатика
залікова книжка №____________
Гончаров Д.С.
Керівник практики: ст.викл.

Брянцев О.А.

Меліпотоль, 2012

ЗМІСТ

^ РОЗДІЛ 1 РОЗВ'ЯЗАННЯ ЗАВДАНЬ З ЛІНІЙНОЮ СТРУКТУРОЮ МОВАМИ ПРОГРАМУВАННЯ TPASCAL ТА QBASIC 3

РОЗДІЛ 2 РОЗВ'ЯЗАННЯ ПРОГРАМ З РОЗГАЛУДЖЕННОЮ СТРУКТУРОЮ МОВАМИ ПРОГРАМУВАННЯ TPASCAL ТА QBASIC 13

^ РОЗДІЛ 3 РОЗВ'ЯЗАННЯ ЗАВДАНЬ З ОБРОБКИ ДВОМІРНИХ МАСИВІВ МОВАМИ ПРОГРАМУВАННЯ TPASCAL ТА QBASIC 27

32

ВИСНОВКИ 32

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 34


^

РОЗДІЛ 1 РОЗВ'ЯЗАННЯ ЗАВДАНЬ З ЛІНІЙНОЮ СТРУКТУРОЮ МОВАМИ ПРОГРАМУВАННЯ TPASCAL ТА QBASIC




    1. Завдання з лінійною структурою на мові програмування TPascal

Тема. Розв’язання завдання з лінійною структурою мовою програмування TPascal.

Мета: навчитися розробляти лінійний алгоритм і записувати його у вигляді PASCAL- програми; опанувати роботою в середовищі TPascal.

Завдання. Скласти алгоритм і програму обчислення площі фігури. Вихідні дані наведені у таблиці 1.1

Таблиця 1.1

Фігура

Дані


R1

Y



R2



X

С



R1= 43

R2= 18

Y= 27

X= 22


На першому етапі для обрахування загальної площі фігури необхідно виконати попередні розрахунки:

Обрахувати площу внутрiшнього и зовнiшноього круга. Для обрахування була задіяна формула (Sкр), яка була модифікована з урахуванням вихідних даних.

Знаходимо катет трикутника, який отримуємо з двох вхідних даних X та Y за теоремою Пiфагора.

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

На підставі теоретичного опису було побудовано блок-схему алгоритму з лінійною структурою, що відображено на рисунку 1.1.


Початок



Ввід даних



Обрахування площі кругiв



Розрахунок довжини катета трикутника



Розрахунок площі заданої фігури



Графічне відображення фігури



Вивід даних



Кінець


Рис. 1.1. Блок-схема алгоритму завдання 1

Відповідно до блок-схеми розробили код програми з лінійною структурою на мові програмування TPascal.

uses crt,graph; {відкриття модулів}

var {оголошення змінних}

x,y,r1,r2,gd,gm,xx,yy:integer;

s1,s2,s3,z,s_res,s_ch:real;

xm,ym,xmaxD4,ymaxD4: word;

pp:array[1..4] of PointType;

splos: string;

begin {початок програми}

{s1 - ploshad vnutrenego kruga}

{s2 - ploshad bolshogo kruga}

{s3 - ploshad treugolnika}

{x:=22; y:=27; r1:=43; r2:=18;}

clrscr;

writeln('Vvedite x, y, r1, r2');

readln(x,y,r1,r2); {введення даних}

clrscr;

s1:=Pi*sqr(r2);

s2:=Pi*sqr(r1);

s3:=(x*y)/2;

s_ch := (s2/4) - (s1/4); {обрахування площі кола}

s_res := s2 - s_ch - s3; {обрахування площі загальної фігури}

writeln(s_res:4:4);

xx:=320; yy:=240;

str(s_res:4:4,splos);

gd:=detect;

initgraph(gd,gm,''); {ініціалізація графічного режиму}

setcolor(green);

setbkcolor(black);

circle(xx,yy,r1); {Малюємо перше велике коло}

setfillstyle(1,green);

floodfill(xx,yy,2);

setfillstyle(0,14); {Малюємо прямокутник}

bar(xx-r1,yy,xx,yy+r1);

circle(320,240,r2); {Внутрiшнє коло}

setfillstyle(1,green);

floodfill(xx,yy,2);

pp[1].x := xx;

pp[1].y := yy;

pp[2].x := xx;

pp[2].y := yy-y;

pp[3].x := xx+x;

pp[3].y := yy;

pp[4] := pp[1];

setfillstyle(1,black); {Малюємо трикутник}

fillpoly(4,pp);

outtextxy(260,330,'Ploshad = '+splos); {вивід інформації у графічному режимі}

readkey;

closegraph; {закриваємо графічний режим}

end. {завершення програми}

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

При першому тестуванні програми було зазначено вихідні дані з лінійною структурою завдання 1 (рис. 1.2).



Рис. 1.2. Фрагмент вікна, TPascal, вихідних даних завдання 1

В результаті першого тестування програми на екрані була побудована фігура з виведенням інформації про її площу, яка дорівнює 4314.07 (рис. 1.3).

Рис. 1.3. Фрагмент вікна TPascal, результат роботи програми завдання 1

При другому тестуванні програми довільно зменшено вихідне значення (рис.1.4).



Рис. 1.4. Фрагмент вікна TPascal,визначення даних завдання №1

В результаті роботи програми на екрані було отримане графічне відображення фігури та підраховано площу заданої фігури, яка дорівнює 1037.69 (рис. 1.5).



Рис. 1.5. Фрагмент вікна TPascal, результат роботи програми завдання №1

При третьому тестуванні було збільшено всі дані в 2 рази (рис. 1.6).



Рис. 1.6. Фрагмент вікна TPascal, визначення даних №1

В Результаті роботи програми на екрані було отримано графічне відображення фігури та підраховано площу, яка дорівнює 17256,29 (рис. 1.7).



Рис. 1.7. Фрагмент вікна TPascal, результат роботи програми завдання №1

Діюча програма знаходиться на CD-диску. Назва файлу – pr1.pas

    1. Завдання за лінійною структурою на мові програмування QBasic

Згідно теми, мети, завдання, теоретичного опису виконання програми та блок-схеми не змінилися.

Тому відповідно блок-схеми, що відображена на рисунку 1.1 розроблено код програми на мові програмування QBasic.

CLS

x = 22 {зазначення змiнних}

y = 27

r1 = 43

r2 = 18

Pi = 3.14

xx = 320

yy = 240

s1 = Pi * r2 ^ 2 {знаходження площі круга}

s2 = Pi * r1 ^ 2

s3 = (x * y) / 2

sch = (s2 / 4) - (s1 / 4) {урахування основи трикутника}

sres = s2 - sch - s3 {Площа даної фігури}

SCREEN 12 {Підключення графічного режиму}

CIRCLE (xx, yy), r1, 5

PAINT (xx, yy), 5, 5

LINE (xx - r1, yy)-(xx, yy + r1), 0, BF

CIRCLE (xx, yy), r2, 5 {Побудова кола}

PAINT (xx, yy), 5, 5

LINE (xx, yy)-(xx, yy - y), 0 {Побудова трикутника}

LINE (xx, yy - y)-(xx + x, yy), 0

LINE (xx + x, yy)-(xx, yy), 0

PAINT (xx + 5, yy - 5), 0, 0

^ LOCATE 23, 32

PRINT "ploshad = "; sres {Виводимо значення площі даної фігури}
При першому тестуванні програми було зазначено вихідні дані з лінійною структурою завдання 1 (рис. 1.8).


Рис. 1.8. Фрагмент вікна QBasic введення даних завдання №1

За результатом виконання програми на екрані було побудовано фігуру з виведенням інформації про її площу, яка дорівнювала 4311.73 (рис. 1.9).



Рис. 1.9. Фрагмент вікна QBasic, графічне відображення роботи програми завдання №1

При другому тестуванні програми довільно зменшено вихідне значення (рис. 1.10.):



Рис. 1.10. Фрагмент вікна QBasic, введення даних,завдання №1

В результаті роботи програми на екрані буде отримано графічне відображення фігури та підраховано площу, яка дорівнювала 1037.14 (рис. 1.11).



Рис. 1.11. Фрагмент вікна QBasic, графічне відображення роботи програми завдання №1

За третім тестуванням збільшено всі дані в 2 рази (Рис. 1.12).



Рис. 1.12. Фрагмент вікна QBasic, введення даних, завдання №1

В результаті роботи програми на екрані було отримано графічне відображення фігури та підраховано її площу, яка дорівнювала 17246.94 (рис. 1.13).



Рис. 1.13. Фрагмент вікна QBasic, результат роботи програми завдання №1

Діюча програма знаходиться на CD-диску. Назва файлу – pr1.bas
^

РОЗДІЛ 2 РОЗВ'ЯЗАННЯ ПРОГРАМ З РОЗГАЛУДЖЕННОЮ СТРУКТУРОЮ МОВАМИ ПРОГРАМУВАННЯ TPASCAL ТА QBASIC


2.1 Завдання з розгалуженою структурою на мові програмування TPascal

Тема. Розв’язання завдання з розгалуженою структурою мовою програмування TPascal.

Мета: навчитися розробляти розгалужені алгоритми і записувати їх у вигляді PASCAL- програми; опанувати роботою в середовищі TPascal.

Завдання. Скласти алгоритм і програму визначення належності точки з довільними координатами (х, у) до заданої області, вихідні дані наведено у таблиці 2.1.

Таблиця 2.1

Фігура

Дані




R1= 12

R2= 6


Для успішного виконання завдання потрібно визначити можливість введення даних з клавіатури або самостійне генерування координат програмою. Найкращім способом вирішенням цього питання, реалізація у вигляді меню. Після цього введені з клавіатури або генеровані координати зберігаються у масиві. Наступним кроком є створення координатної плоскості з відображенням генерованих або введених з клавіатури точок, для подальшої перевірки розміщення їх в межах визначеної області та у координатній системі. Та побудова графічного відображення для подальшого заповнення таблиці результатами перевірки. На основному етапі визначається положення кожної точки відносно області та системи координат із винесенням результатів у таблицю з виведенням результату на екрані. Основний етап становить заповнення обрахованими даними таблиці за наступними критеріями:

1) Попадання точки в запропоновану область (попадає, не попадає, за областю, на границі), де в першу чергу ми перевіряємо: попадання на границю, якщо x2+y2=62 (перевіряємо внутрiшнiй круг фігури), якщо x2+y2=122, (x<0, y>0) або (x>0, y<0) або (y<0, x<0) (перевіряємо попадання точки на границю великого круга); розглянемо умову на попадання точки в фігуру, якщо x2+y2<62 (перевіряємо попадання точки в малому крузi), якщо виконується, тогда додаткова перевiрка x2+y2<122, (x<0, y>0) або (x>0, y<0) або (y<0, x<0) (перевіряємо попадання точки в частину великого круга);

2) Розміщення точки відносно координат (на осі х, або у , у центрі координатної плоскості та в координатній чверті,), де в першу чергу перевіряємо: попадання точки в центр фігури за умовою, x=0 i y=0, далі перевіряємо в якій чверті знаходиться точка, якщо x>0, y>0 (I чверть), якщо x<0, y>0 (ІІ чверть), якщо x<0, y<0 (ІІІ чверть), якщо x>0, y<0(ІV чверть), останньою є перевірка знаходження точки на осі х та у, якщо точка знаходиться на осі х, тоді y=0, x≠0 а якщо на осі у розглянемо наступну умову x=0, y≠0; згідно заданого алгоритму, якщо координати точок не задовольняють не одне з представлених умов, можемо зробити висновок, що дана точка знаходиться за областю даної фігури. Останнім кроком є виведення інформації на екран та відображення таблиці.

На рисунку 2.1 відображено блок-схему з розгалуженою структурою відносно завдання №2


початок




Вибір методу сортування




I<6

K=1



K=2



Ввід координат



I<6



Вхід у графічний режим




Малювання круга




Малюємо таблицю для виводу даних




Розміщення точок




I<6

I<6



1


Рис. 2.1. Блок-схема алгоритму завдання 2

Відповідно до блок-схеми розробили код пограми з розгалуженою структурою на мові програмування TPascal.
uses crt,graph; {відкриття модулів}

const

R1=12;

R2=6;

Var {обозначення змiенних}

t,w,i,driver, mode, pol, error,x,y,b,c: integer;

s1,s2:string;

begin

randomize;

clrscr;

writeln('vvodim x', x); {вхiднi данi}

readln(x);

writeln('vvodim y', y);

readln(y);

driver:=detect;

initgraph (driver, mode,''); {iнiцiалiцацiя графiчного режиму}

error:= graphresult;

if error<> 0 then writeln(grapherrormsg(error));

setbkcolor(0);

setcolor(1); {малювання самоi фiгури}

circle(415,240,r2*4);

setfillstyle(4,4);

floodfill(415,240,1);

line(415,240,535,240);

line(415,120,415,240);

setcolor(1);

arc(415,240,90,360,r1*4);

setfillstyle(4,4);

floodfill(400,200,1);

setcolor(1); {координатна площина}

outtextxy(320,39,'Koordenatna ploskost i figura');

line(260,240,580,240);

line(415,70,415,400) ;

line(410,80,415,70);

line(420,80,415,70);

line(570,235,580,240);

line(570,245,580,240);

outtextxy(580,245,'X');

outtextxy(400,70,'Y');

for i:=0 to 7 do begin

line(415,240-20*i,420,240-20*i);

line(415,240+20*i,420,240+20*i);

line(415-20*i,240,415-20*i,245);

line(415+20*i,240,415+20*i,245)

end;

outtextxy(90,5,'Tablica'); {таблиця с координатами}

for i:=0 to 1 do line(10,25+15*i,300,25+15*i);

for i:=0 to 2 do line(10+50*i,25,10+50*i,125);

line(210,25,210,125);

line(300,25,300,125);

line(10,125,300,125);

outtextxy(20,29,'X');

outtextxy(70,29,'Y');

outtextxy(120,29,'sost.tochek');

outtextxy(215,29,'poloshenie');

textcolor(1);

I:=0; {генерування координат точок}

while i<>5 do begin

x:=(-30+random(60));

y:=(-30+random(60));

setcolor(15);

if ((x=0) and (y=0)) then outtextxy(220,50+i*15,'v tochke 0') {перевiрка вимог}

else if ((x>0) and (y>0)) then outtextxy(220,50+i*15,'v 1 chetv')

else if ((x<0) and (y>0)) then outtextxy(220,50+i*15,'v 2 chetv')

else if ((x<0) and (y<0)) then outtextxy(220,50+i*15,'v 3 chetv')

else if ((x>0) and (y<

0)) then outtextxy(220,50+i*15,'v 4 chetv')

else if ((x=0) and (y<>0)) then outtextxy(220,50+i*15,'na osi Y')

else if ((y=0) and (x<>0)) then outtextxy(220,50+i*15,'na osi X');

if ((sqr(x)+sqr(y)<=r2*r2*4) or ( (sqr(x)+sqr(y)>=r2*r2*4) and (sqr(x)+sqr(y)<=r1*r1*4)

and ( ((x<0) and (y>0)) or ((x>0) and (y<0)) or ((y<0) and (x<0)) ) ) )

then begin {перевiрка на попадання}

setcolor(10);

circle(415+2*x,240-2*y,2);

setfillstyle(1,10);

floodfill(415+2*x,240-2*y,10) ;

b:=b+1;

outtextxy(120,50+i*15,'vxodit');

end

else begin

setcolor(5); {малювання точок}

circle(415+2*x,240-2*y,2);

setfillstyle(1,5);

floodfill(415+2*x,240-2*y,5);

outtextxy(120,50+i*15,'ne vxodit');

end;

inc(i);

str(x,s1);

str(y,s2);

setcolor(15);

outtextxy(12,35+i*15,s1);

outtextxy(65,35+i*15,s2);

end;

readln;

end. {кiнець роботи программи}
За наступним виконанням програмного коду на першому етапі потрібно визначити спосіб введення даних довільне генерування (рис. 2.2). Програма пропонує натиснути на клавіатурі відповідне значення.

Рис. 2.2. Фагмент вікна TPascal, меню вибору введення даних.
За тестуванням програми обиралося обидва пункти меню (меню 1)
та графічне відображення фігури та точок на координатні осі (рис. 2.3).

Надали можливості відобразити усі ситуації перевірки розміщення точок на координатній площині та положення відносно площі.

Результати з генерованими точками наведено на рисунках 2.3 в точках введених з клавіатури 2.4.


Рис. 2.3 Результати роботи програми завдання №2

При другому тестуванні програми вводимо координати з клавіатури (рис. 2.4).



Рис. 2.4. Результати роботи програми завдання введених
з клавіатури №2
При третьому тестування програми вводимо координати з клавіатури (рис. 2.5).



Рис. 2.5. Результати роботи програми завдання введених
з клавіатури №2

Діюча програма знаходиться на CD-диску. Назва файлу – pr2.pas

^ 2.2. Завдання з розгалуженою структурою на мові програмування QBasic

Згідно теми, мети, завдання, теоретичного опису виконання програми та блок-схеми не змінилися.

Тому відповідно блок-схеми, що відображена на рисунку 2.1 розроблено код програми на мові програмування QBasic.

^ RANDOMIZE TIMER

SCREEN 12 {графiчний режим}

k = 4

x0 = 415 {заповнення початкових данних}

y0 = 240

r2 = 6

r1 = 12

col = 9

kol = 5

COLOR col

LINE (433, 240)-(535, 240) {малювання фiгури}

LINE (415, 258)-(415, 360)

CIRCLE (x0, y0), r1 * k, 4

PAINT (x0, y0), 4

LINE (415, 240 - (r1 * k))-(415 + (r1 * k), 240), 0, BF

CIRCLE (415, 240), r2 * k, 4

^ PAINT (415, 240), 4

COLOR 1 {будуємо таблицю}

LINE (260, 240)-(580, 240)

LINE (415, 70)-(415, 400)

LINE (410, 80)-(415, 70)

LINE (420, 80)-(415, 70)

LINE (570, 235)-(580, 240)

LINE (570, 245)-(580, 240)

FOR i = 0 TO 7

LINE (415, 240 - 20 * i)-(420, 240 - 20 * i)

LINE (415, 240 + 20 * i)-(420, 240 + 20 * i)

LINE (415 - 20 * i, 240)-(415 - 20 * i, 245)

LINE (415 + 20 * i, 240)-(415 + 20 * i, 245)

NEXT i

max = 14

min = -14

vhodit = 0

nevhodit = 0

vnutr = 0

xout = 1

yout = 4

colorvhodit = 13

coloros = 11

colornevhodit = 14

naosiX = 0

colornaosiX = 10

FOR i = 1 TO kol {генеруєм координати точок}

xm = min + INT((max - min + 1) * RND)

ym = min + INT((max - min + 1) * RND)

x = xm

y = ym

sx$ = STR$(xm)

sy$ = STR$(ym)

WHILE LEN(sx$) <> 3

sx$ = " " + sx$

WEND

WHILE LEN(sy$) <> 3

sy$ = " " + sy$

WEND {перевiрка умов на попадiння}

IF ((x = 0) AND (y = 0)) THEN polosh$ = "v tochke 0"

IF ((x > 0) AND (y > 0)) THEN polosh$ = "1 chetv"

IF ((x < 0) AND (y > 0)) THEN polosh$ = "2 chetv"

IF ((x < 0) AND (y < 0)) THEN polosh$ = "3 chetv"

IF ((x > 0) AND (y < 0)) THEN polosh$ = "4 chetv"

IF ((x = 0) AND (y <> 0)) THEN polosh$ = "na osi Y"

IF ((y = 0) AND (x <> 0)) THEN polosh$ = "na osi X"

IF ((x ^ 2 + y ^ 2 <= r2 ^ 2) OR ((x ^ 2 + y ^ 2 >= r2 ^ 2) AND (x ^ 2 + y ^ 2 <= r1 ^ 2)) AND (((x < 0) AND (y > 0)) OR ((x > 0) AND (y < 0)) OR ((y < 0) AND (x < 0)))) THEN

vhodit = vhodit + 1

ans$ = "vhodit"

colort = colorvhodit

ELSE

nevhodit = nevhodit + 1

ans$ = "nevhodit"

colort = colornevhodit

END IF

IF ((x = 0) AND (y <> 0)) THEN {обозначення кольорiв для точек}

naosiX = naosiX + 1

colort = coloros

ans$ = "na granice"

END IF

IF ((y = 0) AND (x <> 0)) THEN

naosiY = naosiY + 1

colort = coloros

ans$ = "na granice"

END IF

CIRCLE (x0 + xm * k, y0 - ym * k), 2, colort {малювання точок}

PAINT (x0 + xm * k, y0 - ym * k), colort

LOCATE xout + i, yout

PRINT sx$

LOCATE xout + i, yout * 2

PRINT sy$

LOCATE xout + i, yout * 3

PRINT ans$

LOCATE xout + i, yout * 6

PRINT polosh$

NEXT i

COLOR 15

LOCATE xout, yout {статистика программи для таблицi}

PRINT " x"

LOCATE xout, yout * 2

PRINT " y"

LOCATE xout, yout * 3

PRINT "sostoyanie"

LOCATE xout, yout * 6

PRINT "pologenie"

COLOR colornevhodit

skol$ = STR$(nevhodit)

LOCATE kol + 3

PRINT " Kol-vo nevhodychih tochok - "; skol$ {додатковий вивiд iнформацii}

COLOR colorvhodit

skol$ = STR$(vhodit)

LOCATE kol + 4

PRINT " Kol-vo vhodyachih tochok- "; skol$

При запуску програми ми вибираємо яким чином проходити ввід даних з клавіатури або з генерованих (рис. 2.6).



Рис. 2.6. Фагмент вікна QBasic, меню вибору введення даних

Результати з генерованими точками наведено на рисунках 2.7, в точках введених з клавіатури 2.8.



Рис. 2.7. Результати роботи програми завдання №2

При другому тестуванні програми вводимо координати з клавіатури (рис. 2.8).



Рис. 2.8. Результати роботи програми завдання введених
з клавіатури №2

Діюча програма знаходиться на CD-диску. Назва файлу – pr2.bas
^

РОЗДІЛ 3 РОЗВ'ЯЗАННЯ ЗАВДАНЬ З ОБРОБКИ ДВОМІРНИХ МАСИВІВ МОВАМИ ПРОГРАМУВАННЯ TPASCAL ТА QBASIC




    1. Завдання з обробки двомірного масиву на мові TPascal

Тема. Розв’язання завдань з обробки двомірних масивів мовою програмування TPascal.

Мета. Навчитися розробляти блок-схеми і складати програми обробки двомірних масивів.

Завдання: Розробити алгоритм та програму до задачі. Вихідні дані наведені у таблиці 3.1.

Таблиця 3.1

Створити таблицю, надрукувати її, в якiй пiдрахувати кiлькiсть i суму вiд’ємних елементiв.

[-100;350]

На першому етапі виконання програми відображаємо масив заповнений випадковими числами; наступним кроком є побудова матриці, яка заповнена випадковими числами; останнім етапом є пiдрахування суми i кiлькостi елементiв, та вивід цих значень на екран.

На рисунку 3.1 відображено блок-схему з обробки двомірних масивів мовою програмування TPascal.


початок



min,max



Заполняем массив случайными числами



Вивід матриці



1



1



X<0



Додаємо елемент до змiнноi з сумою




Вивід суми на экран




кінець


Рис. 3.1. Блок-схема алгоритму завдання 3

Відповідно до блок-схеми розробили код пограми з обробки двомірних масивів на мові програмування TPascal.
uses crt;

var {визначаємо змiннi}

coun,i, j, s: integer;

tabl: array[1..20,1..8] of integer;

begin

randomize;

clrscr;

s:=0;

coun:=0;

for i:= 1 to 20 do begin {генерування элемнтiв матрицi}

for j:= 1 to 8 do begin

tabl[i][j] := -350+random(350+100+1);

write(tabl[i][j]:6);

if(tabl[i][j] < 0) then begin {лiчба суми там кiкостi}

s:= s + tabl[i][j];

coun := coun + 1;

end;

end;

writeln;

end;

writeln('number element ',coun); {вивiд результату}

writeln('summa elementov ', s);

readkey;

end. {завершення програми}

При тестуванні програми відображається матриця заповнена випадковими числами та результатом суми и кiлькостi элемнтiв (рис. 3.2).



Рис. 3.2. Результат роботи програми згідно завдання 3.

Діюча програма знаходиться на CD-диску. Назва файлу – prac3.рas

    1. Завдання з обробки двомірного масиву на мові QBasic

Згідно теми, мети, завдання, теоретичного опису виконання програми та блок-схеми не змінилися.

Тому відповідно блок-схеми, що відображена на рисунку 3.1 розроблено код програми на мові програмування QBasic.

^ CLS

RANDOMIZE TIMER


DIM tabl(20, 8) {створимо массив}

s = 0

coun = 0

FOR i = 1 TO 20 {генерацiя элемнтiв}

FOR j = 1 TO 8

tabl(i, j) = INT(-100 + RND * 350)

PRINT USING "#####"; tabl(i, j);

IF (tabl(i, j) < 0) THEN {лiчба суми там кiкостi}

s = s + tabl(i, j)

coun = coun + 1

END IF

NEXT

PRINT

NEXT

PRINT "suma: "; s {вивiд результату}

PRINT "elementov: "; coun
При тестуванні програми відображається матриця заповнена випадковими числами та заміна головної діагоналі на 7 (рис. 3.3).



Рис. 3.3. Результат роботи програми згідно завдання 3.

Діюча програма знаходиться на CD-диску. Назва файлу – prac3.bas

ВИСНОВКИ


У ході проходження практики було виконано 6 завдань на мовах програмування TPascal та QBasic, зроблені 6 завдань, проаналізовано 7 літературних джерел.

За виконання завдань було отримане наступні висновки:

  1. При виконанні завдання зіткнулися з тим що у мові програмування TPascal не можливо виводити змінні у графічномурежимі, якщо вони не текстового типу, на відміну від QBasic.

  2. При виконанні другого завдання зіткнулися з тим що у мові програмування TPascal не можливо виводити тексту графічному режимі, на відміну від QBasic.

  3. При виконанні 3 завдання відмінностей не було.

  4. При виконанні 4 завдання відмінностей не було.

При виконанні завдань зіткнулися з тим, що у мові програмування TPascal не можливо виводити змінні, якщо вони не текстового типу, на відміну від QBasic.

І дійшли висновку, що кожна із мов є унікальною. Вони мають свої позитивні та негативні сторони. Кожен фаховий програміст повинен сам обирати зручну йому для роботи мову.

QBasic – не дуже зручний у налагодженні програми, проте легкий у створенні «швидких програм». Ця мова є дуже спрощеною, і саме тому його вивчають першим, як базові знання про алгоритмічні мови програмування.

TPascal, на відміну від Basic, дуже зручний у плані налагодження програм.

Доречною при роботі стає велика бібліотека функцій, за допомогою котрих код програми можна зробити набагато менше, ніж це дозволяє Basic.
^

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ


1. Графика в паскале 10.04.12. [Електронний ресурс] – Режим доступу:

http://rsc-team.ru/index.pl?rzd=2&group=lection&ind=21. – Назва с титулу екрана.

2. Использование графики и звука в языке Turbo Pascal 15.04.12. [Електронний ресурс] – Режим доступу: http://book.kbsu.ru/practice/ 2_8/2_8_8.html . – Назва с титулу екрана.

3. Культин Н. Turbo Pascal в задачах и примерах / Н. Культин – СПб. : БХВ-Петербург, 2006. – 256с.

4. Оператор while 10.04.12. [Електронний ресурс] – Режим доступу: http://hosting.ulstu.ru/ip/whileoper_p.html. . – Назва с титулу екрана.

5. Потопахин В.В. Turbo Pascal. Решение сложных задач /
В.В. Потопахин – СПб. : БХВ-Петербург, 2006. – 208с.

6. Процедуры и функции 12.04.12. [Електронний ресурс] – Режим доступу: http://pascal.guti.ru/procedure.html. – Назва с титулу екрана.

7. Фаронов В.В. Turbo Pascal 7.0. [текст] Начальный курс / В.В. Фаронов – М. : Нолидж, 2000. – 576с.