Оператор цикла с параметром FOR

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

им. Н. П. ОГАРЕВА»

Светотехнический факультет

Кафедра светотехники

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

«Программирование с использованием циклов»

Саранск 2006

Цель работы: изучить принципы работы с многострочным редактором. Научиться программировать с использованием циклов.

Теоретическая часть

Многострочный редактор.

Компонент Memo содержит несколько строк текста. Для работы с отдельными строками используется св-во Lines типа String. Нумерация строк начинается с нуля.

Методы Add и Insert служат для добавления/вставки строк в список. Функция Add(S) добавляет заданную строку S в конец списка. Процедура Insert(n, S) вставляет строку S на позицию с номером n.

Memo1.Lines[1]:=’adhfd’; - второй строке присваивается новое значение

Memo1.Lines.Clear; - содержимое редактора полностью очищается

Memo1.Lines.Add(‘sdgg’); - в конец текста редактора добавляется новая строка.

Содержимое компонента Memo можно загружать из файла и сохранять в текстовом файле. Для этого используются методы LoadFromFile(FileName) и SaveToFile(FileName).

Memo1.Lines. LoadFromFile(‘c:\ПРОБА\хаха.txt’) – чтение из файла,

Memo1.Lines. SaveToFile (‘c:\ПРОБА\хаха.txt’)- запись в файл.

Св-во AutoSelect типа Boolean определяет, будет ли автоматически выделен текст в элементе редактирования, когда последний получает фокус.

Значение св-ва SelText типа String определяет выделенный фрагмент.

Св-ва SelStart и SelLength типа Integer задают начальную позицию в строке и длину выделенного фрагмента.

Если фрагмент выделяется программно и должен быть выделен цветом, то св-ву HideSelection необходимо установить значение False (если True – то текст не будет выглядеть выбранным при переходе фокуса на другой элемент управления).

Метод SelectAll выделяет весь текст в элементе редактирования.

Методы CopyToClipBoard и CutToClipBoard копирует и вырезает в буфер обмена выделенный фрагмент текста.

Memo1.CopyToClipBoard;

Метод PasteFromClipBoard вставляет текс из буфера обмена в место текущего курсора.

Метод Count возвращает количество строк в компоненте Memo. Т.к. первая строка имеет нулевой номер, то номер последней строки равен Count-1.

i:=Memo1.lines.Count;

Оператор цикла с параметром FOR.

Эта инструкция организует выполнение одной последовательности действий заранее известное число раз.

В общем виде инструкция for записывается следующим образом:

for счетчик: нач_знач to кон_знач_счетчика do { последовательность инструкций, которая называется телом цикла }

где

счетчик — имя переменной-счетчика числа повторений инструкций цикла;

нач_знач — выражение, определяющее начальное значение переменной-счетчика;

кон_знач — выражение, определяющее конечное значение переменной-счетчика.

Оператор цикла WHILE.

Инструкция while используется в том случае, если некоторую последова­тельность действий (инструкций программы) надо выполнить несколько раз, причем, необходимое число повторений во время разработки програм­мы неизвестно и может быть определено только во время ее работы, т. е. в процессе вычисления.

Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным.

В общем виде инструкция while записывается следующим образом:

while условие do {последовательность инструкций}

где условие — выражение логического типа.

Оператор цикла REPEAT.

Инструкция repeat . . until, как и инструкция while, используется в про­грамме, если надо провести некоторые повторные вычисления (организовать цикл), причем, необходимое число повторений во время раз­работки программы неизвестно и может быть определено только во время работы программы, т. е. определяется ходом вычисления.

В общем виде инструкция repeat.. .until записывается следующим образом:

repeat

инструкция1;

инструкция2;

инструкция3;

until условие;

где условие — выражение логического типа, определяющее условие завер­шения цикла.

Инструкции, находящиеся между repeat и until выполня­ются до тех пор, пока условие ложно (значение выражения условие равно false).

Процедуры Break и Continue.

Процедура Break позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода. Процедура Continue позволяет начать новую итерацию цикла, даже если предыдущая не завершена.

Задание.

1. Задать одномерный массив – константу, содержащий 10 целых чисел. Найти минимальный и максимальный элементы, вывести их значения и индексы.

2. Используя многострочный редактор ввести двумерный массив, содержащий 3 столбца и 3 строки. Найти сумму и среднее арифметическое элементов массива.

3. Ввести два двумерных массива (3*3). Провести транспонирование первого массива, затем поэлементное суммирование транспонированного и второго массивов.

4. Используя многострочный редактор и динамический массив ввести массив, состоящий из произвольного количества строк и столбцов.

Наши рекомендации