А оператор называется Если…то… иначе….

На языке программирования этот оператор звучит следующим образом:

IF…THEN…ELSE….

IF <условие>

THEN <ветвь «Да»>

ELSE <ветвь «Нет»>

А поскольку в любой ветви может быть не один, а несколько шагов, то их необходимо оформить в виде отдельной подпрограммы (записать между begin и end), т. е.

Если горит зелёный

То

Begin

иди

End

ELSE

Begin

стой

End

 
IF <условие>

THEN

Begin

<ветвь «Да»>

End

ELSE

Begin

<ветвь «нет»>

End

1) составьте блок-схему анекдота:

Председатель колхоза пришел на ферму и спрашивает коров:

– Ну, что будем сдавать, молоко или мясо?

Примечание: Вопрос нужно задавать так, чтобы на него можно было бы ответить «Да» или «нет»

2) составьте блок-схему следующей ситуации:

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

3) создать тест

1.  Запустите Delphi.

2.  Сделайте вашу форму, как показано на рисунке:

форма1

Рис.25. Форма приложения

форма2

Рис.26. Форма приложения

3.  Обратите внимание, слова в компонентах Label располагаются не в одной, а в нескольких строчках. Прежде, чем набирать текст, свойство WordWrap сделайте равным True.

Как должна работать программа? Пользователь выбирает ответ из предложенных, затем нажимает кнопку Проверить. Программа проверяет, правильно ли выбраны ответы. Если дан правильный ответ - выводим ответ Верно и отключаем кнопку «Проверка», если неверно - соответствующий ответ и даем возможность продолжить тест.

НЕ нашли? Не то? Что вы ищете?

Значит, программировать необходимо кнопку Проверить.

4.  Дважды щелкните на кнопке Проверить. Открылось окно редактора кода.

5.  Пишем код:

Код

Пояснения

procedure TForm1.Button1Click(Sender: TObject);

begin

if radioButton3.Checked

then

Begin

label1.Caption:='Верно';

button1.Enabled:=False;

End

else

begin

label1.Caption:=' Ошибка ';

End;

end;

Процедура Щелчка кнопки Проверить.

Начало процедуры

Если выбрана 3-я радиокнопка

То

Begin

Вывести надпись «Верно»

Отключить кнопку Проверка

End

Иначе

Begin

Вывести надпись «Ошибка»

End;

Конец процедуры.

Разберите внимательно этот код, этот оператор один из наиболее употребляемых.

Для этого оператора есть правило: если между begin…end стоит один оператор, то строки begin…end можно опустить. В нашем случае, по ветви «ДА» - 2 оператора, по ветви «НЕТ»- 1 оператор, следовательно, во втором случае begin…end можно убрать. И тогда код будет выглядеть следующим образом:

procedure TForm1.Button1Click(Sender: TObject);

begin

if radioButton3.Checked

then

Begin

label1.Caption:='Верно';

button1.Enabled:=False;

End

else

label1.Caption:=' Ошибка';

end;

Самостоятельно:

1. Сделайте тест, состоящий из трех вопросов, например, такой:

форма3

Рис.27. Форма теста

Задание 2. Создание пароля. Счетчик. Введение переменных.

Необходимо создать программу-пароль. Она будет работать следующим образом: При загрузке программа попросит ввести пароль, если Вы введете пароль правильно, программа напишет «Добро пожаловать», если пароль неверен - ответ будет «Посторонним вход воспрещен».

1.  Итак, открывайте Delphi или создавайте новый проект.

Для данной программы нам потребуются следующие элементы: компонент Label (для вывода надписей на экран), компонент Edit (для ввода пароля), 2 кнопки (подтвердить ввод и выход).

2.  Поместите данные элементы на форму:

Рис.28. Форма приложения

3.  Изменяем свойства Caption объектов:

Рис.29. Форма приложения

Давайте поймем логику программы: что мы хотим, как будет работать программа. При загрузке необходимо будет ввести пароль. При нажатии на кнопку ОК, программа проверяет, правильно ли был введен пароль (сравнивает строку в Edit со строкой в памяти компьютера), и если пароль верен, то выводит надпись «Добро пожаловать», а строку Edit прячет;

если неправильно, то выводит на экран окно с сообщением, что пароль неверен.

4.  Пишем обработчик события для клавиши ОК (2 раза щелкните по кнопке, и Вы окажитесь в редакторе кода в нужном месте:

Пояcнения

Код в Delphi

Процедура щелчка по кнопке ОК

Begin

Если текст в Edit1 равен qqq (qqq-это

мой пароль, у Вас он может быть другим)

То

Begin

Вывести в строке label1 текст “Добро

пожаловать”

Отключить строку ввода

End

Иначе

Begin

Вывести окно с текстом “Посторонним вход воспрещен”

Очищаем строку ввода

Делаем активным строку ввода, устанавливая туда курсор

End;

End;

procedure TForm1.Button1Click(Sender: TObject);

begin

if edit1.Text='qqq'

Then

begin

Label1.Caption:=' Добро пожаловать ';

edit1.Enabled:=false;

end

else

begin

ShowMessage (' Посторонним вход воспрещен');

edit1.Text:='';

edit1.SetFocus;

end;

end;

5.  Запустите программу клавишей F9. Проверьте, как ведет себя программа.

Рис.30. Ошибка входа

6.  Вы не находите в нем ничего странного? Ведь мы написали оператор edit1.Text:='';, который должен был очистить строку ввод. На самом деле, все верно. Наш оператор стоит после строки ShowMessage – значит, он должен выполнятся после него. И хотя компьютер вывел на экран сообщение (т. е. данное окно), работа оператора еще не завершилась. Оператор завершиться, когда Вы нажмете ОК. И, действительно, как только Вы нажмете ОК, строка ввода очиститься.

7.  Самостоятельно: А сделайте так, чтобы строка ввода очищалась и тогда, когда окно сообщения на экране.

Счетчик

Давайте усовершенствуем программу так, чтобы пользователь мог лишь несколько раз ввести пароль, например, 3 раза. Чтобы решить данную проблему, нам понадобиться счетчик. Счетчик - это специальная переменная, которая увеличивается на 1 при нужном событии.

Итак, счетчиком будет переменная k (я так хочу, ВЫ же можете сделать любую).

8. Когда она должна увеличиваться? Когда введен неправильный пароль. Следовательно, он должен стоять в обработчике события кнопки ОК по ветви «нет». Измените код кнопки, добавив в него строку: k:= k+1;

Далее нам нужно проверить совершено ли данное событие 3 раза, т. е. k=3 или нет, и если так, то закрыть форму. Записать данную процедуру можно следующим образом:

if k=3 then form1.close;

Посмотрите, ваша процедура должна быть похожа на мою:

procedure TForm1.Button1Click(Sender: TObject);

begin

if edit1.Text='qqq'

Then

begin

Label1.Caption:=' Добро пожаловать ';

edit1.Enabled:=false;

end

Else

begin

ShowMessage (' Посторонним вход воспрещен ');

edit1.Text:='';

edit1.SetFocus;

k:= k+1;

if k=3 then form1.close;

end;

end;

8.  Теперь необходимо объявить новую переменную. Делается это после раздела implementation. Посмотрите на рис, сделайте свой код как у меня:

Рис.31. Код новой переменной

9.  Последнее, что нужно сделать, это присвоить начальное значение переменной. Где это можно сделать? В самой процедуре нельзя, потому что… ( А почему?)

Мы поступим следующим образом. Зададим начальное значение при запуске программы, т. е. при рождении формы.

10.  В Инспекторе объектов выберите Form1, перейдите в раздел Events, и дважды щелкните напротив строки OnCreate (при создании). Откроется соответствующая процедура.

11.  Введите оператор, как у меня:

procedure TForm1.FormCreate(Sender: TObject);

begin

k:=0;

end;

12.  Запускайте программу.

Самостоятельно:

1.  Доделайте программу, чтобы она при неправильном пароле выводила надпись: У вас осталась 1 попытка ( или 2 или 3).

2.  Ответьте на вопрос: «Почему нельзя задавать начальное значение счетчика в процедуре нажатия клавиши?». Если не догадались, вставьте его туда, и посмотрите, что происходит.

3.  Напишите обработчик для второй кнопки Закрыть, чтобы при нажатии на нее, форма закрывалась.

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

Задание 3. Создать игру «Блоха»

Сюжет игры. Итак, что собой представляет игра? При нажатии на кнопку, она сдвинется на случайное количество пиксель по горизонтали. То есть прыгнет. Так как прыжки блохи мало предсказуемы, то и мы сделаем так, чтобы, после щелчка по блохе, она перескакивала на любое место по горизонтали. Если блоха (кнопка) пересечет середину экрана, то будем считать, что блоха (кнопка) выполнила свою задачу и может отдыхать (отключается). Ваша задача: за наименьшее количество щелчков перетащить всех блох на вторую половину формы. Как только все пять кнопок пересекут "экватор", игра заканчивается.

Проектируем форму

1.  Откройте Delphi.

2.  Высота формы нам не важна, а вот ширину формы сделайте равной 675 (Width= 675).Свойство Color я сделал clAqva (Вы можете оставить его таким как есть или украсить по своему вкусу).

3.  На форму поместите 5 кнопок - Button. Размеры кнопок сделайте равными 25*25 (Width= 25 , Height= 25). Расположите их как у меня на рис ниже.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Основные порталы (построено редакторами)

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством