Программирование циклических алгоритмов

Содержание

Слайд 2

Инструкция цикла с предусловием while do begin end; s:=0; n:=1; while

Инструкция цикла с предусловием

while <лог. выражение> do
begin
<инструкции>
end;

s:=0; n:=1;
while n<=100 do
begin
s:=s+1/n;
n:=n+1;
end;

Пример: вычислить сумму
S = 1 + 1/2 + 1/3 +… + 1/100

Слайд 3

repeat until s:=0; n:=1; repeat s:=s+1/n; n:=n+1; until n>100; Пример: вычислить

repeat
<инструкции>
until <лог. выражение>

s:=0; n:=1;
repeat
s:=s+1/n;
n:=n+1;
until

n>100;

Пример: вычислить сумму
S = 1 + 1/2 + 1/3 +… + 1/100

Инструкция цикла с постусловием

Слайд 4

Инструкция цикла с параметром for параметр:=нач_знач to кон_знач do begin end;

Инструкция цикла с параметром

for параметр:=нач_знач to кон_знач do
begin
<инструкции>
end;

down

Пример:

вычислить сумму
S=1 + 1/2 + 1/3 +… + 1/100

s:=0;
for n:=1 to 100 do
begin
s:=s+1/n;
end;

Слайд 5

Сравнение циклов разных типов

Сравнение циклов разных типов

Слайд 6

Массивы

Массивы

Слайд 7

Массивы Массив — это структура данных, представляющая собой набор переменных одинакового

Массивы

Массив — это структура данных, представляющая собой набор переменных одинакового типа,

имеющих общее имя
Массивы удобно использовать для хранения однородной по своей природе информации, например, таблиц и списков и т.п.
Слайд 8

Oбъявление массива в разделе var имя: array [начальный_индекс .. конечный_индекс] of

Oбъявление массива в разделе var
имя: array [начальный_индекс .. конечный_индекс] of

тип
где:
имя — имя массива;
array — зарезервированное слово языка Delphi, обозначающее, что объявляемая переменная является массивом;
начальный_индекс и конечный_индекс – константы типа integer или char, определяющие границы массива;
тип — тип элементов массива.

Одномерные массивы

Примеры объявления массивов:
koef : array[0..99] of integer;
name : array[1..30] of string;
temper : array[‘a’.. ‘z’] of real;

Слайд 9

Использование одномерных массивов в программах Обращение к конкретному элементу массива производится

Использование одномерных массивов в программах

Обращение к конкретному элементу массива производится по

общему имени и номеру элемента, заключенному в квадратные скобки, например:
koef[1],
name[15],
temper[‘f’]

Для последовательной обработки всех элементов массива чаще всего используется цикл с параметром:
for i:=… to … do

Слайд 10

Компоненты Delphi для работы со списками Класс TListBox (вкладка Standard) Компоненты

Компоненты Delphi для работы со списками

Класс TListBox (вкладка Standard)

Компоненты этого класса

представляют собой многострочные окна, подобно Memo, но без возможности редактирования
Они предназначены для работы с одномерным массивом строк
Нумерация строк начинается с нуля
Одна или несколько строк могут быть выделены с помощью мыши
Слайд 11

Основные свойства компонентов класса TListBox

Основные свойства компонентов класса TListBox

Слайд 12

Основные методы компонентов класса TListBox

Основные методы компонентов класса TListBox

Слайд 13

Пример 1: заполнение списка значениями функции на отрезке [2, 3] с

Пример 1: заполнение списка значениями функции на отрезке [2, 3] с

шагом 0,01

var
. . .
i : integer;
x : real;
. . .
x:=2;
for i := 0 to 100 do
begin
ListBox1.Items.Add(FloatToStr(1/sqrt(x*x-1));
x:=x+0.01;
end;
Возможен и такой вариант:
x:=2;
while x<=3 do
begin
ListBox1.Items.Add(FloatToStr(1/sqrt(x*x-1));
x:=x+0.01;
end;

Слайд 14

Пример 2: копирование выделенных строк из одного списка в другой for

Пример 2: копирование выделенных строк из одного списка в другой

for i

:= 0 to ListBox1.Count-1 do
begin
if ListBox1.Selected[i] then
begin
ListBox2.Items.Add(ListBox1.Items[i]);
end;
end;

А если нужно не скопировать, а перенести, то так:
i := 0;
while i<= ListBox1.Count-1 do
begin
if ListBox1.Selected[i] then
begin
ListBox2.Items.Add(ListBox1.Items[i]);
ListBox1.Items.Delete(i);
end
else i := i + 1;
end;

Слайд 15

Класс TComboBox (вкладка Standard) Компоненты этого класса представляют собой выпадающий список

Класс TComboBox (вкладка Standard)

Компоненты этого класса представляют собой выпадающий список

Имеют свойства

Items и Count как у класса TListBbox

Имеют все методы класса TListBox

Свойства, отсутствующие у класса TListBox:

Слайд 16

Пример 1: пополнение списка элементом, введенным пользователем Пример 2: пополнение списка

Пример 1: пополнение списка элементом, введенным пользователем

Пример 2: пополнение списка элементом,

введенным пользователем, если этот элемент отсутствует в списке
ComboBox1.Items.Add(ComboBox1.Text));

if ComboBox1. ItemIndex = -1 then
ComboBox1.Items.Add(ComboBox1.Text));

Пример 3: подсчет количества нулевых элементов в списке

k:=0;
for i := 0 to ComboBox1.Count-1 do
begin
if ComboBox1.Items[i] = ‘0’ then
k := k + 1;
end;
Edit2.Text:= IntToStr(k); {вывод результата на экран}