Первый урок первая программа 8 Сохранение и запуск проекта на выполнение 11 Сохранение проекта 11
Вид материала | Урок |
- Пивоварова Ольга Михайловна Сроки реализации проекта: 01. 04. 08 01. 06. 08 подготовительная, 146.56kb.
- Научно-методическое сопровождение экспериментального проекта по совершенствованию организации, 189.48kb.
- 8 (496)53- 6-14-29, Факс: (8-496) 53- 6-13-77, 247.46kb.
- Областная целевая программа развития приоритетного национального проекта "здоровье", 765.33kb.
- Программа проекта, 111.16kb.
- П. Е. Управление персоналом: Конспект лекций. М.: Миит, 2012. 168 с. Данный конспект, 1503.86kb.
- Экономической части дипломного проекта, 63.83kb.
- Е. Т. Стрекалова Русский язык и культура речи Учебно-методическое пособие, 878.37kb.
- Задачи валеологии: сохранение психофизиологического здоровья сохранение эмоционального, 30.23kb.
- Приоритетные направления программы Укрепление и сохранение здоровья детей. Развитие, 11836.37kb.
Как выполнить движение по диагонали?
Для движения графического объекта по диагонали нужно в процедуре таймера одновременно выполнить смещение как влево (вправо), так и вниз (вверх).
Примерные задания для шестого урока
Нарисовать картину на форме или панели (минимум из 6-и Shapes) и выполнить движение:
- направо, затем вверх из левого нижнего угла формы;
- налево, затем вверх из правого нижнего угла формы;
- вниз, затем вправо из левого верхнего угла формы;
- вниз, затем влево из правого верхнего угла формы
- Нарисовать в Paint:
- Бабу Ягу в ступе,
- космический корабль;
- автомобиль;
- вертолёт
и
а) выполнить движения как в вариантах 1 – 4;
б) выполнить движение по диагонали в направлении:
- левый нижний – правый верхний;
- левый верхний угол – правый нижний;
- правый нижний угол – левый верхний;
- правый верхний угол – левый нижний
Вопросы для самоконтроля
- Какие новые компоненты Вы узнали?
- Расскажите алгоритм движения картинки сверху вниз.
- Почему параметр Enabled в Timer должен быть true при движении?
- Зачем при достижении конца движения нужно выключить (сделать неактивным) Timer?
- Сколько таймеров Вы будете использовать для первого варианта задания?
- Как выполнить движение графического объекта из правого нижнего угла в левый верхний?
- Опишите алгоритм программы движения графического объекта по периметру.
Седьмой урок – цикл с параметром (For)
Познакомимся с новым конструкцией – цикл с параметром:
For <1> := <2> to | downto <3> do
<4>;
1 – переменная порядкового типа;
2 – начальное значение переменной;
3 – конечное значение переменной;
4 – оператор;
to – шаг +1;
downto – шаг -1.
Нужно решить следующую задачу: сколько трехзначных чисел имеют удвоенную сумму цифр равную произведению цифр? Напечатать эти числа.
Пусть наша форма будет иметь следующий вид:
Label4
Label6
Код процедуры Click для кнопки определить
procedure TForm1.Button1Click(Sender: TObject);
begin
n := 0; { счетчик количества цифр }
s := ''; { строковая переменная для вывода результата }
for a := 1 to 9 do { цифра сотен }
for b := 0 to 9 do { цифра десятков }
for c := 0 to 9 do { цифра единиц }
if 2*(a + b + c) = (a * b * c) then
begin
n := n + 1;
if n mod 7 = 0 then { для вывода по семь чисел в
строке }
s := s + inttostr(100*a + 10*b + c) + #13
{ можно и chr(13) }
else
s := s + inttostr(100*a + 10*b + c) + ' ';
end;
Label4.Caption := inttostr(n);
label6.Caption := s;
end;
Вопросы для самоконтроля
- Какую новую конструкцию языка Pascal Вы узнали?
- Почему в первом цикле переменная a начинается с 1, а переменные b и c с ноля.
- Какие переменные и для чего используются в процедуре?
- Как и где можно объявить переменные, встречающиеся в процедуре?
- Зачем используется #13?
- Почему в процедуре использовали три цикла с параметром?
- Сколько циклов с параметром Вы запишете в алгоритме для пятизначных чисел?
- Для чего после вывода числа добавляли два пробела?
Восьмой урок – цикл с предусловием (While … do)
Познакомимся с новым оператором – цикл с предусловием:
While <1> do // делать, пока условие верно
<2>;
1 – логическое выражение (условие);
2 – оператор;
– цикл выполняется до тех пор, пока логическое выражение истинно;
– после ключевого слова Dо выполняется один оператор. Если нужно выполнить более одного оператора, то их заключают в операторные скобки Begin … end;
– в теле цикла обязательно должно произойти событие, которое сделает логическое выражение ложным.
Нам надо решить следующую задачу:
Два жадных медвежонка нашли по головке сыра разного веса и стали спорить кому какая достанется. В это время рядом бежала лиса и, увидев это, предложила свою помощь:
а) она откусывает от большей головки столько, сколько весит меньшая головка;
б) если они окажутся не равными, то повторит откусывание для большей головки;
в) иначе - закончит дележ.
Если найденные головки сыра весят M и N гр., то сколько будут весить они после дележа, сколько раз будет лиса откусывать и сколько грамм сыра она съест?
Пусть наша форма будет иметь следующий вид:
Label7
Label8, Label9
Вывод результатов будем производить в три объекта Label.
Код процедуры Click для кнопки подсчитать
Procedure TForm1.Button1Click(Sender: TObject);
var
a, b, z, n : integer; // локальные переменные
begin
a := strtoint(Edit1.Text); // вес первой головки сыра в граммах
b := strtoint(Edit2.Text); // вес второй головки сыра в граммах
n := 0; // количество откусываний
z := a + b; // вес двух головок сыра до дележа
While a <> b do
begin
inc(n);
If a > b then
a := a - b
Else
b := b - a;
end;
Label7.Caption := inttostr(a) + ' гр.';
Label8.Caption := inttostr(z - 2*a) + ' гр.';
Label9.Caption := inttostr(n) + ' раз.';
end;
2>1>4>3>2>1>