Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
informatika_2.doc
Скачиваний:
3
Добавлен:
26.09.2019
Размер:
148.99 Кб
Скачать

50. Операторы присваивания. Примеры

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

Пример

Название

Результат

$а = 5;

Присваивание

Переменная $а равна 5

$а += 5;

Сложение с присваиванием

Переменная $а равна сумме $а и 5

$а *= 5;

Умножение с присваиванием

Переменная $а равна произведению $а и 5

$а/=5;

Деление с присваиванием

Переменная $а равна частному отделения $а на 5

$а .= 5;

Конкатенация с присваиванием

Переменная $а равна конкатенации $а и 5

Умеренное использование операторов присваивания обеспечивает более наглядный и компактный код.

1)Простой оператор присваивания записывается так:

переменная = выражение;

Данный оператор работает следующим образом: вначале вычисляется выражение, записанное справа от символа операции = (равно), затем полученный результат присваивается переменной, стоящей слева от знака =. Тип результата должен совпадать с типом переменной, записанной слева, или быть к нему приводимым.

Слева от знака = может быть только переменная, справа же можно записать и константу, и переменную и вообще выражение любой сложности.

Пример операторов

x=3; r=x; y=x+3*r; s=Math.Sin(x);

2)Множественное присваивание — в таком операторе последовательно справа налево нескольким переменным присваивается одно и то же значение, например:

a=b=c=1;

Так можно сразу определить, к примеру , что в равностороннем треугольнике все стороны равны одному и тому же числу 1. Приведенный выше оператор эквивалентен последовательному выполнению трёх операторов:

a=1; b=a c=b;

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

3) Присваивание с одновременным выполнением какой-либо операции в общем виде записывается так:

переменная знак_операции = выражение;

и равносильно записи

переменная = переменная знак_операции выражение;

Например, оператор:

s += 5; // 1-й вариант

делает то же самое, что и оператор

s = s + 5; // 2-й вариант

а именно: взять старое значение из переменной s, прибавить к нему число 5 и полученное значение снова записать в переменную s.

Как видим, запись 1-го варианта короче записи 2-го варианта, да и выполняется быстрее, так как в 1-м варианте адрес переменной s вычисляется 1 раз, а во 2-м варианте — дважды.

62. Досрочное прерывание цикла. Прерывание бесконечного цикла

В процессе работы операторов цикла, в зависимости от дополнительных условий установленных внутри цикла, иногда бывает необходимо досрочно завершить выполнение циклических операций. Чтобы немедленно завершить текущий оператор цикла можно воспользоваться подпрограммой Break без параметров.

Давайте создадим такое приложение Delphi: К нам приехали гости и нам нужно приобрести 12 бутылок вина, в нашем городе 30 магазинов, но в любом магазине ограничение дают по 2 бутылки. Вопрос сколько магазинов надо посетить чтобы приобрести требуемое (кто не употребляет вино может в данную программу занести буханку хлеба вместо бутылки).

Но форме расположим простую кнопку и компонент Label, в конце он укажет нам необходимое число посещений магазинов. Обработчик кнопки будет такой:

procedure TForm1.Button1Click(Sender: TObject);

var

SUM,N:integer;

begin

SUM := 0;

for N:=1 to 30 do

begin

SUM := SUM + 2;

if SUM >=12 then

begin

Label1.Caption := IntToStr(N);

break;

end;

end;

end;

SUM - это итоговое число необходимого нам товара. N - это количество магазинов в городе. Мы проверяем, оператором снизу, достаточно ли у нас необходимого:

if SUM >=12

и если нужное количество у нас есть то можно идти домой и отдыхать, а цикл завершить.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]