Учебный курс Программирование на Delphi. Модуль 6: различия между версиями

Материал из Wiki Mininuniver
Перейти к навигацииПерейти к поиску
(Задание)
 
(не показано 9 промежуточных версий 4 участников)
Строка 28: Строка 28:
 
Оператор работает так же, но шаг переменной цикла –1.  
 
Оператор работает так же, но шаг переменной цикла –1.  
 
== Пример 1.==  
 
== Пример 1.==  
*Условие
+
*'''Условие:'''
 
Приписать к 523*** три такие цифры справа, чтобы полученное шестизначное число делилось на 7, на 8, на 9.
 
Приписать к 523*** три такие цифры справа, чтобы полученное шестизначное число делилось на 7, на 8, на 9.
  
*Использованные компоненты
+
*'''Использованные компоненты:'''
BitBtn1,BitBtn2 - рабочие кнопки,
+
BitBtn1 - для запуска программы; <br>
Label1 - вывод информации
+
BitBtn2 - для выхода из программы; <br>
 +
Label1 - вывод результата.<br>
 +
*'''Программный код:'''
  
*Программный код
+
unit Unit1;
  var
+
  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;
 
   Form1: TForm1;
implementation
+
  implementation
{$R *.dfm}
+
  {$R *.dfm}
 
   var s,a,b,c,n: integer;
 
   var s,a,b,c,n: integer;
procedure TForm1.BitBtn2Click(Sender: TObject);
+
  procedure TForm1.BitBtn2Click(Sender: TObject);
begin
+
  begin
close;
+
  close;
end;
+
  end;
procedure TForm1.BitBtn1Click(Sender: TObject);
+
  procedure TForm1.BitBtn1Click(Sender: TObject);
begin
+
  begin
 
   for n:=0 to 999 do
 
   for n:=0 to 999 do
      begin
+
    begin
      s:=523000+n;
+
    s:=523000+n;
      a:=s mod 7;
+
    a:=s mod 7;
      b:=s mod 8;
+
    b:=s mod 8;
      c:=s mod 9;
+
    c:=s mod 9;
        if (a=0) and (b=0) and (c=0) then label1.Caption:='523..'+inttostr(n);
+
    if (a=0) and (b=0) and (c=0) then label1.Caption:='523..'+inttostr(n);
      end;
+
  end;
end;
+
  end;
end.
+
  end.
  
*Форма с результатом работы программы
+
 
 +
*'''Форма с результатом работы программы:'''
 
[[Изображение:-3-1.JPG]]
 
[[Изображение:-3-1.JPG]]
  
 
==Задание==
 
==Задание==
  
Таблица 11
+
Таблица 7
<math>Вставляйте сюда формулу</math>
+
 
 +
{| border=1
 +
  |-
 +
!Номер варианта||Условие
 +
|-
 +
|<center>1</center>|| Найти все трехзначные числа, равные сумме кубов своих цифр.
 +
|-
  
Таблица 12
+
|<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>||Найти все четырехзначные числа, у которых сумма первых двух цифр равна сумме двух последних.
 +
|-
 +
|}
 +
Таблица 8 (Находится в разработке)
  
 
==Литература==
 
==Литература==

Текущая версия на 09:00, 19 апреля 2008

Учебный курс Программирование на Delphi. Модуль 6

Программирование на Delphi циклов с параметром

Оператор 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.


  • Форма с результатом работы программы:

-3-1.JPG

Задание

Таблица 7

Номер варианта Условие
1
Найти все трехзначные числа, равные сумме кубов своих цифр.
2
Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9.
3
Найти все трехзначные числа, сумма цифр которых равна данному целому числу.
4
Найти все трехзначные числа, квадраты которых оканчиваются тремя одинаковыми цифрами, отличными от нуля.
5
В магазине имеется мастика в ящиках по 16 кг, 17 кг и 21 кг. Получить 185 кг мастики без вскрытия ящиков. Рассмотреть все варианты.
6
Представить в записи 42*4* вместо звездочек такие цифры, чтобы полученное пятизначное число делилось на 72.
7
Найти все трехзначные числа кратные 7 и сумма цифр, которых тоже кратна 7.
8
Найти четырехзначное число, которое при делении на 133 дает в остатке 125, а при делении на 134 дает в остатке 111.
9
Решить арифметический ребус КИО*ИО= ТОКИО. Вместо каждой буквы необходимо поставить некоторую цифру, причем одинаковые буквы означают одинаковые цифры, а различные буквы - различные цифры.
10
Сократить дробь, имеющую данные числитель а и знаменатель b. Предусмотреть выделение целой части в случае a > b.
11
Определить сколько делителей и какие имеет данное натуральное число.
12
Найти сумму делителей данного натурального числа.
13
Найти все "пифагоровы" тройки натуральных чисел, наибольшее из которых не превосходит n (Тройка натуральных чисел называется пифагоровой, если сумма квадратов двух из них равна квадрату третьего).
14
Найти все четырехзначные числа, у которых сумма первых двух цифр равна сумме двух последних.

Таблица 8 (Находится в разработке)

Литература

  1. Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
  2. Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
  3. Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.


Ссылки

Учебный курс Программирование на Delphi

Учебный план курса Программирование на Delphi