Четверг, 14.11.2019, 23:01
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Тема. Обработка табличных величин. Упражнения

Задание 4.  В среде Lazarus разработайте проект, в котором столбец из четырех слов, которые пользователь вводит в многострочное поле, будет размещаться в строке таблицы.
1. Откройте среду Lazarus и создайте новый проект. Разместите на форме проекта многострочное поле, таблицу и кнопку пуск для запуска проекта.


    2. Задайте свойства объектов формы.

 

    3. Создайте процедуру обработки события пуск. В окне редактора кода опишите переменные:

  • i - счетчик номеров строк в многострочном поле, счетчик цикла  и номеров столбцов в таблице вывода;
  • а - массив значений.

procedure TForm1.Button1Click (Sender: TObject);
 var a: array [1..4] of string; i: integer;
begin

end;
    4. Запишите программу для считывания данных из текстового поля, формирования надписей в таблице и заполнение ячеек таблицы.

procedure TForm1.Button1Click (Sender: TObject);
 var a: array [1..4] of string; i: integer;
begin
   StringGrid1.Cells [0,1]: =
'времена года'; //Ввод слова в ячейку (0,1)    нулевого столбца первой строки таблицы
    for i: = 1 to 4 do
        
begin
           a [i] = memo1.lines [i-1];  //Ввод элементов массива, нумерация  срок в memo1 начинается с нуля}

           StringGrid1.Cells [i, 0] = inttostr (i); //Создание заголовка первой строки таблицы,   ячейкa (0,0) должна быть свободной
           StringGrid1.Cells [i, 1] = a [i]; // ввод элемента массива в ячейку таблицы
           memo1.lines [i-1] = ''; // построчно удаление срок в поле memo1
      end;
end;

    5. Запустите проект на выполнение. Убедитесь, что условию задачи действия, связанные с объектами управления экранной формы. Если есть ошибки, исправьте их.

  • Редактор  StringGrid1 вызываем командой контекстного меню компонента.


 

    6. Завершите работу с проектом и средой программирования, сохранив все изменения.

Итог

 

Задание 5. В массиве а [1..10] переставить местами элементы, стоящие на четных и нечетных местах: а [1] на а [2], ..., а [9] на а [10].

Заполняем таблицу, используя редактор StringGrid1:

Решение:

Создайте новый проект. Добавьте на форму:

  • кнопку "Выполнить перестановку";
  • компонент StringGrid .

Настройте свойства  StringGrid следующим образом:

В процедуре обработки события OnCreate для формы запрограммируйте вывода индексов элементов массива в зафиксированную строку заголовков столбцов.

procedure TForm1.FormCreate(Sender: TObject);
    var i:integer;
begin
  for i:=1 to 10 do
  stringgrid1.Cells[i-1,0]:=inttostr(i);  //ввод индексов элементов массива  с нулевой ячейки таблицы  строки с номером -нулевая;
end;

В процедуре обработки события OnClick для кнопки  "Выполнить перестановку" запрограммируйте:

а) заполнение массива значениями ячеек таблицы StringGrid1;

б) попарно перестановку элементов; в) вывод значений элементов массива в таблицу StringGrid1.

procedure TForm1.Button1Click(Sender: TObject);
  var a:array[1..10] of integer; i,c:integer;
// объявление переменных: i - для индексации очередного столбца   ; с - для временного запоминания очередного a[i] элемента массива
begin
  for i:=1 to 10 do  
//заполнение массива
          if  length (stringgrid1.Cells[i-1,1])<>0 then a[i] := strtoint(stringgrid1.Cells[i-1,1])  else a[i]:=0;
  i:=1;
 //перестановка элементов массива
  while i<=9 do  begin   c:= a[i]; a[i]:= a[i+1]; a[i+1]:=c; i:=i+2;   end;

  for i:=1 to 10 do   stringgrid1.Cells[i-1,1]:=inttostr(a[i]);  //вывод элементов массива
end;

Итог: 

визуализация элементов массива

Форма входа
Поиск
Календарь
«  Ноябрь 2019  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2019
    Конструктор сайтов - uCoz