Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions burlakov/11.1.YolkaNewFile.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
program Yolka;{Елка в новом файле}
uses sysutils;
var
f: textfile;
i,j: Integer;
begin
assign (f,'Yolka.txt');
rewrite (f);
for i := 1 to 10 do
begin
for j := 1 to 10-i do
write(f,' ');
for j := 1 to i*2-1 do
write(f,'^');
writeln(f);
end;
close(f);
end.
18 changes: 18 additions & 0 deletions burlakov/11.2.YolkaInOldFile.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
program Yolka2;{Дорисовывание еще одной елочки в файл}
uses sysutils;
var
f: textfile;
i,j: Integer;
begin
assign (f,'Yolka.txt');
append (f);
for i := 1 to 10 do
begin
for j := 1 to 10-i do
write(f,' ');
for j := 1 to i*2-1 do
write(f,'^');
writeln(f);
end;
close(f);
end.
26 changes: 26 additions & 0 deletions burlakov/11.3.CountLetter.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
program reading; {Подсчет печатных знаков}
uses sysutils;
var
f: textfile;
n: String;
l,j,i: integer;
count: Longint;
begin
//assign(f,'273read.txt');
assign(f,'STARTHAK.TXT');
reset(f);
count := 0;
while not eof(f) do
begin
readln(f,n);
l := Length(n);
for i := 1 to l do
begin
j := ord(n[i]);
if ((j >= 65) and (j <= 90)) or ((j >= 97) and (j <= 122)) then
count := count + 1;
end;
end;
close(f);
writeln(count);
end.
37 changes: 37 additions & 0 deletions burlakov/11.4.CountWords.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
program CountWords; {Подсчет слов в файле}
uses sysutils;
var
f: textfile;
n: String;
l,j,i,wrd,count: integer;
begin
//assign(f,'273read.txt');
assign(f,'slacktest.txt');
reset(f);
wrd := 0;
while not eof(f) do
begin
readln(f,n);
l := Length(n);
count := 1;
for i := 1 to l do
begin
j := ord(n[i]);
if ((j >= 65) and (j <= 90)) or ((j >= 97) and (j <= 122)) then
count := 0
else
begin
if count = 0 then
begin
wrd := wrd + 1;
count := 1;
end;
end;
end;
if i = l then
if ((j >= 65) and (j <= 90)) or ((j >= 97) and (j <= 122)) then
wrd := wrd + 1;
end;
close(f);
writeln(wrd);
end.
35 changes: 35 additions & 0 deletions burlakov/11.5.ReadMassiv.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
program read; {Вычитать файл в массив, проверить есть ли число}
uses sysutils;
const n = 99;
var
f: textfile;
m: array [1..n] of Longint;
j,k: Longint;
i: integer;
begin
assign(f,'numbers.txt');
reset(f);
for i :=1 to n do
begin
readln(f,j);
m[i] := j;
end;
close(f);
writeln('Enter number from 31300 to 57800');
readln(k);
for i := 1 to n do
begin
if m[i] = k then
begin
writeln('Yes, there is');
break;
end
else
begin
if i = n then
writeln('Not found')
else
continue;
end;
end;
end.
62 changes: 62 additions & 0 deletions burlakov/11.6.ReadingFinding.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
program read; {Вычитать файл в массив (процедура), проверить, есть ли число (функция) - 5 раз}
uses sysutils;
const n = 99;
var
//f: textfile;
m: array [1..n] of Longint;
k: Longint;
i: Integer;
procedure reading(fname: string);
var
f: textfile;
i: Integer;
j: Longint;
begin
assign(f,'numbers.txt');
reset(f);
for i :=1 to n do
begin
readln(f,j);
m[i] := j;
end;
close(f);
end;
function finding (fnd: Longint): Integer;
var
j,low,high: Integer;
begin
low := 1;
high := length(m);
j := 0;
repeat
j := (high + low) div 2;

if (m[j] = k) then break;

if k < m[j] then
begin
low := low;
high := j-1;
end
else
begin
low := j+1;
high := high;
end;
until (high < low);

if (high < low) then
finding := -1
else
finding := j;
end;
begin
reading('numbers.txt');
for i := 1 to 5 do
begin
writeln('Enter number from 31300 to 57800');
readln(k);
writeln(finding(k));
writeln;
end;
end.
84 changes: 84 additions & 0 deletions burlakov/12.1.Picture.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
program picture; {Картинка с грибом}
uses graph, crt;
var
gd,gm,x,y: Integer;

procedure bush; {Процедура Куст}
var
i,dx: Integer;
begin
SetColor(2);
dx := -25;
for i :=1 to 6 do
begin
Line(x,y,x-dx,y-30);
dx := dx +10;
end;
end;

begin
gm := detect;
initgraph(gd, gm,'');
SetFillStyle(SolidFill,9); {Небо}
Bar(0,0,GetMaxX,300);

SetFillStyle(SolidFill,10); {Земля}
Bar(0,300,GetMaxX,GetMaxY);

SetColor(14); {Солнце}
SetFillStyle(SolidFill,14);
FillEllipse(100,100,50,50);

SetColor(1); {Озеро}
SetFillStyle(SolidFill,1);
FillEllipse(1000,600,250,50);

SetFillStyle(SolidFill,6); {Ствол}
Bar(800,320,820,500);

SetColor(2); {Крона}
SetFillStyle(SolidFill,2);
FillEllipse(790,270,80,80);
FillEllipse(755,210,80,80);
FillEllipse(820,190,80,80);
FillEllipse(780,120,70,70);

SetColor(4); {Плоды}
SetFillStyle(SolidFill,4);
FillEllipse(800,300,10,10);
FillEllipse(770,250,10,10);
FillEllipse(730,200,10,10);
FillEllipse(780,150,10,10);
FillEllipse(810,110,10,10);
FillEllipse(840,210,10,10);

SetColor(6); {гриб}
SetFillStyle(SolidFill,6);
PieSlice(650,500,0,180,30);
SetColor(15);
SetFillStyle(SolidFill,15);
Bar(640,500,660,530);

x := 100; {Кусты}
y := 600;
bush;
x := 300;
y := 500;
bush;
x := 400;
y := 400;
bush;
x := 150;
y := 400;
bush;
x := 600;
y := 700;
bush;
x := 400;
y := 600;
bush;

readln();
CloseGraph();
readln();
end.
Loading