неділя, 24 лютого 2019 р.

Тест на знання мови програмування Pascal

ТЕСТ 43


Початковий курс
пошукачів ВЛАСТИВОСТЕЙ
алгоритмів. 

1. Який із видів циклу не може повторити команди?

 Цикл з лічильником та кроком +1.
 Цикл з обчисленням та кроком 0.
 цикл з передумовою та кроком +3.
 цикл з післяумовою та кроком -3.

2. Який із видів циклу сумуватиме послідовні натуральні числа від найбільшого числа до найменшого числа?

 Цикл з лічильником та кроком -2.
 Цикл з лічильником та кроком +1.
 Цикл з лічильником та кроком -1.
 Цикл з лічильником та кроком +2.

3. Який із видів циклу помноже послідовні лише парні числа від найбільшого парного числа до найменшого парного числа?

Цикл з лічильником та кроком -2.
Цикл з лічильником та кроком -1.
Цикл з лічильником та кроком +1.
Цикл з лічильником та кроком +2.

4. Який із фрагментів циклу в Pascal помноже послідовні натуральні числа від 1 до 10,і помноже у порядку від найменшого до найбільшого числа?


n:=1;
for k:=-1 to 10 do n:=n*k;

n:=1;
for k:=11 downto 1 do n:=n*k;

n:=1;
for k:=10 downto 0 do n:=n*k;

n:=1;
for k:=1 to 10 do n:=n*k;

5. Вказати найточніше означення команди "if" в Pascal.

 if - це команда початку розгалуження в алгоритмі.
 if - це команда закінчення вибору випадкових цифр.
 if - це команда виведення в алгоритмі.
 if - це зчитування в алгоритмі.

6. Який із фрагментів розгалуження в Pascal записано вірно?


if a<=>b then d:= a-2*b
else d:=2*b-a;
________

if a<>b then d:= a-b
else d:=b-a;
________

if a<>=b to d:= 2a+3b
else d:=3b-2a;
________

if a<>b then d:= a*b;
else d:=b/a;
________

7. Які із фрагментів вкладених циклів в Pascal записано вірно?


n:=7;
i:=7;
for k:=n downto 1 do
for j:=1 to i do a:=j*k;
________

n:=5;
i:=7;
for k:=n to 1 do
for j:=1 to i+1 do a:=j+k;
________

n:=2;
i:=7;
for k:=n-3 do 1 to
for j:=1 do i+1 to a:=j-k;
________

n:=4;
i:=7;
if k:=n-4 to 1 do
if j:=1 to i+2 do a:=n/k;
________

8. Вказати правильний циклічний алгоритм мови Pascal для обчислення виразу 1+2+...+19+20:


program zykll;
var n, k: integer;
begin
k:=0;
for n:=0 do 19 do k:=k+n;
writeln('1+2+...+19+20=',n);
end.
________

program zykl2;
var n, k: integer;
begin
k:=0;
for n:=19 downto 0 do k:=k+n;
writeln('1+2+...+19+20=',n);
end.
________

program zykl3;
var n, k: integer;
begin
k:=0;
for n:=1 to 20 do k:=k+n;
writeln('1+2+...+19+20=',k);
end.
________

program zykl4;
var n, k: integer;
begin
k:=0;
for n:=1 do 20 to k:=k+n;
writeln('1+2+...+19+20=',k);
end.
________

9. Вказати правильний запис фрагменту алгоритму, де є цикл з післяумовою.


repeat
d:=d +(a div 100)+(a mod 100) div 10 +(a mod 10);
writeln('сума цифр для усіх непарних чисел від 1 до ', a,' =', d);
a:=a-2;
writeln('a=', a);
until a<0;
________

while a>0 do
begin
d:=d+(a div 10)+(a mod 10);
a:=a-1;
end;
________

for i:=1 to 10 do
begin
a[i]:=1001+2*random(4499);
writeln(i, '-ий елемент =', a[i]);
s:=s+a[i];
end;
________


min:=A[1];
max:= B[1];
for i:=2 to n do if A[i]for i:=2 to k do if B[i]>max then max:=B[i];
writeln ('мінімум із масиву A =' , min);
writeln ('максимум із масиву В =' , max);
________

10. Вказати правильний алгоритм, що записує випадкове двоцифрове число ab у вигляді a*10+b.


program Zad1;
var a:integer;
begin
a:=10+random(89);
writeln('a=',a,'=',(a div 10),'*10',' + ',a div 10);
end.
________

program Zad2;
var a:integer;
begin
a:=10+random(89);
writeln('a=',a,'=',(a mod 10),'*10',' + ',a mod 10);
end.
________


program Zad3;
var a:integer;
begin
a:=10+random(89);
writeln('a=',a,'=',(a div 10),'*10',' + ',a div 10);
end.
________


program Zad4;
var a:integer;
begin
a:=10+random(89);
writeln('a=',a,'=',(a div 10),'*10',' + ',a mod 10);
end.
________

11. Вказати найточніше оголошення динамічного лінійного масиву в алгоритмі мовою Pascal.


program Massiv_3A_Massiv_2B;
const n=1; m=5;
type Massiv = array [n..m] of integer;
var a, b,s: Massiv;
i,t: integer;
begin
for i:=n to m do
begin
a[i]:=99+9*random(100);
writeln(' a[', i, ']=', a[i]);
b[i]:=-2*random(100);
writeln(' b[', i, ']=', b[i]);
end;
________

program ZadachaMIN_MAX;
const n=10; k=14;
var A, B : array [k..n] of integer;
min, max: integer; i: integer;
begin
writeln ('Випадкові елементи масиву - це 7-цифрові числа ');
for i:=1 to n do
begin
A[i]:=99999+9*random(1111111);
writeln (i, 'A-eл. = ', A[i]);
end;
for i:=1 to k do
begin
B[i]:=-77777-7*random(1111111);
writeln (i, 'B-eл. = ', B[i]);
end;
________

program ZycL4;
var a,b,d,n,i: integer;
begin
a:=1000+2*random(4499);
b:=a;
n:= a div 2;
d:=0;
________

Program Masiv1;
var a: array[1..10] of integer;
i,s: integer;
begin
writeln( 'Задаються випадкові цілі 10 елементів масиву');
________

12. Вказати лінійний алгоритм мовою програмування Pascal.


Program ZicL2; {назва алгоритму Цикл2}
var a, b, d: integer; {змінні величини a, b, d в алгоритмі будуть цілими числами}
begin
a:=10+random(89);
b:=a;
d:=0; {присвоєння випадкого двоцифрового числа}
writeln('початкове число в циклі з передумовою =', a); {друк початкового числа}
while a>0 do begin d:=d+(a div 10)+(a mod 10); a:=a-1; end; {Цикл з умовою}
writeln('кінцеве число в циклі з передумовою =', a); {друк кінцевого числа}
writeln('сума цифр для усіх цілих чисел від 1 до ', b, ' = ', d); {друк суми цифр}
writeln('**************************');
end.

________

program ZicL3; {назва алгоритму Цикл3}
var a,b,d: integer; {змінні величини a, b, d в алгоритмі будуть цілими числами}
begin
a:=101+2*random(444);
b:=a;
d:=0; {пошук випадкового непарного числа}
writeln('початкове непарне число в циклі з післяумовою =', a);
repeat {початок циклу з післяумовою для сумування цифр усіх непарних чисел}
d:=d +(a div 100)+(a mod 100) div 10 +(a mod 10); {тіло циклу, - сумує цифри}
writeln('сума цифр для усіх непарних чисел від 1 до ', a,' =', d);
a:=a-2;
writeln('a=', a); {друк числа-лічильника в циклі з післяумовою}
until a<0; {кінець циклу з післяумовою для сумування цифр усіх непарних чисел}
writeln('кінцеве число в циклі з післяумовою =', a);
writeln('сума цифр для усіх непарних чисел від 1 до ', b,' =', d); {друк суми цифр}
writeln('*********');
writeln('************');
end.

________


program ZycL4; {назва алгоритму Цикл4}
var a,b,d,n,i: integer; {змінні величини a, b, d в алгоритмі будуть цілими числами}
begin
a:=1000+2*random(4499); b:=a;
n:= a div 2;
d:=0; {пошук парного числа}
writeln('початкове число в циклі з лічильником =', a);
for i:=1 to n do begin {початок циклу з лічильником для сумування цифр чисел}
d:=d+(a div 1000)+(a mod 1000) div 100 +(a mod 100) div 10+(a mod 10); {тіло циклу}
writeln(''сума цифр для усіх парних чисел від 1 до ', a,' =', d); {тіло циклу}
a:=a-2; writeln(' лічильник циклу i =', i);
end; {кінець циклу з лічильником }
writeln('кінцеве число в циклі з лічильником =', a);
writeln('сума цифр для усіх парних чисел від 1 до ', b,' =', d); {друк суми цифр}
writeln('********');
end.
________


program SuperposiziaNumer; {алгоритм обміну числовими значеннями двох змінних}
var {оголошується опис змінних величин, які використовує алгоритм}
x,y: integer; {оголошуються дві цілі змінні у даному алгоритмі}
begin {оголошується початок алгоритмічних дій}
write('x='); {на екрані запит на введення з клавіатури цілого числа: х}
readln(x); {зчитування числового значення і внесення його в змінну х}
write('y='); { на екрані запит на введення з клавіатури цілого числа: у}
readln(y); {зчитування числового значення і внесення його в змінну у}
write('початкове значення x='); writeln(x,' '); { перевірка початкового: х}
write('початкове значення y='); write(y,' '); { перевірка початкового: у}
x:=x+y;
y:=x-y;
x:=x-y; {взаємний обмін числами за допомогою арифметичних дій.}
writeln; {поставити курсор на екрані з нового рядка}
write('кінцеве значення x='); {виведення на екран повідомлення}
writeln(x,' '); {виведення на екрані числового значення змінної х}
write('кінцеве значення y='); {виведення на екран повідомлення}
write(y,' '); {виведення на екрані значення значення змінної у}
writeln; {поставити курсор на екрані з нового рядка}
end. {закінчення дій алгоритму}
________
Завдання для самостійного опрацювання



Сайти для навчання програмуванню

Code.orgсередовища навчання програмуванню  для початківців
Code School  -  Практичні завдання для навчання програмуванню.
Codecacademy – інтерактивне навчання програмуванню.
Stuk.io - Навчання з нуля для майбутніх програмістів.
Udaccityкурси від  Google, Facebook та інших великих компаній.
Platzi курси по дизайну, маркетингу, програмуванню.
Learnableкурси веб-розробці.
Code School  -  Практичні завдання для навчання програмуванню.
Code.orgсередовища навчання програмуванню  для початківців
BasePails - Навчання Рубі та Раілз та іншим веб-технологіям
Treehouse - Розробка на   HTML, CSS, та додатків на ІОS.
One Month – навчання основам створення веб-додатків за місяць.

Dash – створення веб-сайтів.

Вивчаємо мови програмування

1 коментар: