Увага! Під час роботи з комп'ютером дотримуйтеся правил безпеки та санітарно-гігієнічних норм.
Повторіть правила безпечної роботи за комп’ютером.
Завантажте і встановіть: Середовище програмування Лазарус (для тих, хто не завантажив)
Задача 1. Визначити суму значень усіх елементів одновимірного масиву.
Суму значень усіх елементів одновимірного масиву визначатимемо за допомогою циклу. Використаємо змінну s для накопичування шуканої суми. Перед циклом їй слід надати значення 0. У циклі послідовно переглядатимемо елементи одновимірного масиву і додаватимемо їх значення до змінної s.
Для тих, хто вивчає Pascal
Procedure TForm1.Button1Click(Sender: TObject);
var a: array [0..9] of real; i: integer; s: real;
begin
for i := 0 to 9 do a[i] := StrToFloat(Memo1.Lines[i]); // дані з рядка багаторядкового текстового поля перевести в дійсне число і присвоїти елементу одновимірного масиву
s := 0; // початкове значення для змінної, значення якої визначатиме суму значень елементів одновимірного масиву
for i := 0 to 9 do s := s + a[i]; // додавання до змінної s значення чергового елемента одновимірного масиву
Label1.Caption := FloatToStr(s); // виведення результату в напис
end;
Звертаємо вашу увагу: якщо в циклі використовується команда змінення значення певної величини
(у даній задачі s := s + a[i]),
то перед циклом цій змінній обов’язково потрібно присвоїти початкове значення (у даній задачі s := 0).
Задача 2. Визначити, скільки разів задане дійсне число трапляється серед значень елементів одновимірного масиву.
Очевидно, що для розв’язування цієї задачі потрібно переглянути послідовно значення всіх елементів одновимірного масиву, порівняти кожне з них з даним числом, і якщо деяке з них дорівнює цьому числу, то збільшити лічильник таких елементів на 1.
Для тих, хто вивчає Pascal
Procedure TForm1.Button1Click(Sender: TObject);
var a: array [0..9] of real; i, k: integer; x: real;
begin
for i := 0 to 9 do a[i] := StrToFloat(Memo1.Lines[i]); // введення значень елементів одновимірного масиву
x := StrToFloat(Edit1.Text); // введення заданого числа
k := 0; // лічильник кількості елементів одновимірного масиву, що дорівнюють заданому числу – їх поки що не трапилося жодного
for i := 0 to 9 do
if a[i] = x then k := k + 1; // збільшення на 1 значення лічильника, якщо значення чергового елемента одновимірного масиву дорівнює заданому числу
Label1.Caption := IntToStr(k) + ‘ рази’; // виведення результату в напис з додаванням пояснювального тексту
end;
Задача 3. Визначити, чи є задане дійсне число серед значень елементів даного одновимірного масиву.
Можна було б розв’язати цю задачу аналогічно попередній: визначити, скільки елементів одновимірного масиву дорівнюють даному числу, і якщо ця кількість дорівнює 0, то даного числа серед значень елементів одновимірного масиву немає, а якщо більше 0, то є.
Але такий метод розв’язування цієї задачі є нераціональним. Уявіть собі, що дане число є значенням вже першого елемента одновимірного масиву. Тоді всі інші його елементи переглядати вже не потрібно, і це економить значний час розв’язування цієї задачі, особливо якщо кількість елементів одновимірного масиву велика.
Для реалізації раціонального методу розв’язування цієї задачі використаємо змінну логічного типу f і нехай її значення false визначатиме, що даного числа серед значень елементів одновимірного масиву немає, а значення true – що є. Перед початком перегляду значень елементів одновимірного масиву присвоїмо змінній f значення false, адже дане число в одновимірному масиві поки що не знайшлося. Порівнюватимемо в циклі послідовно значення елементів одновимірного масиву з заданим числом і якщо одне з них дорівнює заданому числу, то змінимо значення змінної f на true і перервемо виконання циклу командою break (англ. break – переривати). Виведення кінцевого результату реалізуємо залежно від значення змінної f.
Для тих, хто вивчає Pascal
Procedure TForm1.Button1Click(Sender: TObject);
var a: array [0..9] of real; i: integer; x: real; f: boolean;
begin
for i := 0 to 9 do a[i] := StrToFloat(Memo1.Lines[i]);
x := StrToFloat(Edit1.Text);
f := false; // задане число поки що не знайдено
for i := 0 to 9 do
if a[i] = x
then begin
f := true; // задане число є серед значень елементів одновимірного масиву
break; // перериваємо виконання циклу, бо число є в одновимірному масиві
end;
if f then Label1.Caption := ‘Число є’
else Label1.Caption := ‘Числа немає’;
end;
Задача 4. Визначити середнє арифметичне додатних значень елементів одновимірного масиву.
Щоб визначити середнє арифметичне додатних значень елементів одновимірного масиву, потрібно визначити їх суму та кількість, після чого поділити знайдену суму на знайдену кількість. Тому будемо послідовно переглядати значення елементів одновимірного масиву, і якщо значення чергового елемента масиву додатне, додамо його до суми та збільшимо кількість таких елементів на 1.
Під час виведення результату врахуємо, що можливі одновимірні масиви, у яких не буде елементів з додатними значеннями.
Для тих, хто вивчає Pascal
Procedure TForm1.Button1Click(Sender: TObject);
var a: array [0..9] of real; i, k: integer; s, m: real;
begin
for i := 0 to 9 do a[i] := StrToFloat(Memo1.Lines[i]);
s := 0; // початкове значення суми додатних значень елементів масиву
k := 0; // початкове значення кількості додатних значень елементів масиву
for i := 0 to 9 do
if a[i] > 0 then
begin
s := s + a[i]; // додавання додатного значення елемента масиву до їх суми
k := k + 1; // збільшення на 1 кількості додатних значень елементів масиву
end;
if k = 0 then Label1.Caption := ‘Додатних елементів у масиві немає’
else
begin
m := s/k; // обчислення середнього арифметичного
Label1.Caption := Середнє арифметичне: ‘ + FloatToStr(m); // виведення середнього арифметичного
end;
end;
"Інформатика, 9 клас" (Й.Я. Ривкінд та їнші):
Прочитайте та розберіть теоретичний матеріал пункту 5.2 (стор. 243-248), вправи 1, 2 (стор. 254).
Дайте усні відповіді на усні питання 1-3 (стор. 254).