Презентация к уроку информатики 11 класс Автор: Юдин Андрей Борисович МКОУ Плесская СОШ
1 1 Компонент МЕМО Ввод Массив А Хранение Компонент МЕМО Вывод Движение информации при вводе одномерного массива с клавиатуры
Номера строк в Memo Массив Memo1.Lines[i]=A[i+1] Связь между элементами Memo1.Lines[i]=A[i+1] Связь между элементами Memo1.Lines[i]=A[i] Связь между элементами Массив начинаем с 0: a:array[0..100] of integer; Memo1.Lines[i]=A[i] Связь между элементами Массив начинаем с 0: a:array[0..100] of integer;
Заполнение массива с клавиатуры Массив начинаем с 1: a:array[1..100] of integer; Массив начинаем с 1: a:array[1..100] of integer; 3 3 Memo1 Исходный массив. Заполняется с клавиатуры Memo2 Преобразованный массив. Резултат работы программы Компонент Memo c 0: for i:=0 to n-1 do... Компонент Memo c 0: for i:=0 to n-1 do...
N:=Memo1.Lines.Count; Количество заполненных строк N:=Memo1.Lines.Count; Количество заполненных строк 4 4 Memo1.Lines[i] i-я строка в Memo Memo1.Lines[i] i-я строка в Memo Memo2.Clear; Очищаем Memo от информации Memo2.Clear; Очищаем Memo от информации Memo2.Lines.Add('строка') Добавляем в Memo новую строку Memo2.Lines.Add('строка') Добавляем в Memo новую строку Внимание! При заполнении массива после последней цифры Enter не нажимать!
5 5 N:=Memo1.Lines.Count; for i:=0 to n-1 do a[i+1]:=strtoint(Memo1.Lines[i]); for i:=1 to n do... Memo2.Clear; for i:=0 to n-1 do Memo2.Lines.Add(inttostr(a[i+1])); Считываем количество элементов Считываем элементы в массив из Memo1 Цикл обработки массива Очищаем Memo2 (если кнопка «Преобразовать» нажата несколько раз) Заполняем Memo2 из массива
6 6 Компонент МЕМО Ввод Массив А Хранение Компонент МЕМО Вывод Движение информации при заполнении одномерного массива случайными числами Компонент Edit Количество Генератор случайных чисел
Заполнение массива случайными числами 7 7 Добавим Edit1 для ввода количества элементов Заполняем Memo1 случайными числами Преобразуем и выводим измененный массив в Memo2
8 8 N:=strtoint(Edit1.text); for i:=1 to n do a[i]:=random(21)-10; for i:=0 to n-1 do Memo1.Lines.Add(inttostr(a[i+1])); Считываем количество элементов Заполняем массив случайными числами Добавляем элементы массива в Memo1
9 9 for i:=1 to n do... Memo2.Clear; for i:=0 to n-1 do Memo2.Lines.Add(inttostr(a[i+1])); Цикл для преобразования массива Очищаем Memo(если кнопка «Преобразовать» нажата несколько раз) Заполняем Memo2
10 Компонент Stringgrid Компонент Stringgrid1 Компонент Stringgrid2
11 Компонент Stringgrid Ввод Массив А Хранение Компонент Stringgrid Вывод Движение информации при заполнении двумерного массива случайными числами Компоненты Edit (2 шт.) Количество строк и столбцов Генератор случайных чисел
12 ячейки (номер столбца, номер строки) ячейки (номер строки, номер столбца) StringGrid Массив
13 StringGrid1.Cells[i, j] Содержимое ячейки StringGrid1.Cells[i, j] Содержимое ячейки StringGrid1. RowCount Количество строк StringGrid1. RowCount Количество строк StringGrid1. ColCount Количество столбцов StringGrid1. ColCount Количество столбцов with StringGrid1 do S:=Cells[Col,Row]; Содержимое выделенной ячейки with StringGrid1 do S:=Cells[Col,Row]; Содержимое выделенной ячейки
14 m:=strtoint(Edit1.Text); n:=strtoint(Edit2.Text); stringgrid1.ColCount:=n+1; stringgrid1.RowCount:=m+1; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=random(25)+1; StringGrid1.Cells[j,i]:=inttostr(a[i,j ]); end; Считываем количество столбцов и строк Задаем размеры StringGrid1 Заполняем массив Заполняем StringGrid1 из массива
15 stringgrid2.ColCount:=n+1; stringgrid2.RowCount:=m+1; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=a[i,j]+1; StringGrid2.Cells[j,i]:=inttostr(a[i,j]); end; Задаем размеры StringGrid2 Изменяем массив Заполняем StringGrid2 из массива
16 Массив заполненный случайными числами Массив преобразованный (все значения увеличены на единицу)
17 Компонент Stringgrid Ввод Массив А Хранение Компонент Stringgrid Вывод Движение информации при вводе двумерного массива с клавиатуры
goEditing Возможность редактировать содержимое ячейки с клавиатуры 18 Ставим True для разрешения редактирования ячеек таблицы с клавиатуры
19 Задаем размеры необходимой таблицы и заполняем ее с клавиатуры Происходит считывание данных из первой таблицы в массив, преобразование и вывод во вторую таблицу Внимание! Все ячейки первой таблицы должны быть заполнены.
20 m:=strtoint(Edit1.Text); n:=strtoint(Edit2.Text); stringgrid1.ColCount:=n+1; stringgrid1.RowCount:=m+1; Считываем размеры таблицы Задаем размеры таблицы для исходного массива
21 for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=strtoint(StringGrid1.Cells[j,i]); end; stringgrid2.ColCount:=n+1; stringgrid2.RowCount:=m+1; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=a[i,j]+1; StringGrid2.Cells[j,i]:=inttostr(a[i,j]); end; Заполняем массив из StringGrid1 Задаем размеры второй таблицы Изменяем элементы массива заполняем ими StringGrid2
1. Delphi Алгоритмы и программы: О. В. Чеснокова Санкт- Петербург, НТ Пресс, 2008 г. 2. Основы программирования в интегрированной среде DELPHI: А. Желонкин Москва, Бином. Лаборатория знаний, 2004 г. 3. Программирование в Turbo Pascal. Переход к Delphi: Ю. А. Шпак Москва, МК-Пресс, 2006 г. 4. Занимательное программирование: М. Мозговой – СПб, Питер, 2005 г. 5.Delphi. Программирование на языке высокого уровня: Фаронов В.В. Учебник для вузов. – СПб.: Питер, – 640 с.: ил. И интернет ресурсы: 1. Королевство Delphi - виртуальный клуб программистов Мастера Delphi 3. Сайт о Lazarus. Алгоритмы, статьи, библиотеки и много всего интересного 22 Список литературы и интернет источников