- •Специфікою виготовлення і роботи електронних схем
- •Для обміну інформацією з іншими комп’ютерами.
- •1) Сукупність байт, яка розміщена на диску, має власне ім’я і приймається як єдине ціле
- •Комп’ютер який управляє ресурсами.
- •Глобальна система розповсюдження гіпертекстової інформації, яка використовує Internet як канал передачі.
- •Забезпечує перехід до іншої електронної сторінки в Internet
- •3) Визначеність кількості кроків
3) Визначеність кількості кроків
4) все перелічене.
Питання Групи В (1 завдання – 5 балів; 5*4 = 20 балів)
Яку задачу розв’язує наступна програма:
program GOS;
var
a : array[1..10, 1..10] of integer;
i, j n_max, n_min : of byte;
max, min, tmp : integer;
begin
ClrScr;
Write(‘input n : ’);
Read(n);
for i:=1 to n do
for j:=1 to n do begin
Write(‘input a[’, i, ‘,’, j, ‘]= ’);
Read(a[i,j]);
end;
max:=a[1,1];
n_max:=1;
min:=a[1,1];
n_min:=1;
for i:=1 to n do
for j:=1 to n do
if a[i,j]>max then begin
max:=a[i,j];
n_max:=i
end
else
if a[i,j]<min then begin
min:=a[i,j];
n_min:=i
end;
for i:=1 to n do begin
tmp:=a[n_max,i];
a[n_max,i]:=a[n_min,i];
a[n_min,i]:=tmp;
end;
end.
{Міняє рядки матриці, в яких знаходяться мінімальний та максимальний елементи матриці}
Якого значення набуде змінна s після виконання фрагменту програми :
а) s:=0; i:=0;
while i<5 do i:=i+1; s:=s+1/i;
Відповідь: 1/5.
б) s:=0; n:=5;
for i:=1 downto n do s:=s+1/i;
Відповідь: 0.
в) s:=0; i:=1;
while i>1 do begin s:=s+1/i; i:=i-1 end;
Відповідь: 0.
г) s:=0; i:=1;
repeat s:=s+1/i; i:=i-1 until i<=1;
Відповідь: 1.
д) s:=1; n:=1;
for i:=2 to n do s:=s+1/i;
Відповідь: 1.
Чи є правильними наступні оператори присвоювання? Відповідь обґрунтувати.
а) k:=k mod 3 + k*Cos(0);
Ні, неправильні, оскільки операція mod властива тільки для цілих чисел, а операція Cos(0) – її результат є дійсним (оскільки Cos(0) = 1,0)
б) x:=x*2 div 6 + x/4;
Тут ситуація аналогічна, оскільки х з першого доданку повинно бути цілим, а операція «/» застосовна для дійсних чисел. Отже, даний оператор присвоювання також є неправильним.
Визначити яке значення одержить змінна f в результаті виконання послідовності дій:
f:= false;
for i:=1 to 5 do begin
if a<0 then
f:=true;
a:=a-1
end;
для таких початкових значень змінної a:
1) 10 false 2) 5 false 3) -10 true 4) 4 false
Питання Групи С (1 завдання – 20 балів; 20*2 = 40 балів)
Вимагалося написати програму, яка у масив B записує елементи масиву A, які не дорівнюють значенню максимального елементу масиву A. Програміст поквапився і написав програму:
program c_1;
const
n=20;
var
a, b : array[1..n]of real;
n : byte;
i, j : byte;
max : real;
begin
for i:=1 to n do begin
Write(‘input a[’, i, ‘] = ’);
Read(a[i]);
end;
max:=a[1];
for i:=1 to n do
if a[i]>max then
max:=a[i];
for i:=1 to n do
if a[i]<max then
Write(a[i]:5:2);
end.
Треба послідовно виконати три завдання:
а) Наведіть приклад вхідних даних, при яких після виконання програми на екран не буде виведено ніяких результатів:
можна ввести однакові 20 елементів в програму, все вони будуть максимумами, а отже інших елементів, крім максимуму не буде!
___________________________________________________________________________
б) Вкажіть, яка ще помилка є у програмі:
Змінну n потрібно викинути з розділу var, оскільки вона описана як константа, змінна j зайва, немає запишу елементів у масив В так, як сказано в умові.
в) Напишіть правильний варіант програми:
program c_1;
const
n=20;
var
a, b : array[1..n]of real;
i, k : byte;
max : real;
begin
for i:=1 to n do begin
Write(‘input a[’, i, ‘] = ’,i);
Read(a[i]);
end;
max:=a[1];
for i:=1 to n do
if a[i]>max then
max:=a[i];
k:=0;
for i:=1 to n do
if a[i]<max then begin
inc(k);
b[k]:=a[i];
end;
for i:=1 to k do
Write(b[i]:5:2);
end.
Побудувати у вигляді блок-схеми алгоритм розв’язування наступної задачі і написати програму:
Дані дійсні числа x1, y1, x2, y2,…, x10, y10. Знайти периметр десятикутника, вершини котрого мають відповідно координати (x1, y1), (x2, y2), …, (x10, y10). (Означити процедуру (або функцію) обчислення відстані між двома точками, що задані своїми координатами.)
program z1;
uses crt;
const n = 10;
var x, y: array [1..n] of real;
i : integer;
s : real;
function dlinna (x1 :real; y1 :real; x2 :real; y2 :real): real;
begin
dlinna := sqrt(sqr(x2-x1)+sqr(y2-y1));
end;
begin clrscr;
for i:=1 to n do begin
write('Input x[',i,'] = '); read(x[i]);
write('Input y[',i,'] = '); read(y[i]);
end;
for i:=1 to n-1 do begin
s := s + dlinna (x[i], y[i], x[i+1], y[i+1]);
end;
s := s + dlinna (x[1], y[1], x[n], y[n]);
write('Периметр многоугольника равен',s:6:2);end.
n:=10;
dlinna(X[i],y[i],
X[i+1],y[i+1])
s:=s+
dlinna(X[i],y[i],
X[i+1],y[i+1]);
dlinna(X[1],y[1],X[10],y[10])
s:=s+
dlinna(X[1],y[1],X[10],y[10]);
Блок-схема для функції визначення довжини сторони многокутника:
dlinna :=
sqrt(sqr(x2-x1)+sqr(y2-y1));