Учебный курс Программирование на Delphi. Модуль 6: различия между версиями
(→Задание) |
|||
Строка 32: | Строка 32: | ||
*'''Использованные компоненты:''' | *'''Использованные компоненты:''' | ||
− | BitBtn1 | + | BitBtn1 - для запуска программы; <br> |
− | + | BitBtn2 - для выхода из программы; <br> | |
− | Label1 - вывод | + | Label1 - вывод результата.<br> |
− | |||
*'''Программный код:''' | *'''Программный код:''' | ||
Строка 83: | Строка 82: | ||
==Задание== | ==Задание== | ||
− | Таблица №11 | + | <center>'''Таблица №11'''</center> |
+ | |||
+ | {| border=1 | ||
+ | |- | ||
+ | !Номер варианта||Условие | ||
+ | |- | ||
+ | |<center>1</center>|| Найти все трехзначные числа, равные сумме кубов своих цифр. | ||
+ | |- | ||
+ | |||
+ | |<center>2</center>||Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9. | ||
+ | |- | ||
+ | |<center>3</center>||Найти все трехзначные числа, сумма цифр которых равна данному целому числу. | ||
+ | |- | ||
+ | |<center>4</center>||Найти все трехзначные числа, квадраты которых оканчиваются тремя одинаковыми цифрами, отличными от нуля. | ||
+ | |- | ||
+ | |<center>5</center>||В магазине имеется мастика в ящиках по 16 кг, 17 кг и 21 кг. Получить 185 кг мастики без вскрытия ящиков. Рассмотреть все варианты. | ||
+ | |- | ||
+ | |<center>6</center>||Представить в записи 42*4* вместо звездочек такие цифры, чтобы полученное пятизначное число делилось на 72. | ||
+ | |- | ||
+ | |<center>7</center>||Найти все трехзначные числа кратные 7 и сумма цифр, которых тоже кратна 7. | ||
+ | |- | ||
+ | |<center>8</center>||Найти четырехзначное число, которое при делении на 133 дает в остатке 125, а при делении на 134 дает в остатке 111. | ||
+ | |- | ||
+ | |<center>9</center>||Решить арифметический ребус КИО*ИО= ТОКИО. Вместо каждой буквы необходимо поставить некоторую цифру, причем одинаковые буквы означают одинаковые цифры, а различные буквы - различные цифры. | ||
+ | |- | ||
+ | |<center>10</center>||Сократить дробь, имеющую данные числитель а и знаменатель b. Предусмотреть выделение целой части в случае a > b. | ||
+ | |- | ||
+ | |<center>11</center>||Определить сколько делителей и какие имеет данное натуральное число. | ||
+ | |- | ||
+ | |<center>12</center>||Найти сумму делителей данного натурального числа. | ||
+ | |- | ||
+ | |<center>13</center>||Найти все "пифагоровы" тройки натуральных чисел, наибольшее из которых не превосходит n (Тройка натуральных чисел называется пифагоровой, если сумма квадратов двух из них равна квадрату третьего). | ||
+ | |- | ||
+ | |<center>14</center>||Найти все четырехзначные числа, у которых сумма первых двух цифр равна сумме двух последних. | ||
+ | |- | ||
+ | |} | ||
+ | <center>'''Таблица 8'''</center> | ||
+ | |||
+ | |||
+ | {| border=2 | ||
+ | |- | ||
+ | |<center>'''№ варианта'''</center> | ||
+ | |<center>'''Условие'''</center> | ||
+ | |- | ||
+ | |<center>1</center> | ||
+ | |[[Изображение:Ф1.JPG]] | ||
+ | |- | ||
+ | |<center>2</center> | ||
+ | |[[Изображение:Формула2.JPG]] | ||
+ | |- | ||
+ | |<center>3</center> | ||
+ | |[[Изображение:Формула3.JPG]] | ||
+ | |||
+ | |- | ||
+ | |<center>4</center> | ||
+ | |[[Изображение:Формула4.JPG]] | ||
+ | |- | ||
+ | |<center>5</center> | ||
+ | |[[Изображение:Формула5.JPG]] | ||
+ | |- | ||
+ | |<center>6</center> | ||
+ | |[[Изображение:Формула6.JPG]] | ||
+ | |- | ||
+ | |<center>7</center> | ||
+ | |[[Изображение:Формула7.JPG]] | ||
+ | |- | ||
+ | |<center>8</center> | ||
+ | |[[Изображение:Формула8.JPG]] | ||
+ | |- | ||
+ | |<center>9</center> | ||
+ | |[[Изображение:Формула9.JPG]] | ||
+ | |- | ||
+ | |<center>10</center> | ||
+ | |[[Изображение:Формула10.JPG]] | ||
+ | |||
+ | |- | ||
+ | |} | ||
+ | |||
==Литература== | ==Литература== |
Версия 09:32, 11 апреля 2008
Учебный курс Программирование на Delphi. Модуль 6
Содержание
Оператор for
Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же ветвей при различных значениях промежуточных данных.
Различают циклы с параметрами и циклы с условием. Для программирования циклов с параметром в Delphi используют оператор for.
Формат оператора:
for v := а1 to а2 do оператор;
v – переменная цикла – переменная порядкового типа,
a1- выражение, задающее начальное значение переменной цикла,
a2 - выражение, задающее конечное значение переменной цикла.
Оператор – оператор, выполнение которого будет повторяться (оператор тела цикла).
Если нужно сделать цикл по убыванию, то оператор for записывается в виде
for v: =a1 downto a2 do оператор;
Оператор работает так же, но шаг переменной цикла –1.
Пример 1.
- Условие:
Приписать к 523*** три такие цифры справа, чтобы полученное шестизначное число делилось на 7, на 8, на 9.
- Использованные компоненты:
BitBtn1 - для запуска программы;
BitBtn2 - для выхода из программы;
Label1 - вывод результата.
- Программный код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) Label1: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var s,a,b,c,n: integer; procedure TForm1.BitBtn2Click(Sender: TObject); begin close; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin for n:=0 to 999 do begin s:=523000+n; a:=s mod 7; b:=s mod 8; c:=s mod 9; if (a=0) and (b=0) and (c=0) then label1.Caption:='523..'+inttostr(n); end; end; end.
- Форма с результатом работы программы:
Задание
Номер варианта | Условие |
---|---|
Найти все трехзначные числа, равные сумме кубов своих цифр. | |
Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9. | |
Найти все трехзначные числа, сумма цифр которых равна данному целому числу. | |
Найти все трехзначные числа, квадраты которых оканчиваются тремя одинаковыми цифрами, отличными от нуля. | |
В магазине имеется мастика в ящиках по 16 кг, 17 кг и 21 кг. Получить 185 кг мастики без вскрытия ящиков. Рассмотреть все варианты. | |
Представить в записи 42*4* вместо звездочек такие цифры, чтобы полученное пятизначное число делилось на 72. | |
Найти все трехзначные числа кратные 7 и сумма цифр, которых тоже кратна 7. | |
Найти четырехзначное число, которое при делении на 133 дает в остатке 125, а при делении на 134 дает в остатке 111. | |
Решить арифметический ребус КИО*ИО= ТОКИО. Вместо каждой буквы необходимо поставить некоторую цифру, причем одинаковые буквы означают одинаковые цифры, а различные буквы - различные цифры. | |
Сократить дробь, имеющую данные числитель а и знаменатель b. Предусмотреть выделение целой части в случае a > b. | |
Определить сколько делителей и какие имеет данное натуральное число. | |
Найти сумму делителей данного натурального числа. | |
Найти все "пифагоровы" тройки натуральных чисел, наибольшее из которых не превосходит n (Тройка натуральных чисел называется пифагоровой, если сумма квадратов двух из них равна квадрату третьего). | |
Найти все четырехзначные числа, у которых сумма первых двух цифр равна сумме двух последних. |
Файл:Ф1.JPG | |
Файл:Формула2.JPG | |
Файл:Формула3.JPG | |
Файл:Формула4.JPG | |
Файл:Формула5.JPG | |
Файл:Формула6.JPG | |
Файл:Формула9.JPG | |
Файл:Формула10.JPG |
Литература
- Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
- Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
- Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.