Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zvit_______.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
686.59 Кб
Скачать

Текст програми

Program a7;

Label 1;

TYPE vershuna=1..9;

vershunu=set of vershuna;

rebro=10..99;

rebra=set of 10..99;

VAR v1,v2:vershuna; r3:vershunu;

r:rebro; r1,r2:rebra;

ff:text; i,k,d,p,a:longint; n,t,l,m,b:integer;

Begin

assign(ff,'d:\graf.txt');

reset(ff);

r1:=[];

while not eof(ff) do begin

read(ff,r);

r1:=r1+[r];

end;

close(ff);

writeln('vvedit dvi rizni vershunu');

readln(v1);

readln(v2);

writeln(‘vsi shliahu mig dvoma vershunamu’);

i:=11;

while i<=(v1*100000000+9876543+v2) do

Begin

r2:=r1;

k:=i;

p:=i;

n:=0; r3:=[];

while p>0 do

Begin

b:=p mod 10;

if (b in r3) then goto 1

else r3:=r3+[b];

p:=p div 10;

n:=n+1; {n-кількість позицій i}

end;

d:=1; {перша вершина шляху v1}

for m:=1 to n-1 do

d:=d*10;

if (i div d)<>v1 then goto 1;

{нема вершин, що повторюються}

l:=n;

while k>10 do

begin

d:=1;

for t:=1 to l-2 do

d:=d*10;

a:=k div d;

if (a in r2) then begin

if ((a mod 10)=v2)and((i mod 10)=v2) then begin writeln(i);

end;

r2:=r2-[a];

end

else break;

k:=k-((k div (d*10))*d*10);

l:=l-1;

end;

1:i:=i+1;

end;

readln;

end.

Апробація

Нехай у файлі задані такі ребра: 13 24 32 45 14

1) vvedit dvi rizni vershunu

1

5

vsi shliahu mig dvoma vershunamu

145

13245

Результат правильний

2) vvedit dvi rizni vershunu

1

3

vsi shliahu mig dvoma vershunamu

13

Завдання № 8

Тема завдання: Мова Pascal, робота з файлами

Постановка задачі

Задано текстовий файл, який містить символьну інформацію. Поміняти в ньому порядок входження кожної стрічки на протилежний. Додаткових файлів не використовувати.

Опис алгоритму

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

Текст програми

program p8;

uses crt;

var f:text; s:string; i:integer;

begin

assign(f,'abba.txt');

reset(f);

read(f,s);

for i:=length(s) downto 1 do

write(s[i]);

close(f);

end.

Апробація

  1. baba nan ahh joy

Result: yoj hha nan abab

Результат правильний.

  1. what r u doing?

Result: ?gniod u r what

Результат правильний.

Завдання № 9

Тема завдання: Мова Pascal, робота з графікою.

Постановка задачі

У графічному режимі намалювати трикутник. Інформацію про координати трикутника та колір фону – вводити з клавіатури.

Опис алгоритму

Підключаємо модуль GraphAbc. Після цього з клавіатури вводимо координати вершин та колір фону. Потім викликаючи спеціальні команди(moveto,line,lineto) ми малюємо трикутник. Щоб трикутник зафарбувався у відповідний колір використовуємо команду floodfill.

Текст програми

program p9;

uses GraphAbc;

var x1,x2,x3,y1,y2,y3,x4,y4:integer;

begin

read(x1,y1,x2,y2,x3,y3);

setpencolor(clred);

line(x1,y1,x2,y2);

line(x2,y2,x3,y3);

line(x3,y3,x1,y1);

x4:=round((x1+x2+x3)/3);

y4:=round((y1+y2+y3)/3);

floodfill(x4,y4,clblue);

end.

Апробація

100 100 200 200 100 300 , blue

Завдання № 10

Тема завдання: Мова ObjectPascal, початки роботи в Delphi.

Постановка задачі

Розмістити на формі компоненти Button, CheckBox, RadioGroup, ComboBox, та Memo. Memo поле розмістити зверху форми, а решта компонент – внизу. Перемикаючи CheckBox робити доступною або ні компоненту Memo. Вибираючи варіанти в RadioGroup дозволяти або ні додавання нових записів до

ComboBox. Вибираючи варіанти у ComboBox забезпечити зміну висоти тексту компоненти Memo. При зміні розмірів форми Memo поле та інші компоненти повинні зберігати свою позицію відносно форми. Для завершення роботи програми реалізувати кнопку Exit.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]