неділя, 7 січня 2018 р.

Циклічні алгоритми мовою Pascal

Практична робота. Циклічні алгоритми мовою Pascal
Завдання 1(6 балів). Скласти і реалізувати алгоритм алгоритм в програмному середовищі, який виводить на екран прості числа( це натуральні числа, що мають лише два  натуральні дільники: 1 та n), які не перевищують заданого  натурального числа n(введенного з клавіатури)
Алгоритм  мовою Pascal
program PrimeNumer;
var     {оголошується опис змінних величин, які використовує алгоритм}
a : array [1..5000] of boolean;  {оголошується  масив логічних змінних}
n,x,y : integer; {оголошуються три цілі змінні для даного алгоритму}
begin    {оголошується початок алгоритмічних дій}
write('n=');readln(n);  {запит на введення з клавіатури цілого числа: n}
a[1]:= false;     {перший елемент масиву отримує значення «хибне» }
for x:=2 to n do a[x]:=true; {наступні елементи масиву отримують значення «істине»}
for x:= 2 to n div 2{round(sqrt(N))} do { цикл для перебору усіх цілих дільників від 2 до n:2 }
   for y:= 2 to n div x do {вкладений цикл для перевірки подільності деякого натурального  числа у на ціле число х}
   a[x*y]:= false;   {якщо номер масиву можна записати, як добуток деяких натуральних чисел , то значення  елементу за цим номером є «хибне»}
for x:=1 to n do { цикл для виведення  простих чисел на екран}
if a[x] then write(x,' ');  {перевірка елементу масиву на значення «істине»" і одразу його виведення на екран}
readln;
end. {закінчення дій алгоритму}.


Протестувати правильну роботу цього алгоритму  для натуральних чисел  n:   5; 15; 100; 250; 900; 2000.

Завдання 2(6 балів). Cамостійно скласти і реалізувати program CountNumer, що виводить на екран кількість простих чисел( це натуральні числа, що мають лише два   натуральні дільники: 1 та n), які не перевищують заданого  натурального числа n.

Протестувати правильну роботу цього алгоритму  для натуральних чисел  n:  9; 11;  13; 100; 278; 890; 1560.

Немає коментарів:

Дописати коментар