Add book "Занимательное программирование"

This commit is contained in:
2025-12-13 16:35:46 +01:00
parent 98329e0a3d
commit c1147629f7
78 changed files with 4530 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<General>
<Flags>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="project1"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<UseFileFilters Value="True"/>
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</RunParams>
<Units Count="1">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
</Unit0>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@@ -0,0 +1,39 @@
program project1;
uses Crt, Math, SysUtils;
var N, NO: Integer;
x, y: Integer;
Sum: Real;
IsRunning: Boolean;
const R: Integer = 20000; { Радиус круга }
begin
IsRunning := true;
N := 0;
NO := 0;
Sum := 0;
Randomize;
ClrScr;
while IsRunning do
begin
Inc(N); { Количество экспериментов }
x := RandomRange(-R, R); { Определяем случайную точку }
y := RandomRange(-R, R);
if Sqrt(x * x + y * y) <= R then NO := NO + 1; { Если она лежит в круге }
Sum := Sum + 4 * NO / N;
GotoXY(1, 1);
WriteLn('Количество точек: ', IntToStr(N));
WriteLn('Текущее значение PI: ', FloatToStr(4 * NO / N));
WriteLn('Среднее значение PI: ', FloatToStr(Sum / N));
if KeyPressed and (ReadKey = ^C) then IsRunning := false;
end;
end.

View File

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectSession>
<Version Value="11"/>
<BuildModes Active="Default"/>
<Units Count="1">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<CursorPos X="13" Y="27"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit0>
</Units>
<JumpHistory Count="14" HistoryIndex="13">
<Position1>
<Filename Value="project1.lpr"/>
<Caret Line="7" Column="5"/>
</Position1>
<Position2>
<Filename Value="project1.lpr"/>
<Caret Line="16" Column="3"/>
</Position2>
<Position3>
<Filename Value="project1.lpr"/>
<Caret Line="3" Column="13"/>
</Position3>
<Position4>
<Filename Value="project1.lpr"/>
<Caret Line="2"/>
</Position4>
<Position5>
<Filename Value="project1.lpr"/>
<Caret Line="3" Column="11"/>
</Position5>
<Position6>
<Filename Value="project1.lpr"/>
<Caret Line="15" Column="3"/>
</Position6>
<Position7>
<Filename Value="project1.lpr"/>
<Caret Line="3" Column="10"/>
</Position7>
<Position8>
<Filename Value="project1.lpr"/>
<Caret Line="15" Column="3"/>
</Position8>
<Position9>
<Filename Value="project1.lpr"/>
<Caret Line="23" Column="29"/>
</Position9>
<Position10>
<Filename Value="project1.lpr"/>
<Caret Line="31" Column="33"/>
</Position10>
<Position11>
<Filename Value="project1.lpr"/>
<Caret Line="3" Column="23"/>
</Position11>
<Position12>
<Filename Value="project1.lpr"/>
<Caret Line="29" Column="12"/>
</Position12>
<Position13>
<Filename Value="project1.lpr"/>
<Caret Line="27" Column="50"/>
</Position13>
<Position14>
<Filename Value="project1.lpr"/>
<Caret Line="3" Column="25"/>
</Position14>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="1" ActiveMode="default">
<Mode0 Name="default">
<local>
<LaunchingApplication Use="True" PathPlusParams="/usr/bin/kitty --title 'Lazarus Run Output' $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</Mode0>
</Modes>
</RunParams>
</ProjectSession>
</CONFIG>