Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемОлег Палицын
1 Одновимірні масиви 11 клас
2 Впорядкований набір змінних одного типу називається масивом. Кожна змінна, що входить до масиву, називається елементом масиву. Масив, у якому кожний елемент визначається тільки одним порядковим номером, називається одновимірним. Ім я кожного елемента одновимірного масиву складається з імені масиву й узятого у квадратні дужки порядкового номера цього елемента в масиві.
3 Розглянемо масив, що складається зі 100 елементів дійсного типу. Якщо надати ім я масиву a, то імена змінних – елементів цього масиву будуть такі : a[1], a[2], a[3],..., a[100]. Кожна з цих змінних матиме тип Real.
4 У тексті програми мовою Delphi у рядку var змінна a типу одновимірний масив оголошується так : var a: array [1..100] of Real ( англ. array – масив ). У квадратних дужках указується діапазон номерів елементів масиву : від 1 до 100. За цим записом компілятор виділяє в пам яті комп ютера 100 ділянок під кожну зі 100 змінних – елементів масиву. Розмір кожної ділянки залежить від типу елементів масиву.
5 Для введення і виведення значень елементів одновимірного масиву можна скористатися багаторядковим полем ( компонент типу TMemo), який можна розмістити на формі так само, як й інші компоненти
6 Задача 1. Сформувати одновимірний масив з десяти дійсних чисел, які вводяться в рядки багаторядкового поля, піднести ці числа до квадрата і вивести ці квадрати в інше багаторядкове поле. Розмістимо на формі два багаторядкових поля з іменами Memo1 і Memo2, розташуємо їх на формі одне поруч з іншим та встановимо для них значення властивостей : Height = 150, ScrollBars = ssVertical, ReadOnly = False. Розмістимо на формі також кнопку, встановимо для неї Caption = ' До квадрата ' і створимо процедуру, пов язану з подією OnClick для цієї кнопки.
7 Вигляд форми Memo2 Memo1 Кнопка
8 Процедура procedure TForm1.Button1Click(Sender: TObject); var a:array [1..10] of real; i:integer; begin for i:=1 to 10 do a[i]:= StrToFloat (Memo1.Lines[i-1]); for i:=1 to 10 do a[i]:= a[i]*a[i]; Memo2.Lines.Clear; for i:=1 to 10 do Memo2.Lines.Append(FloatToStr(a[i])); end;
9 У тексті процедури використано два стандартні методи, що пов язані з багаторядковим полем : процедура Clear ( англ. clear – очищувати ), що очищує всі рядки цього компонента, Append ( англ. append – додавати ), що додає до багаторядкового поля новий рядок і виводить у нього значення параметра, вказаного в дужках.
10 Задача 1. Сформувати одновимірний масив з десяти дійсних чисел, які вводяться в рядки багаторядкового поля, піднести ці числа до квадрата і вивести ці квадрати в інше багаторядкове поле. Змінити процедуру так, щоб команда повторення використовувалася 1 раз begin for i:=1 to 10 do a[i]:= StrToFloat (Memo1.Lines[i- 1]); for i:=1 to 10 do a[i]:= a[i]*a[i]; Memo2.Lines.Clear; for i:=1 to 10 do Memo2.Lines.Append(FloatToStr(a[i])); end;
11 procedure TForm1.Button1Click(Sender: TObject); var a:array [1..10] of real; i:integer; begin Memo2.Lines.Clear; for i:=1 to 10 do Begin a[i]:= StrToFloat (Memo1.Lines[i-1]); a[i]:= a[i]*a[i]; Memo2.Lines.Append(FloatToStr(a[i])); end;
12 Задача 2. Визначити, скільки разів трапляється дане дійсне число серед значень елементів даного масиву з десяти дійсних чисел. Для розв язування цієї задачі потрібно переглянути послідовно значення всіх елементів масиву, порівняти кожне з них з даним числом, і якщо деяке з них дорівнює цьому числу, то збільшити лічильник таких елементів масиву на 1.
13 Вигляд форми
14 Текст програми procedure TForm1.Button1Click(Sender: TObject); var a:array [1..10] of real; i,k:integer; x:real; begin x:= StrToFloat(Edit1.Text); k:=0; for i:=1 to 10 do begin a[i]:= StrToFloat (Memo1.Lines[i-1]); if a[i]=x then k:=k+1; end; Label1.Caption:=IntToStr(k)+' разів '; end;
15 Задача 3. Визначити, чи зустрічається дане дійсне число серед значень елементів даного масиву з десяти дійсних чисел. Можна було б розв язати цю задачу аналогічно попередній : визначити, скільки елементів масиву дорівнюють даному числу, і якщо ця кількість 0, то даного числа в масиві немає, а якщо більше 0, то є.
16 procedure TForm1.Button1Click(Sender: TObject); var a:array [1..10] of real; i,k:integer; x:real; begin x:= StrToFloat(Edit1.Text); k:=0; for i:=1 to 10 do begin a[i]:= StrToFloat (Memo1.Lines[i-1]); if a[i]=x then k:=k+1; end; If k=0 then Label1.Caption:= зустрічається else Label1.Caption:=' не зустрічається ; end;
17 Але такий метод розв язування є нераціональним. Уявіть собі, що дане число є значенням уже першого елемента масиву. Тоді всі інші елементи масиву переглядати не потрібно, а попередній метод розв язування передбачає обов язковий перегляд усіх елементів масиву.
18 Для реалізації раціонального методу розв язування цієї задачі використаємо змінну логічного типу f і присвоїмо їй початкове значення false ( дане число в масиві поки ще не траплялося ). Порівнюватимемо послідовно значення елементів масиву з даним числом і якщо один з них дорівнює даному числу, то змінимо значення змінної f на true і перервемо виконання циклу командою break ( англ. break – переривати ). Виведення результату реалізуємо залежно від значення змінної f.
19 Завдання додому Створити проект в якому потрібно визначити, чи зустрічається дане дійсне число серед значень елементів даного масиву з десяти дійсних чисел. Підручник Інформатика 11 клас Й. Я Ривкін, Т. І. Лисенко, Л. А. Чернікова, В. В. Шакотько Опрацювати матеріал на сторінках
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.