Циклы, прерывание, компоненты для отображения текста

Понятие и назначение условных операторов, их функциональные особенности и характерные свойства. Разновидности и отличия циклов. Прерывание фрагмента программы с циклом с использованием оператора break. Компоненты для отображения и редактирования текста.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 02.05.2012
Размер файла 13,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Вступление

Условные операторы, также называемые операторами ветвления, позволяют направлять выполнение сценария в ту или иную сторону, в зависимости от результата логической проверки. С их помощью на этапе выполнения кода можно принимать решения и действовать в соответствии с последними. Операторы цикла также являются мощным инструментом программирования, потому что позволяют выполнять итерационные операции над наборами данных. Это именно то, в чем компьютеры превосходят людей - быстрые повторяющиеся вычисления. Оператор цикла продолжает выполнять команды, входящие в его тело, пока не будет выполнено заданное условие.

1. Циклы

В большинстве задач, встречающихся на практике, необходимо производить многократное выполнение некоторого действия. Такой многократно повторяющийся участок вычислительного процесса называется циклом. Если заранее известно количество необходимых повторений, то цикл называется арифметическим. Если же количество повторений заранее неизвестно, то говорят об итерационном цикле. В итерационных циклах производится проверка некоторого условия, и в зависимости от результата этой проверки происходит либо выход из цикла, либо повторение выполнения тела цикла. Если проверка условия производится перед выполнением блока операторов, то такой итерационный цикл называется циклом с предусловием (цикл «пока»), а если проверка производится после выполнения тела цикла, то это цикл с постусловием (цикл «до»). Особенность этих циклов заключается в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, а тело цикла с предусловием может ни разу не выполниться. В зависимости от решаемой задачи необходимо использовать тот или иной вид итерационных циклов.

Арифметические циклы

Синтаксис:

for переменная:= значение 1 to значение 2 do оператор

или

for переменная:= значение 1 downto значение 2 do оператор

Оператор for вызывает оператор, находящийся после слова do, по одному разу для каждого значения в диапазоне от значения 1 до значения 2.

Переменная цикла, начальное и конечное значения должны иметь порядковый тип. Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла. Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла. Как и в случае использования оператора условного прехода, следует помнить, что синтаксис языка допускает запись только одного оператора после ключевого слова do, поэтому, если вы хотите в цикле выполнить группу операторов, обязательно надо объединить их в составной оператор (окаймить операторными скобками begin… end). В противном случае будет сделана логическая ошибка программы.

Пример 1. Квадраты чисел от 2-х до 10-и.

for x:=2 to 10 do WriteLn (x*x);

Пример 2. Латинский алфавит.

for ch:='A' to 'Z' do Writeln(ch);

Пример 3. Использование цикла с downto.

for i:=10 downto 1 do WriteLn(i);

Пример 4. Использование составного оператора.

for x:=1 to 10 do begin

y:=2*x+3;

WriteLn ('f(', x, ')=', y);

end;

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

Синтаксис:

while выражение do оператор

Оператор после do будет выполняться до тех пор, пока логическое выражение принимает истинное значение (True). Логическое выражение является условием возобновления цикла. Его истинность проверяется каждый раз перед очередным повторением оператора цикла, который будет выполняться лишь до тех пор, пока логическое выражение истинно. Как только логическое выражение принимает значение ложь (False), осуществляется переход к оператору, следующему за while. Выражение оценивается до выполнения оператора, так что если оно с самого начала было ложным (False), то оператор не будет выполнен ни разу.

Здесь также следует помнить, что позволяется использовать только один оператор после ключевого слова do. Если необходимо выполнить группу операторов, то стоит использовать составной оператор.

Пример.

eps:=0.001;

while x > eps do x:=x/2;

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

Синтаксис:

repeat

оператор;

оператор;

оператор

until выражение

Операторы между словами repeat и until повторяются, пока логическое выражение является ложным (False). Как только логическое выражение становится истинным (True), происходит выход из цикла. Так как выражение оценивается после выполнения операторов, то в любом случае операторы выполнятся хотя бы один раз.

Пример.

repeat

WriteLn ('Введите положительное число');

ReadLn(x);

until x>0;

Операторы завершения цикла

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

В версии Турбо Паскаль 7.0 определены стандартные процедуры:

Break

Continue

Процедура Break выполняет безусловный выход из цикла. Процедура Continue обеспечивает переход к началу новой итерации цикла.

2. Прерывание фрагмента программы с циклом

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

 // Использование оператора break для выхода из цикла.

class BreakLoop {

public static void main (String args[]) {

for (int i=0; i<100; i++) {

if (i == 10) break; // выход из цикла если i равно 10

System.out.println («i:» + i);

}

System.out.println («Цикл завершен.»);

}

}

Эта программа генерирует следующий вывод:

i: 0

i: 1 

i: 2 

i: 3 

i: 4 

i: 5 

i: 6 

i: 7 

i: 8 

i: 9 

Цикл завершен.

Хотя цикл for должен был бы выполняться для значений управляющей переменной от 0 до 99, оператор break приводит к более раннему выходу из него, когда значение переменной i становится равным 10.

Оператор break прекращает исполнение ближайшего внешнего оператора while, for или switch. Исполнением оператора break является передача управления за пределы составного оператора while, for или switch, ближайшему следующему оператору. Оператор break может использоваться только для прерывания выполнения указанных операторов.

Похожие команды

Continue - Заставляет перейти к следующей итерации цикла.

Exit - Осуществляет выход из функции или процедуры.

For - Начинает цикл, который выполняется конечное число раз.

Goto - Вызывает скачок к метке, независимо от вложения.

Repeat - Повторяет инструкции, пока не выполнится условие завершения.

RunError - Заканчивает программу с диалогом ошибки.

While - Повторяет инструкции, пока выполнится условие продолжения.

3. Компоненты для отображения и редактирования текста

оператор цикл программа редактирование

Для отображения различных надписей на форме используются в основном компоненты Label, StaticText (метки, специально предназначенные для отображения текстов) и Panel (предназначен для компоновки компонентов в окне формы, но может быть использован и для вывода тестов).

Отображаемый тест во всех компонентах определяется значением свойства Cаption. Его можно устанавливать в процессе проектирования или программно. Например,

Label1. Caption:= `Новый текст';

StaticText1. Caption:= `Новый текст';

Для вывода числовой информации необходимо перевести число в строку.

Для перевода целого числа следует воспользоваться функцией IntToStr,

для перевода числа с плавающей точкой - FloatToStr.

Например

Label1. Caption: `Решение уравнения:' + FloatToStr(x); {конкатенация строк}

Во всех компонентах цвет фона определяется свойством Color, а цвет символов - подсвойством Color свойства Font.

Компоненты StaticText и Panel имеют свойство BorderStyle, определяющее рамку текста (бордюр). Компонент Panel имеет еще свойства BevelInner, BevelOuter, BevelWidth, BorderWidth. Все они используются для оформления надписи.

Размещение всех компонентов на форме определяется свойствами Top (верхний край), Left (левый край), Heght (высота), Width (ширина).

Размер меток Label, StaticText определяется свойством Autosize.

Если Autosize = True, то размеры компонента (вертикальный и горизонтальный) определяются размерами надписи.

Если Autosize = False, то выравнивание теста компонента определяется свойством Alignment, которое позволяет выравнивать текст по левому, правому краю или центру клиентской области метки.

Замечание. Свойство Autosize панели Panel не относится к размерам надписи, свойство Alignment работает.

Перенос длинного текста осуществляется:

· автоматически в метке StaticText, если Autosize = False и размер компонента достаточен для размещения нескольких строк;

· в метке Label, если

свойство WordWrap = True (допустимость переноса слов на новую строку)

Autosize = False (размер компонента не определяется размером надписи)

и высота компонента достаточна для размещения нескольких строк.

· в панели размещение нескольких строк невозможно!

Для отображения текстовой информации можно использовать окна редактирования Edit и MaskEdit в режиме ReadOnly (плюс AutoSelect=False). Появляется возможность прокрутки длинных текстов.

Вводимый и выводимый текст содержится в свойстве Text. Его можно задавать в процессе проектирования или изменять программно. Выравнивание текста и перенос строк невозможен. Свойством AutoSize автоматически подстраивается только высота текста, но не ширина. Если текст не помещается в окне, то его можно прокручивать с помощью курсора. Для них предусмотрены типичные комбинации горячих клавиш:

Ctrl-C - копирование выделенного текста в буфер обмена ClipBoard

Ctrl-X - вырезание выделенного текста в буфер обмена ClipBoard

Ctrl-V - вставка из буфера обмена ClipBoard в позицию курсора

Ctrl-Z - отмена последней команды редактирования

Можно установить свойство ReadOnly=false и это не позволит редактировать текст.

Свойство MaxLength определяет максимальную длину вводимого текста (при MaxLength=0 - длина не ограничена).

Свойство Modified, доступное только во время выполнеия, показывает, проводило ли редактирование текста в окне (вначале устанавливаетсяfalse, а затем проверяется.

Свойство PasswordChar позволяет превращать окно редактирования в окно ввода пароля, если установить PasswordChar=*, то при вводе пользователем текста, в окне будут появляться именно эти символы, обеспечивая секретность пароля

5. Вывод

Последовательность инструкций, предназначенная для многократного исполнения, называется телом цикла. Единичное выполнение тела цикла называется итерацией. Выражение определяющее, будет в очередной раз выполняться итерация, или цикл завершится, называется условием выхода или условием окончания цикла (либо условием продолжения в зависимости от того, как интерпретируется его истинность - как признак необходимости завершения или продолжения цикла). Переменная, хранящая текущий номер итерации, называется счётчиком итераций цикла или просто счётчиком цикла. Цикл не обязательно содержит счётчик, счётчик не обязан быть один - условие выхода из цикла может зависеть от нескольких изменяемых в цикле переменных, а может определяться внешними условиями (например, наступлением определённого времени), в последнем случае счётчик может вообще не понадобиться.

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

Список используемой литературы

1. Смирнов С. Уроки программирования Pascal b Delphi.

2. http://ru.wikipedia.org/wiki/%D0% A6% D0% B8% D0% BA % D0% BB

3. http://www.realcoding.net/articles/tsikly.html-2

4. http://cluster.linux-ekb.info/filerw1.php

5. http://www.delphi-manual.ru/lesson6.php

6. http://articles.org.ru/lection/inout.php

7.http://fh.grsu.by/deleted/home/livak/kursi/programming/lections/delphi/komio.htm

Размещено на Allbest.ru


Подобные документы

  • Изучение циклических операторов: оператора цикла, управляемого счетчиком, оператора цикла с предусловием и постусловием. Минимизированные функции, текст программы. Алгоритм работы приложения по нахождению функции с помощью операторов break и continue.

    лабораторная работа [474,2 K], добавлен 23.11.2014

  • Создание приложения для просмотра графических файлов. Компоненты, объекты и операторы для отображения графической информации в библиотеке Delphi. Канва как область компонента для рисования и отображения изображений. Рисование пером, закрашивание кистью.

    методичка [98,1 K], добавлен 19.06.2011

  • MS Word (OpenOffice.org Writer): настройка параметров страниц, предварительный просмотр документа. Выбор параметров отображения для приложений. Проверка правописания. Выбор языка для фрагмента текста. Редактирование и форматирование диаграмм в MS Excel.

    контрольная работа [1,2 M], добавлен 12.10.2013

  • Нaписaниe прогрaммы, тeстирующeй знaния пользовaтeля по рaздeлу мaтeмaтики "Геометрическая прогрессия". Иерархия основных классов MFC. Каркас MFC-программы и обработка сообщений. Вывод текста, установка цветов, режимов отображения, получение метрик.

    курсовая работа [2,6 M], добавлен 26.06.2011

  • Сущность и основные свойства алгоритма, способы и методы описания. Линейные и ветвящиеся вычислительные процессы, характеристика и отличительные черты. Основные понятия языка Паскаль. Структура и компоненты программы. Назначение структурных операторов.

    контрольная работа [20,6 K], добавлен 13.09.2009

  • Способы запуска и выхода из Word. Элементы интерфейса Microsoft Word. Разделы меню офиса. Отображение на экране необходимой панели инструментов. Копирования, перемещение и удаление фрагмента текста. Автоматизация процессов ввода и редактирования текста.

    лабораторная работа [24,2 K], добавлен 15.11.2010

  • Изучение работы периферийных устройств, из назначения и характеристик. Особенности интерфейса программы и его возможностей: окна и их компоненты, управляющие элементы окна, командные кнопки, переключатели, радиокнопки, поля текста, иконки (пиктограммы).

    реферат [1,0 M], добавлен 02.03.2010

  • Программа в среде Genie. Сбор данных о технологическом процессе. Функциональные возможности и технические характеристики аппаратных средств. Экранные формы интерфейса оператора рабочей программы. Функциональные блоки стратегии, отображения и управления.

    курсовая работа [3,2 M], добавлен 13.03.2012

  • Разработка программы для редактирования в оперативной памяти текстовых ASCII-файлов размером не более 40 килобайт, на языке программирования Pascal в среде разработки Turbo Pascal 6.0. Инструкция для пользователя. Листинг разработанной программы.

    курсовая работа [21,3 K], добавлен 26.11.2011

  • Сущность и назначение программы 3D Studio Max версии 9.0, ее возможности в создании отдельных изображений и анимации. Объекты Мах 9.0, их разновидности и характеристика, порядок обработки. Методика отображения трехмерного пространства через окна проекций.

    курсовая работа [2,4 M], добавлен 04.05.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.