Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний технічний університет України
“Київський політехнічний інститут”
Кафедра ОТ
ЗВІТ
про виконання лабораторної роботи № 4
з дисципліни
“Основи програмування ”
Тема: ОРГАНІЗАЦІЯ ПІДПРОГРАМ
Постановка задачі
Задане натуральне число n. З’ясувати, чи є серед чисел n, n + 1, …, 2(n числа-близнюки, тобто прості числа, різниця між якими дорівнює двом. Вивести усі пари таких близнюків.
аналітичні викладки
Прості числа-близнюки це пара простих чисел, різниця між якими становить 2.
Всі пари простих-близнюків крім (3, 5) мають вид 6n+-1.
Справді для будь-якої пари простих чисел-близнюків число, що знаходиться між ними є очевидно парним. Також воно ділиться на 3, оскільки з трьох послідовних чисел одне має ділитися на три. Тому дане число також ділиться на 6, а двоє сусідніх чисел мають вид 6n+-1.
блок-схема алгоритму
текст програми.
program lab4;
uses crt;
var
n,k1,b2,b3,{vvodimoe zna4enie}
l:integer;
q:string; {flag povtoreniy programi}
procedure bliz (j:integer; var b,b1:integer); {proverka bliznec}
var i,k{peremenaya cikla}
:integer; {predideshie prost 4iclo}
function pros(r,s:integer):integer; {funkciya delenia}
begin
pros:=r mod s;
end;
begin
K:=0;
b1:=b; {prisvoenoe ctarogo prost 4icla}
for i:=1 to j do
begin
if pros(j,i)=0 then
k:=k+1; {pods4et dilitelei}
end;
if k=2 then
b:=j; {prisvoenie prostogo 4isla}
k:=0; {obnylenie shet4ika}
end;
begin {osnovnaya programa}
clrscr;
writeln ('Laboratorna robota 4');
writeln ('Variant 15');
writeln('vikonav Kononec German ip-02');
q:='yes'; {startovoe zna4enie vneshnego cikla}
while (q='yes') or (q='Y') or (q='y') do {yslovie}
begin
write('vvidite n=');
readln(n); {vvod 4isla n}
if n>2 then
for l:=n-1 to 2*n do {cikl c 4islom n}
begin
bliz(l,b2,b3); {procedura}
if b2-b3=2 then {proverka bliznicov}
writeln(b3,' i ',b2,' blizneci'); {vivod}end
else writeln('v zadanom promezytke bliznecov net, ili neverno vvedeno znachenie');
writeln('povtorit` program? (yes\no)'); {zapros na povtor programi}
readln(q); {vvidenie zna4enia cikla}
end;
end. {konec}
Відеокопія результату
/
Висновок
Навчився складати програми використовуючи підпрограми. Освоїв можливості передачі даних у підпрограми та повернення їх до основної програми. Викликати підпрограму багато разів або з тіла іншої підпрограми. Також побачив різницю між процедурою та функцією у мові програмування pascal.
/