Файл: Дипломна робота.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.11.2019

Просмотров: 1091

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




ДОДАТКИ

Додаток А

Авторське свідоцтво на навчальну комп’ютерну програму




Додаток Б

Текст файлу тесту “Алгоритмізація та програмування”

Зараз Вам будуть запропоновані запитання з теми “Алгоритмізація та програмування”.

.

Ви знаєте тему на високому рівні.

27

Ви знаєте тему на достатньому рівні!

18

Ви знаєте тему на середньому рівні!

9

Ви знаєте тему на початковому рівні!

0

.

Алгоритм - це:

.

система команд виконавця

,0

показник степеня

,0

скінчена послідовність команд, формальне виконання яких дозволяє за деякий час отримати розв'язок

,1

ритм у музиці

.0

Будь-який набір команд є алгоритмом:

.

так

,0

ні

,1

важко відповісти

,0

не знаю

.1

Для перекладу алгоритму на мову, зрозумілу комп’ютеру, використовуються:

.

перекладачі-професіонали

,0

транслятори

,1

графічні пристрої

,0

словники з англійської технічної мови

.0

Графічна схема – це спосіб подання алгоритмів.

.

так

,1

ні

,0

важко відповісти

,0

не знаю

.0

У блок-схемах початок і кінець алгоритму позначається:

.

прямокутником

,0

ромбом

,0

паралелограмом

,0

овалом

.1

У блок-схемах умова позначається:

.

прямокутником

,0

ромбом

,1

паралелограмом

,0

овалом

.0

У блок-схемах обчислення позначаються:

.

прямокутником

,1

ромбом

,0

паралелограмом

,0

овалом

.0

У блок-схемах введення та виведення даних позначається:

.

прямокутником

,0

ромбом

,0

паралелограмом

,1

овалом

.0

Величина – це:

.

буква на папері

,0

щось дуже велике

,0

окремий інформаційний об'єкт, з яким працює комп'ютер

,1

певний обсяг інформації на диску

.0

Однією з характеристик величини є:

.

колір

,0

розширення

,0

система числення

,0

тип

.1

Величина А має значення 22, вкажіть її тип:

.

логічний

,0

текстовий

,0

цілий

,1

дійсний

.0

Величина С має значення 56,7, вкажіть її тип:

.

логічний

,0

текстовий

,0

дійсний

,1

цілий

.0

Величина А має значення 'число', вкажіть її тип:

.

логічний

,0

текстовий

,1

числовий

,0

цілий

.0

Величина В має значення '3,14', вкажіть її тип:

.

логічний

,0

текстовий

,1

числовий

,0

цілий

.0

Після виконання команди присвоєння А:=3+В величина А одержала значення 9, яке значення має величина В?

.

100

,0

9

,0

6

,1

0

.0

Запис 1.01200Е2 означає:

.

1.012*2

,0

1.012

,0

0.01012

,0

101.2

.1

Чи правильно, що на мові Паскаль:

.

ділення позначається ":"

,0

множення позначається "*"

,1

множення дійсних чисел означає операція "div"

,0

залишок від ділення означає операція "min"

.0

Abs(x) функція для знаходження:

.

кореня

,0

синуса

,0

косинуса

,0

модуля

.1

Sqrt(x) – функція для знаходження:

.

кореня

,1

синуса

,0

косинуса

,0

модуля

.0

Sqr(x) – функція для знаходження:

.

кореня

,0

синуса

,0

косинуса

,0

квадрата

.1

Ln(x) функція для знаходження:

.

кореня

,0

синуса

,0

косинуса

,0

логарифма натурального

.1

Початок програмного блоку позначається словом:

.

program

,0

uses

,0

begin

,1

var

.0

Кінець програми позначається словом:

.

program

,0

uses

,0

var

,0

end

.1

Опису змінних передує слово:

.

program

,0

uses

,0

begin

,0

var

.1

Тіло циклу необхідно записати між словами "begin" i "end", якщо:

.

програма не має кінця

,0

завжди

,0

використовується цикл з передумовою чи післяумовою

,0

тіло циклу складається не з однієї команди (для циклів з передумовою та параметром)


.1

Якщо в програмі необхідно виконати один з двох наборів команд, то використовується структура:

.

циклу

,0

лінійна

,0

розгалуження

,1

множення

.0

Якщо в програмі необхідно виконати набір команд кілька разів, то використовується структура:

.

циклу

,1

лінійна

,0

розгалуження

,0

ділення

.0

Умовний оператор описується словами:

.

if, then, else

,1

for, to, do

,0

while, do

,0

repeat, until

.0

Оператор циклу з передумовою описується словами:

.

if, then, else

,0

for, to, do

,0

while, do

,1

repeat, until

.0

Оператор циклу з післяумовою описується словами:

.

if, then, else

,0

for, to, do

,0

while, do

,0

repeat, until

.1

Оператор циклу з параметром описується словами:

.

if, then, else

,0

for, to, do

,1

while, do

,0

repeat, until

.0

Алгоритм якого типу записано на алгоритмічній мові?

програма множення;

змінні а,б,х: цілі;

початок

ввести a, b;

якщо a>=b

то x:=a*b

інакше x:=a*b;

вивести х;

кінець

.

циклічний

,0

розгалуження

,1

допоміжний

,0

лінійний

.0

Алгоритм якого типу записаний на алгоритмічній мові?

програма сума;

змінні a, b, S: дійсні;

початок

ввести a, b;

S := a+b;

вивести S;

кінець

.

циклічний

,0

розгалуження

,0

допоміжний

,0

лінійний

.1

Після виконання наступного алгоритму

х := 7;

y:=12+5;

y:=y+y-x;

значення y буде:

.

27

,1

89

,0

94

,0

47

.0

Якщо виконати

x:=2;

y:=x+3;

x:=x+1;

y:=x+3y, то значення у буде:

.

0

,0

-10

,0

18

,1

6,5

.0

Не є властивістю алгоритму:

.

універсальність

,1

масовість

,0

результативність

,0

дискретність

.0




Додаток В.

Текст програми тестування

unit test;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, ExtCtrls

,jpeg;

type

TForm1 = class(TForm)

Label5: TLabel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

Image1: TImage;

Button1: TButton;

RadioButton5: TRadioButton;

Panel1: TPanel;

RadioButton4: TRadioButton;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure RadioButtonClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

const

N_LEV=4;

N_ANS=4;

var

f,z:TextFile;

fn,fz:string;

level:array[1..N_LEV] of integer;

mes:array[1..N_LEV] of string;

score:array[1..N_ANS] of integer;

summa:longint;

vopros:integer;

n_otv:integer;

otv:integer;

procedure info(var f:TextFile;l:TLabel);

var

s,buf:string;

begin

buf:='';

repeat

readln(f,s);

if s[1] <> '.'

then buf := buf + s+ ' ';

until s[1] ='.';

l.caption:=buf;

end;

Procedure GetLevel(var f:TextFile);

var

i:integer;

buf:string;

begin

i:=1;

repeat

readln(f,buf);

if buf[1] <> '.' then begin

mes[i]:=buf;

readln(f,level[i]);

i:=i+1;

end;

until buf[1]='.';

end;

Procedure ScaleImage(Image1:TImage);

var

w,h:integer;

scaleX:real;

scaleY:real;

scale:real;

begin

w:=Form1.ClientWidth-10;

h:=Form1.ClientHeight

- Form1.Panel1.Height -5

- Form1.Label5.Top

- Form1.Label5.Height - 5;

if Form1.Label1.Caption <> ''

then h:=h-Form1.Label1.Height-5;

if Form1.Label2.Caption <> ''

then h:=h-Form1.Label2.Height-5;

if Form1.Label3.Caption <> ''

then h:=h-Form1.Label3.Height-5;

if Form1.Label4.Caption <> ''

then h:=h-Form1.Label4.Height-5;

if w>Image1.Picture.Bitmap.Width

then scaleX:=1

else scaleX:=w/Image1.Picture.Bitmap.Width;

if h>Image1.Picture.Bitmap.Height

then scaleY:=1

else scaleY:=h/Image1.Picture.Bitmap.Height;

if ScaleY<ScaleX

then scale:=scaleY

else scale:=scaleX;

Image1.Top:=Form1.Label5.Top+Form1.Label5.Height+5;

Image1.Width:=Round(Image1.Picture.Bitmap.Width*scale);

Image1.Height:=Round(Image1.Picture.Bitmap.Height*scale);

end;

Procedure VoprosToScr(var f:TextFile;frm:TForm1;var vopros:integer);

var

i:integer;

code:integer;

s,buf:string;

ifn:string;

begin

vopros:=vopros+1;

str(vopros:3,s);

frm.caption:='Запитання №' + s;

buf:='';

repeat

readln(f,s);

if (s[1] <> '.') and (s[1] <> '\')

then buf:=buf+s+' ';

until (s[1] ='.') or (s[1] ='\');

frm.Label5.caption:=buf;

if s[1] <> '\'

then Form1.Image1.Tag:=0

else

begin

Form1.Image1.Tag:=1;

ifn:=copy(s,2,length(s));

try

Form1.Image1.Picture.LoadFromFile(ifn);

except

on E:EFOpenError do

frm.tag:=0;

end; // try

end;

i:=1;

repeat

buf:='';

repeat

readln(f,s);

if (s[1]<>'.') and (s[1] <> ',')

then buf:=buf+s+' ';

until (s[1]=',')or(s[1]='.');

val(s[2],score[i],code);

case i of

1: frm.Label1.caption:=buf;

2: frm.Label2.caption:=buf;

3: frm.Label3.caption:=buf;

4: frm.Label4.caption:=buf;

end;

i:=i+1;

until s[1]='.';

if Form1.Image1.Tag =1

then begin

ScaleImage(Form1.Image1);

Form1.Image1.Visible:=TRUE;

end;

if Form1.Label1.Caption <> ''

then begin

if Form1.Image1.Tag =1

then frm.Label1.top:=frm.Image1.Top+frm.Image1.Height+5

else frm.Label1.top:=frm.Label5.Top+frm.Label5.Height+5;

frm.RadioButton1.top:=frm.Label1.top;

frm.Label1.visible:=TRUE;

frm.RadioButton1.visible:=TRUE;

end;

if Form1.Label2.Caption <> ''

then begin

frm.Label2.top:=frm.Label1.top+ frm.Label1.height+5;

frm.RadioButton2.top:=frm.Label2.top;

frm.Label2.visible:=TRUE;

frm.RadioButton2.visible:=TRUE;

end;

if Form1.Label3.Caption <> ''

then begin

frm.Label3.top:=frm.Label2.top+ frm.Label2.height+5;

frm.RadioButton3.top:=frm.Label3.top;

frm.Label3.visible:=TRUE;

frm.RadioButton3.visible:=TRUE;

end;

if Form1.Label4.Caption <> ''

then begin

frm.Label4.top:=frm.Label3.top+ frm.Label3.height+5;

frm.RadioButton4.top:=frm.Label4.top;

frm.Label4.visible:=TRUE;

frm.RadioButton4.visible:=TRUE;

end;

end;

Procedure ResetForm(frm:TForm1);

begin

frm.Label1.Visible:=FALSE;

frm.Label1.caption:='';

frm.Label1.width:=frm.ClientWidth-frm.Label1.left-5;