37826

Обробка масивів

Лабораторная работа

Информатика, кибернетика и программирование

Мета роботи: вивчити властивості компонента TStringGrid. Компонент TStringGrid При роботі з масивами введення і виведення інформації на екран зручно організовувати у виді таблиць використовуючи компонент TStringGrid. Значення N вводити в компонент Tedit А и В у компонент TStringGrid. Результат після натискання кнопки типу TButton вивести в компонент TStringGrid.

Украинкский

2013-09-25

87 KB

12 чел.

ЛАБОРАТОРНА РОБОТА №6

Тема роботи: Обробка масивів.

Мета роботи: вивчити властивості компонента TStringGrid. Написати програму, що передбачає обробку масивів.

Рекомендована література:

  1.  Бобровский С. И. Delphi 7. Учебный курс. - С.Пб. Питер, 2004. – 735 с.
  2.  Я. М. Глинский Інформатика. Алгоритмізація і програмування. Книжка 1. -  Львів, 2003. – 198 с.
  3.  Симонович С.В., Евсеев Г.А. Занимательное программирование:Delphi. – М.: АСТ-Пресс Книга; Издательство «Развитие», 2003. – 368 с.
  4.  Кен Хендерсон. Руководство Разработчика баз данных в Delphi 2. – К. Диалектика, 1997, - 543 с.

Контрольні запитання:

  1.  Які оператори мови Pascal описують процеси з розгалуженням?
  2.  В яких випадках доцільно викоритовувати оператор case?
  3.  Що називають кнопками-перемикачами?
  4.  Які види кнопок-перемикачів Ви знаєте?
  5.  За що відповдає компонент TcheckBox?
  6.  За що відповдає компонент TRadiogroup?
  7.  Що називають оброблювачем подій та як його створюють?

Теоретичні відомості.

Компонент TStringGrid

При роботі з масивами введення і виведення інформації на екран зручно організовувати у виді таблиць, використовуючи компонент TStringGrid. Останній призначений для відображення інформації у виді двовимірної таблиці, кожена комірчина якої являє собою вікно однорядкового редактора (аналогічно вікну TEdit).

Доступ до інформації здійснюється за допомогою властивості:

Cells[ACol, Arow : Integer] : string;

де ACol, Arow - індекси елементів двовимірного масиву.

Властивості ColCount і RowCount установлюють кількість рядків і стовпчиків у таблиці, а властивості FixedCols і FixedRows задають кількість рядків і стовпчиків фіксованої зони. Фіксована зона виділена іншим кольором, і в неї заборонене введення інформації з клавіатури.

Хід виконання роботи.

Завдання: створити програму для визначення вектора:

,

де А – квадратна матриця; а Y, B – одномірні масиви.

Елементи вектора Y визначаються по формулі;

.

Значення N вводити в компонент Tedit, А и В – у компонент TStringGrid. Результат, після натискання кнопки типу TButton, вивести в компонент TStringGrid.

Панель діалогу приведена на рис.1

Рис. 1.

Настроювання компонента TSstringGrid

Для установки компонента TStringGrid на форму, необхідно на сторінці Additional меню компонентів клацнути мишею по піктограмі. Після цього клацніть мишею в потрібному місці форми. Захоплюючи краї компонента, відрегулюйте його розмір. В інспекторі об'єктів значення властивостей ColCount і RowCount встановіть 2, а FixedCols і FixedRows встановіть 1. Тому що компоненти StringGrid2 і StringGrid3 мають тільки один стовпчик, то в них: ColCount=1, RowCount=2, FixedCols=0 і FixedRows=1. За замовчуванням у компонент TStringGrid заборонене введення інформації з клавіатури, тому необхідно властивість Options goEditing для компонентів StringGrid1 і StringGrid2 встановити в положення True.

Текст програми приведений нижче.

Unit Lab4;

Interface

Uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids;

type

 TInputForm = class(TForm)

   StringGrid1: TStringGrid;

   StringGrid2: TStringGrid;

   StringGrid3: TStringGrid;

   Label1: TLabel;

   Edit1: TEdit;

   Button1: TButton;

   Button2: TButton;

   Procedure FormCreate(Sender: TObject);

   Procedure Button1Click(Sender: TObject);

   Procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

const

 Nmax = 10; // Максимальна розмірність масиву

type

 Mas1 = array[1..Nmax] of Extended;

//Оголошення типу одномірного масиву

 Mas2 = array[1..Nmax, 1..Nmax] of Extended; //Оголошення типу двовимірного масиву

var

 InputForm: TInputForm;

 A : Mas2;     // Оголошення двовимірного масиву

 B, Y : Mas1;  // Оголошення одномірних масивів

 N, i, j : integer;

Implementation

{$R *.DFM}

Procedure TInputForm.FormCreate(Sender: TObject);

begin

 N := 3; //Розмірність масиву

 Edit1.Text := FloatToStr(N);

//Завдання числа рядків і стовпчиків

 StringGrid1.ColCount := N + 1;

 StringGrid1.RowCount := N + 1;

 StringGrid2.RowCount := N + 1;

 StringGrid3.RowCount := N + 1;

//Введення в ліву верхню комірчину таблиці назви масиву

 StringGrid1.Cells[0, 0] := 'Масив А';

 StringGrid2.Cells[0, 0] := 'Масив В';

 StringGrid3.Cells[0, 0] := 'Масив У';

//Заповнення верхнього і лівого стовпчиків підписами, що пояснюють

 for i:=1 to N do

 begin

   StringGrid1.Cells[0, i] := 'i='+ IntToStr(i);

   StringGrid1.Cells[i, 0] := 'j='+ IntToStr(i);

 end;

end;

Procedure TInputForm.Button1Click(Sender: TObject);

begin

 N := StrToInt(Edit1.Text);

//Завдання числа рядків і стовпчиків у таблицях

 StringGrid1.ColCount := N + 1;

 StringGrid1.RowCount := N + 1;

 StringGrid2.RowCount := N + 1;

 StringGrid3.RowCount := N + 1;

//Заповнення верхнього і лівого стовпчиків підписами, що пояснюють

 for i:=1 to N do

 begin

   StringGrid1.Cells[0, i] := 'i=' + IntToStr(i);

   StringGrid1.Cells[i, 0] := 'j=' + IntToStr(i);

 end;

end;

Procedure TInputForm.Button2Click(Sender: TObject);

var

 s : extended;

begin

//Заповнення масиву A елементами з тавлиці StringGrid1

 for i:=1 to N do

 for j:=1 to N do

   A[i, j] := StrToFloat(StringGrid1.Cells[j, i]);

//Заповнення масиву B елементами з тавлиці StringGrid2

 for і:=1 to N do

   B[і] := StrToFloat(StringGrid2.Cells[0, і]);

// Множення масиву A на масив B

 for i:=1 to N do

 begin

   s := 0;

   for j:=1 to N do

   s := s + A[i, j]*B[j];

   Y[i] := s;

//Виведення результату в таблицю StringGrid3

   StringGrid3.Cells[0, i] := FloatToStrF(Y[i], ffFixed,6,2);

 end;

end;

end.

Індивідуальне завдання.

В усіх завданнях скалярні перемінні вводити за допомогою компонента TЕdit з відповідним поясненням у виді компонента TLabel. Скалярний результат виводити у виді компонента TLabel. Масиви представляти на формі у виді компонентів TStringGrid, у яких 0-й стовпець і 0-ю рядок використовувати для відображення індексів масивів. Обчислення виконувати, після натискання кнопки типу TButton.

  1.  Задано матрицю розміром . Одержати масив B, присвоївши його k-му елементові значення 0, якщо всі елементи k-го стовпця матриці нульові, і значення 1 у противному випадку.  
  2.  Задано матрицю розміром . Одержати масив B, присвоївши його k-му елементові значення 1, якщо елементи k-ої рядка матриці упорядковані по убуванню, і значення 0 у противному випадку.
  3.  Задано матрицю розміром . Одержати масив B, присвоївши його k-му елементові значення 1, якщо k-а рядок матриці симетричний, і значення 0 у противному випадку.
  4.  Задано матрицю розміром . Визначити k - кількість "особливих" елементів матриці, вважаючи елемент "особливим", якщо він більше суми інших елементів свого стовпця.
  5.  Задано матрицю розміром . Визначити k - кількість "особливих" елементів матриці, вважаючи елемент “особливим”, якщо в його рядку ліворуч від нього знаходяться елементи менші його, а праворуч – більші.
  6.  Задано символьну матрицю розміром . Визначити k - кількість різних елементів матриці (тобто повторювані елементи вважати один раз).
  7.  Дано матрицю розміром . Упорядкувати її рядки по неубуванню їхніх перших елементів.
  8.  Дано матрицю розміром . Упорядкувати її рядки по неубуванню суми їхніх елементів.
  9.   Дано матрицю розміром . Упорядкувати її рядки по неубуванню їхніх найбільших елементів.
  10.  Визначити, чи є задана квадратна матриця n-го порядку симетричною щодо побічної діагоналі.
  11.  Для матриці розміром вивести на екран усі її сідлову точки. Елемент матриці називається сідловою точкою, якщо він є найменшим у своєму рядку й одночасно найбільшим у своєму стовпчикі, або навпаки.
  12.  У матриці n-го порядку переставити рядка так, щоб на головній діагоналі матриці були розташовані елементи, найбільші по абсолютній величині.
  13.  У матриці n-гo порядку знайти максимальний серед елементів, що лежать нижче побічної діагоналі, і мінімальний серед елементів, що  лежать вище головної діагоналі.
  14.  У матриці розміром  поміняти місцями рядок, що містить елемент із найбільшим значенням з рядком, що містить елемент із найменшим.
  15.  З матриці п-го порядку одержати матрицю порядку п-1 шляхом видалення з вихідної матриці рядка і стовпця, на перетинанні яких розташований елемент із найбільшим по модулі значенням.
  16.  Дано масив з k символів. Вивести на екран спочатку всі цифри, що входять у нього, а потім всі інші символи, зберігаючи при цьому взаємне розташування символів у кожній з цих двох груп.
  17.  Дано масив, що містить від 1 до k символів, за яким стоїть крапка. Вивести цей текст у зворотному порядку.
  18.  Дано непорожній масив з цифр. Вивести на екран цифру, що найбільше часто зустрічається в цьому масиві.
  19.   Відсортувати елементи масиву Х по зростанню.
  20.  Елементи масиву Х розташувати в зворотному порядку.
  21.  Елементи масиву Х циклічно зрушити на k позицій уліво.
  22.  Елементи масиву Х циклічно зрушити на n позицій вправо.
  23.  Перетворити масив Х за наступним правилом: усі від’ємні елементи масиву перенести в початок, а всі інші – у кінець, зберігаючи вихідне взаємне розташування, як серед негативних, так і серед інших елементів.
  24.  Елементи кожного з масивів X і Y упорядковані по неубуванню. Об'єднати елементи цих двох масивів в один масив Z так, щоб вони знову виявилися упорядкованими по неубуванню.
  25.  Дано масив з k символів. Чи визначити симетричний він, тобто чи читається він однаково ліворуч праворуч і праворуч ліворуч.
  26.  Дано два масиви. Знайти найменше серед тих елементів першого масиву, що не входить у другий.
  27.  Визначити кількість інверсій у цьому масиві Х (тобто таких пар елементів, у яких більше число знаходиться ліворуч від найменшого:  при  ).
  28.  Дано масив з рядкових латинських букв. Вивести на екран за абеткою всі букви, що входять у цей текст по одному разі.
  29.  Вивести на екран заданий масив з k символів, видаливши з нього повторні входження кожного символу.
  30.  Визначити скільки різних символів входить у заданий текст, що містить не більш k символів і які закінчуються крапкою (у сам текст крапка не входить).
  31.  Задано матрицю розміром . Одержати масив А, присвоївши його k-му елементові значення 1, якщо всі елементи k-го стовпця матриці нульові, і значення 0 у противному випадку.  
  32.  Задано матрицю розміром . Одержати масив А, присвоївши його k-му елементові значення 1, якщо елементи k-ої рядка матриці упорядковані по зростанню, і значення 0 у противному випадку.
  33.  Задано матрицю розміром . Одержати масив А, присвоївши його k-му елементові значення 0, якщо k-а рядок матриці симетричний, і значення 1 у противному випадку.
  34.  Задано матрицю розміром . Визначити k - кількість "особливих" елементів матриці, вважаючи елемент "особливим", якщо він більше суми інших елементів свого стовпця.
  35.  Задано матрицю розміром . Визначити k - кількість елементів матриці, у яких у рядку праворуч від нього знаходяться елементи менші, а – ліворуч великі.
  36.  Задано матрицю розміром . Визначити k - кількість різних елементів матриці (тобто повторювані елементи вважати один раз).
  37.  Дано матрицю розміром . Упорядкувати її рядки по убуванню їхніх перших елементів.
  38.  Дано матрицю розміром . Упорядкувати її рядки по убуванню суми їхніх елементів.
  39.   Дано матрицю розміром . Упорядкувати її рядки по убуванню їхніх найбільших елементів.
  40.  Визначити, чи є задана квадратна матриця n-го порядку симетричної щодо головної діагоналі.
  41.  Дано дійсну квадратну матрицю. Потрібно перетворити матрицю в такий спосіб: поелементно відняти останній рядок із усіх рядків, крім останньої.
  42.  Дано дійсну квадратну матрицю. Потрібно перетворити матрицю в такий спосіб: поелементно відняти останній стовпець з усіх, крім останнього.


 

А также другие работы, которые могут Вас заинтересовать

48401. Професійне спілкування. Вимоги до професійного спілкування 367.5 KB
  Професійне спілкування сприймається як усний мовний контакт між людьми, що зв’язані інтересами справи і мають повноваження для встановлення ділових контактів, вирішення ділових проблем і здійснення конкретних підходів до їх вирішення. Тобто ділова розмова – це «дракон із чотирма головами»
48402. Основи промислової електроніки і МПТ 7.77 MB
  Курс лекцій написаний для студентів спеціальності “Монтаж і експлуатація електроустаткування підприємств і цивільних споруд” денної форми навчання. Обсяг кожної лекції розрахований на два академічні години. Кожну лекцію можна вивчати незалежно від попередньої. Лекції містять ретельно підібраний матеріал, мають велику кількість ілюстрацій, електричних і логічних схем. Дано параметри напівпровідникових приладів і мікросхем, їх позначення.
48403. Необхідність, сутність і функції фінансів 48.11 KB
  Юридичні особи діяльність яких повязана з наданням професійних послуг на ринку цінних паперів до них відносяться підприємства що спеціалізуються на здійсненні посередницької діяльності по випуску та розміщенню цінних паперів виконуючи операції на фондовому ринку за дорученням своїх клієнтів. Фінанси підприємства. Субєктами господарювання є: Господарські організації це юридичні особи створені відповідно до цивільного кодексу України державні комунальні та інші підприємства створенні відповідно до господарського кодексу України а також...
48404. Предмет фінансової науки. Фінансові категорії 1.04 MB
  Тут зосереджувалася основна маса доходів у бюджеті централізувалося більше 50 валового внутрішнього продукту і до 75 національного доходу а без асигнувань з бюджету практично неможливим було функціонування значної частини підприємств установ соціальнокультурної сфери будівництво житла існування житловокомунального Господарства тощо. Значення державного бюджету обумовлено не лише обсягом коштів зосереджених у ньому а й найбільш розвиненою системою взаємозвязків з усіма іншими ланками та сферами. до Європейської хартії про місцеве...
48405. СТАТЬ І СЕКСУАЛЬНІСТЬ: ПСИХОЛОГО-ПЕДАГОГІНИЙ ПОГЛЯД 584 KB
  Статева соціалізація особистості оволодіння підростаючим поколінням нормами поведінки з представниками протилежної статі підготовка молоді до інтимних стосунків створення сімї та виховання дітей залишалась у тіні. Відсутність системи статевої просвіти серед дітей та юнацтва нестача висококваліфікованих педагогів з питань сексології психології статі брак наукової та науковопопулярної літератури з питань статі шлюбу та сімї негативно позначаються на засвоєнні учнями норм поведінки та самовизначенні особистості у складних питаннях...
48406. Функціонування Internet: організація, структура, методи 335.69 KB
  Еталонна модель ISOOSI Сучасні мережі побудовані за багаторівневим принципом. Для роботи мереж необхідна множина різноманітних протоколів: наприклад таких що керують фізичним зв'язком встановленням зв'язку по мережі доступом до різноманітних ресурсів і т. Він відповідає за правильну передачу даних пакетів на ділянках між безпосередньо пов'язаними елементами мережі. Цей рівень користується можливостями наданими йому рівнем 2 для забезпечення зв'язку двох будьяких точок у мережі.
48407. Теоретичні та методологічні засади комунікації і комунікаційних процесів 467.76 KB
  Теоретичні та методологічні засади комунікації і комунікаційних процесів Теорія комунікації як наукова дисципліна Основні визначення теорії комунікації. Предмет теорії комунікації. Закони теорії комунікації.
48408. Міжнародна економіка 30.64 KB
  Тема Агенти відкритої економіки беруть участь в міжнародному обміні товарів і послуг переміщенні грошей капіталу і робочої сили між країнами. Мезорівень охоплює економічні звязки між регіонами галузями міжгалузевими комплексами окремих країн. Світовий ринок це сфера стійких товарногрошових відносин між країнами які базуються на міжнародному поділі праці та інших факторів виробництва. Світове господарство це сукупність взаємодіючих національних економік всіх країн світу повязаних між собою мобільними факторами виробництва.
48409. Основи мотиваційних процесів 42.13 KB
  Маніпулювання – приховане спонукання іншої людини, прийняття рішень, до переживання певних станів, і виконання необхідних для ініціатора цілей. Стимулювання – предявлення зовнішнього фактору, з метою посилення і прийняття мисленнєвих, емоційних і поведінкових реакцій.