Урок 6 - одномірні масиви - the delphi

Урок 6 - Одномірні масиви

Уявіть собі потяг, у якого є певна кількість вагончиків. У кожного вагона є номер і всередині кожного, пронумерованого вагона можна зберігати інформацію. Дак от масив приблизно так і виглядає, тільки він не потяг :) Масив записується туди ж, куди ми записуємо звичайні змінні.

Синтаксис: Тепер відкриваємо Delphi і кидаємо на форму компонент Button. Label і Memo. Компонент Memo знаходиться на 6 місці на вкладці Standard.

Урок 6 - одномірні масиви - the delphi

Компонент Memo має властивість під назвою Lines. Воно схоже з властивістю Caption у компонента Label. Знайдіть це властивість в інспекторові об'єктів і натисніть на кнопочку з трьома крапками:

Урок 6 - одномірні масиви - the delphi

Урок 6 - одномірні масиви - the delphi

У Лабель: Тепер, для того щоб вивести всі 3 значення в Memo. потрібно скористатися циклом For. Так як в тілі циклу виконується всього один рядок, то можна опустити ключові слова begin і end.
Рядок Memo1.Lines.Add (mas [i]); при першому колі циклу додасть в memo перший елемент масиву, так як змінна i дорівнює 1. При другому колі змінна i дорівнює 2 і рядок Memo1.Lines.Add (mas [i]); додасть другий елемент масиву. Точно так само і з третім.

Загальний вигляд програми: Без циклу For висновок елементів масиву здійснювався б таким чином: Нам доведеться довго копіювати і змінювати номер елемента, якщо їх буде сто, а буває і більше тисячі! Цикл ж допомагає впоратися з цим, за все ціною двох рядків.

На цьому я завершую наш урок, але перед цим збережіть ласка програму, тому що вона нам знадобиться в наступному уроці.

Завдання на закріплення: заповніть масив з 100 чисел за допомогою циклу for, виведіть в memo числа 20, 50, 70 з масиву за допомогою циклу for і умови в ньому.

Ну от і все! Успіхів!
Зустрінемося в наступному уроці!

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class (TForm) btn1: TButton; mmo1: TMemo; lbl1: TLabel; procedure btn1Click (Sender: TObject); private public end; var Form1: TForm1; implementation procedure TForm1.btn1Click (Sender: TObject); var mas: array [1..100] of string; i: Integer; begin mas [1]: = IntToStr (20); mas [2]: = IntToStr (50); mas [3]: = IntToStr (70); for i: = 1 to 1 do mmo1.Lines.add (mas [1]); mmo1.Lines.add (mas [2]); mmo1.Lines.add (mas [3]); end; end. мб так?

Додав (а): adex348 [Новачок]

Ти походу не правильно зрозумів функцію циклу for, він запускає код всередині циклу з початковим значенням яке ти поставив і додаючи по 1 кожен раз запускає його заново, до тих пір поки не достигнется кінцеве значення (яке теж потрібно задати). Цикл за завданням повинен виглядати приблизно так: for i: = 1 to 100 do begin mas [i]: = i; if (mas [i] = 20) or (mas [i] = 50) or (mas [i] = 70) then Memo1.Lines.add (InttoStr (mas [i]); else continue; end;

Додав (а): Shik007 [Новачок]

Зробити другу кнопку до цієї програми з кодом для очищення вмісту компонента Memo після завершення роботи циклу. Виглядає це так: procedure TForm1.Button2Click (Sender: TObject); begin memo1.Lines.Clear; end;