Автор работы: Пользователь скрыл имя, 22 Марта 2012 в 23:50, доклад
В виконанні даної роботи для написання програм використовується дві алгоритмічні мови : Qbasic та Turbo Pascal.
Turbo Pascal вигідно відрізняється від інших алгоритмічних мов тим, що побудована на невеликій кількості базових понять, має простий синтаксис і здійснює транслювання програми в машинні коди відносно простим компілятором. Більш ефективний компілятор і редактор надають програмісту можливість проектувати складні програмні проекти.
1.ВСТУП…………………………………………………………………………...3
2.Індивідуальні завдання………………………………………………………....4
3. ІНДИВІДУАЛЬНЕ ЗАВДАННЯ №1………………………………………....6
3.1.Блок-схема алгоритму розв'язування задачі №1……………………….6
3.2.Текст Basic- програми розв'язування задачі №1………………………… ..8
4. ІНДИВІДУАЛЬНЕ ЗАВДАННЯ №2………………………………………… 12
4.1.Текст Pascal –програми розв'язання задачі №2………………………… ..12
5.ІНДИВІДУАЛЬНЕ ЗАВДАННЯ №3…………………………………………...14
5.1. Текст Pascal –програми розв'язання задачі №3………………………….14
6. Приклади результату роботи программ………………………………………..20
6.1. Приклад результату роботи програми задачі №1…………………………20
6.2. Приклад результату роботи програми задачі №2………………………. ..22
6.3. Приклад результату роботи програми задачі №3…………………………23
ВИСНОВКИ………………………………………………………………………...24
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ……………………………………..25
Мелітопольський державний педагогічний університет
Кафедра інформатики та кібернетики
Оцінка ____________
Підпис викладача_________
ЗВІТ ПО ОБЧИСЛЮВАЛЬНІЙ ПРАКТИЦІ
Мелітополь, 2010
ЗМІСТ
1.ВСТУП……………………………………………………………
2.Індивідуальні завдання……………………………………………………….
3. ІНДИВІДУАЛЬНЕ ЗАВДАННЯ №1………………………………………....6
3.1.Блок-схема алгоритму розв'язування задачі №1……………………….6
3.2.Текст Basic- програми розв'язування задачі №1………………………… ..8
4. ІНДИВІДУАЛЬНЕ ЗАВДАННЯ №2………………………………………… 12
4.1.Текст Pascal –програми розв'язання задачі №2………………………… ..12
5.ІНДИВІДУАЛЬНЕ ЗАВДАННЯ №3…………………………………………...14
5.1. Текст Pascal –програми розв'язання задачі №3………………………….14
6. Приклади результату роботи программ………………………………………..20
6.1. Приклад результату роботи програми задачі №1…………………………20
6.2. Приклад результату роботи програми задачі №2………………………. ..22
6.3. Приклад результату роботи програми задачі №3…………………………23
ВИСНОВКИ…………………………………………………………
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ……………………………………..25
ВСТУП
В виконанні даної роботи для написання програм використовується дві алгоритмічні мови : Qbasic та Turbo Pascal.
Turbo Pascal вигідно відрізняється від інших алгоритмічних мов тим, що побудована на невеликій кількості базових понять, має простий синтаксис і здійснює транслювання програми в машинні коди відносно простим компілятором. Більш ефективний компілятор і редактор надають програмісту можливість проектувати складні програмні проекти. Робота в середовищі мови Turbo Pascal забезпечується набором модулів, що містять бібліотеки стандартних модулів і функцій.
QBasic –– це проста мова програмування, розроблена в для використання новачками в програмуванні. Він був розроблений як найпростіша мова для безпосереднього спілкування людини з обчислювальною машиною. Тому спочатку робота велася в інтерактивному режимі з використанням інтерпретаторів. В теперешній час для цієї мови є також і компілятори.
Відповідно до концепцій, які закладені в Basic, ця мова в змісті строгості й стрункості є антиподом мови Turbo Pascal.
ІНДИВІДУАЛЬНІ ЗАВДАННЯ
Варіант № 3
Завдання №1. Створити текстовий файл зі вхідними даними і побудувати діаграму, що відображає співвідношення значень згідно із завданням варіанту.
Стовпчикова діаграма: Вивести назву діаграми. Накреслити вертикальну вісь координат, нанести на неї шкалу ділень. Пронумерувати стовпчики та вказати об’єкти, які характеризуються відповідними стовпчиками. Стовпчики повинні бути різнокольоровими і можуть бути розташовані (за бажанням користувача) в порядку зростання або зменшення значень величини, які характеризуються данною діаграмою.
Технічне завдання : Створити текстовий файл з вихідними даними (формат файлу розробити самостійно), організувати зчитування даних з файлу у внутрішні масиви для подальшої обробки. (5)
Вивести та гарно оформити назву діаграми. (1)
Організувати можливість сортування даних за зростанням та за зменшенням, та режим показу без сортування. (5)
Передбачити візуальні компоненти (відповідність стовпчиків об’єктам, вісь координат , відсоткове співвідношення).(5)
Вхідні дані:
«Найвищі гори світу»: Джомолунгма(8848м), Аконкагуа(6960м), Мак-Кінлі(6194м), Кіліманджаро(5895м), Монблан(4807).
Варіант №2
Завдання №2 Розкрити алгоритм і скласти програми табулювання функції з визначенням її існування. На екрані відобразити таблицю значень аргументів та функції і графічне вікно, що демонструє графік функції.
Технічне завдання
Реалізувати побудову графіку функції,що задана (10).
Передбачити побудову координатних вісей.(7)
Передбачити показ графіка і таблиці значень одночасно.(8)
Функція: X[-10;10] A=12
Варіант №6
Завдання № 3. Скласти програми визначення місцезнаходженя п’ятнадцяти точок, що задані випадковими координатами На екрані відобразити таблицю з координатами точок і графічне вікно, що за бажанням користувача демонструє малюнок і точки або діаграму розташування точок (у заштрихованій області, на зовнішній чи внутрішній межі, за зовнішньою межею чи у внутрішній незаштрихованій області).
Технічні завдання
Реалізувати побудову області, що задана. На екрані відобразити таблицю з координатами точок і графічне вікно, що демонструє малюнок і розташування точок ( малюнок повинен містить вісі координат, та бути масштабованим на частину екрану).(10)
Вивести діаграму розташування точок.(7)
Перебачити показ діаграми і легенди одночасно.(8)
R1=30;
R2=15;
X=[-36;34];
Y=[-31;33];
3.2.Текст Paskal- програми розв'язування задачі №1
uses crt,graph;
const n=50;
var gd,gm,i,intt,code,stAng,a:
count:Real;
lenMas:Word;
T:string;
M:String;
sek:array[1..n] of String;
vol:array[1..n] of integer;
f:text;
Begin
{=-=-=-=-=}
assign(f,'fileN.txt');
reset(f);
while (not eof(f)) do begin
inc(i);
Readln(f,sek[i]); {nazvaniya sekciy}
readln(f,M);
val(M,vol[i],code); {perevod stroki v chisla}
{if (code=0) then vol[i]:=intt; {chislovoy masiv}
end;
close(f);
lenMas:=i;
for i:=0 to lenMas do
count:=count+vol[i];
gd:=Detect;
InitGraph(gd,gm,'');
if (count<>0)then count:=360/count;
For i:=1 to lenMas do
Begin
T:=sek[i]+' -'+m+'%';
setfillstyle(1,i);
pieslice(320,240,stAng,round(
{bar(400,80+i*15,410,90+i*15); }
str((count*vol[i])/3.6:2:1,M);
outtextXY(round(260+230*cos((
outtextXY(round(300+240*cos((
{ outtextXY(415,82+i*15,sek[i]+' -'+m+'M'); }
stAng:=round(stAng+count*vol[
End;
setcolor(7);
circle(320,240,150);
readkey;
CloseGraph;
End.
4.ІНДИВІДУАЛЬНЕ ЗАВДАННЯ №2
4.1.Текст Basik-програми розв’язування задачі №2
CLS
DIM x1(21), y1(21)
a = 12
i = 1
FOR x = -10 TO 10
c = ABS(a * x * (1 + COS(2 * x)))
d = LOG((a - x) * (1 + COS(x)))
IF COS(x) = 1
THEN PRINT "resheniy net"
ELSE
y1(i) = x ^ 2 * ((SQR(c)) / d)
x1(i) = x
PRINT x, y1(i)
END IF
i = i + 1
NEXT x
PRINT "„«п ўл室 ¦¬ЁвҐ Esc..."
DO
LOOP UNTIL INKEY$ = CHR$(27) '27 - нв® ASCII Є®¤ ¤«п Esc.
CLS
SCREEN (12)
LOCATE 2, 43
PRINT "y"
LOCATE 16, 80
PRINT "x"
LOCATE 16, 40
PRINT "0"
LOCATE 17, 43
PRINT "1"
LOCATE 17, 46
PRINT "2"
LOCATE 17, 48
PRINT "3"
LOCATE 17, 50
PRINT "4"
LOCATE 17, 43
PRINT "1"
LOCATE 17, 53
PRINT "5"
LOCATE 17, 56
PRINT "6"
LOCATE 17, 58
PRINT "7"
LOCATE 17, 60
PRINT "8"
LOCATE 17, 63
PRINT "9"
LOCATE 17, 65
PRINT "10"
LOCATE 17, 37
PRINT "-1"
LOCATE 17, 34
PRINT "-2"
LOCATE 17, 32
PRINT "-3"
LOCATE 17, 29
PRINT "-4"
LOCATE 17, 27
PRINT "-5"
LOCATE 17, 24
PRINT "-5"
LOCATE 17, 22
PRINT "-6"
LOCATE 17, 19
PRINT "-7"
LOCATE 17, 17
PRINT "-8"
LOCATE 17, 14
PRINT "-9"
LOCATE 17, 11
PRINT "-10"
LOCATE 3, 43
PRINT "1000"
LOCATE 6, 43
PRINT "800"
LOCATE 8, 43
PRINT "600"
LOCATE 10, 43
PRINT "400"
LOCATE 13, 43
PRINT "200"
LOCATE 18, 43
PRINT "-200"
LOCATE 21, 43
PRINT "-400"
LOCATE 23, 43
PRINT "-600"
LOCATE 26, 43
PRINT "-800"
LOCATE 17, 43
PRINT "1"
LINE (320, 10)-(320, 460), 15
LINE (10, 240)-(630, 240), 15
LINE (320, 10)-(310, 20), 15
LINE (320, 10)-(330, 20), 15
LINE (630, 240)-(620, 230), 15
LINE (630, 240)-(620, 250), 15
FOR i = 1 TO 29
LINE (310, i * 20)-(330, i * 20)
NEXT i
FOR j = 1 TO 40
LINE (j * 20, 230)-(j * 20, 250)
NEXT j
t = 9
FOR i = 1 TO 21
CIRCLE (320 + x1(i) * 20, 240 - y1(i) / t), 2, 4
NEXT i
FOR i = 1 TO 20
LINE (320 + x1(i) * 20, 240 - y1(i) / t)-(320 + x1(i + 1) * 20, 240 - y1(i + 1) / t), 4
NEXT i
5.ІНДИВІДУАЛЬНЕ ЗАВДАННЯ №3
5.1. Текст Pascal –програми розв'язання задачі №3
uses graph,crt;
type
ms=array[1..15,1..3] of integer;
tock=record
xy:integer;
pop:integer;
end;
const
mg=3;
x0=230;
y0=250;
r=15;
r1=30;
var
t:array[1..5,1..2] of real;
u,i,vn,nl,nl2,ng,zg,dr,md,k,x,
t1,w:real;
vn1,nl1,nl3,ng1,zg1,x1,y1,x2,
toc:tock;
mas:ms;
procedure tocka(x1,y1,n:integer);
begin
putpixel(x0+x1*mg,y0-y1*mg,n);
setcolor(n);
circle(x0+x*mg,y0-y*mg,2);
end;
function gr(a:real):string;
var s,n:real; m:string;
begin
n:=(a/360*15);
s:=(n/15*100);
str(s:2:1,m);
gr:=m;
end;
procedure tab(mas1:ms);
begin
setcolor(7);
for i:=0 to 16 do
line(400,5+15*i,630,5+15*i);
for i:=0 to 2 do
line (400+50*i,5,400+50*i,245);
line(630,5,630,245);
outtextxy(420,10,'x');
outtextxy(470,10,'y');
outtextxy(510,10,'Sostoyanie')
for i:=1 to 15 do
begin
str(mas1[i,1],x2);
str(mas1[i,2],y2);
setcolor(mas1[i,3]);
outtextxy(420,10+i*15,x2);
outtextxy(470,10+i*15,y2);
if mas1[i,3]=9 then begin
outtextxy(510,10+i*15,'vnutri'
end;
if mas1[i,3]=2 then begin
outtextxy(510,10+i*15,'na vnesh linie');
end;
if mas1[i,3]=3 then begin
outtextxy(510,10+i*15,'na grafiku');
end;
if mas1[i,3]=4 then begin
outtextxy(510,10+i*15,'za graficom');
end;
if mas1[i,3]=10 then begin
outtextxy(510,10+i*15,'na vnutr linie');
end;
end;
end;
begin
randomize;
dr:=detect;
initgraph(dr,md,'');
setcolor(3);
circle(x0,y0,r1*mg);
circle(x0+r*mg,y0,r*mg);
setfillstyle(3,7);
floodfill(x0-5,y0,3);
setcolor(15);
line (x0-55*mg,y0,x0+55*mg,y0);
outtextxy(x0+55*mg,y0+5+mg,'x'
line (x0,y0-55*mg,x0,y0+55*mg);
outtextxy(x0+5*mg,y0-55*mg,'y'
line(x0+55*mg,y0,x0+55*mg-3*
line(x0+55*mg,y0,x0+55*mg-3*
line(x0,y0-55*mg,x0-3*mg,y0-
line(x0,y0-55*mg,x0+3*mg,y0-
for i:=0 to 8 do begin
line(x0-40*mg+10*i*mg,y0+3*mg,
line(x0+3*mg,y0-40*mg+10*i*mg,
end;
setcolor(2);
for i:=1 to 15 do begin
mas[i,1]:=-36+random(71);
mas[i,2]:=-31+random(65);
x:=mas[i,1];
y:=mas[i,2];
j:=(x*x)+(y*y);
j1:=(x-r)*(x-r)+(y*y);
if ( ((y<r)and(y>-r))and(x>0)and(x<
begin
mas[i,3]:=9; {tocka leshyt wnutri}
vn:=vn+1;
end
else if j=(sqr(r1)+10) then
begin
mas[i,3]:=2; {tocka leshyt na vneshnej granice}
nl:=nl+1;
end
else if j1=(sqr(r)+5) then begin
mas[i,3]:=10; {tocka leshyt na vnutrennej granice}
nl2:=nl2+1;
end
else if (j>sqr(r1)) then begin
mas[i,3]:=4; {tocka leshyt za grafikom}
zg:=zg+1;
end
else begin
mas[i,3]:=3; {tocka leshyt na shtrihovke}
ng:=ng+1;
end;
tocka(x,y,mas[i,3]);
end;
tab(mas);
{-------------}
str(vn,vn1);
str(nl,nl1);
str(ng,ng1);
str(zg,zg1);
readln;
repeat
cleardevice;
setcolor(15);
outtextxy(160,10,'Wywesti krugowuju diagramu?(Y-yes,N-no)');
readln(z);
until (z='Y')or(z='y')or(z='N')or(z=
if (z='Y')or(z='y') then begin
cleardevice;
tab(mas);
setcolor(15);
setfillstyle(1,9);
bar(400,270,410,280);
outtextxy(420,270,'- tocki vnutri grafika');
setfillstyle(1,2);
bar(400,295,410,305);
outtextxy(420,295,'- tocki na vnesh granice');
setfillstyle(1,10);
bar(400,320,410,330);
outtextxy(420,320,'- tocki na vnutr granice');
setfillstyle(1,3);
bar(400,345,410,355);
outtextxy(420,345,'- tocki na grafiku');
setfillstyle(1,4);
bar(400,370,410,380);
outtextxy(420,370,'- tocki za grafikom');
t[1,1]:=(vn*360)/15;
t[1,2]:=9;
t[2,1]:=(nl*360)/15;
t[2,2]:=2;
t[3,1]:=(nl2*360)/15;
t[3,2]:=10;
t[4,1]:=(ng*360)/15;
t[4,2]:=3;
t[5,1]:=(zg*360)/15;
t[5,2]:=4;
setcolor(7);
t1:=0;
l:=9;
for i:=1 to 5 do begin
t1:= t1+t[i,1];
setfillstyle(1,round(t[i,2]));
if t[i,1]>1 then
pieslice(x0,y0,round(t1-t[i,1]
x:=x0-20+round((100 +20)* cos((t1-(t[i,1]/2))*pi/180));
y:=y0-round((100 +20)* sin((t1-(t[i,1]/2))*pi/180));
w:=t[i,1];
if w<> 0 then
outtextxy(x,y,gr(w)+'%');
end;
readkey;
end;
end.
6.Приклади результату роботи программ
6.1. Приклад результату роботи програми задачі №1