- •Про навчальну практику
- •Завдання № 1
- •Постановка задачі
- •Текст програми
- •Апробація
- •Текст програми
- •Апробація
- •Апробація
- •Завдання № 5
- •Постановка задачі
- •Опис алгоритму
- •Текст програми
- •Текст програми
- •Опис алгоритму
- •Текст програми
- •Апробація
- •Завдання № 11
- •Постановка задачі
- •Опис алгоритму
- •Текст програми
- •Апробація
- •Висновок
- •Список використаної літератури
Текст програми
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.
Апробація
baba nan ahh joy
Result: yoj hha nan abab
Результат правильний.
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.
