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

Материал из Wiki Mininuniver
Перейти к навигацииПерейти к поиску
(Задание)
 
(не показано 9 промежуточных версий 3 участников)
Строка 5: Строка 5:
  
 
==Пример 1==
 
==Пример 1==
*'''Условие'''
+
*'''Условие задачи'''
  
 
Найти максимальную из двух величин а и в
 
Найти максимальную из двух величин а и в
 
*'''Использованные компоненты'''
 
*'''Использованные компоненты'''
  
Edit1 – ввод
+
Edit1 – для ввода первого числа
  
Edit 2 ввод
+
Edit2 для ввода второго числа
  
Label3 - вывод результирующего сопротивления
+
Label1 - для вывода описания 
  
Button1, Button2 - рабочие кнопки
+
Label2 - для вывода описания 
 +
 
 +
Label3 - для вывода результирующего сопротивления
 +
 
 +
BitBtn1 - для запуска решения
 +
 
 +
BitBtn2 - для выхода из формы
  
 
*'''Программный код'''
 
*'''Программный код'''
 +
  unit Unit1;
 +
  <br>
 +
  interface
 +
 +
  uses
 +
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 +
  Dialogs, StdCtrls, Buttons;
 +
  <br>
 +
  type
 +
  TForm1 = class(TForm)
 +
    Label1: TLabel;
 +
    Label2: TLabel;
 +
    Edit1: TEdit;
 +
    Edit2: TEdit;
 +
    Label3: TLabel;
 +
    BitBtn1: TBitBtn;
 +
    BitBtn2: TBitBtn;
 +
    procedure BitBtn2Click(Sender: TObject);
 +
    procedure BitBtn1Click(Sender: TObject);
 +
  private
 +
    { Private declarations }
 +
  public
 +
    { Public declarations }
 +
  end;
 +
  <br>
 +
var
 +
  Form1: TForm1;
 +
<br>
 +
implementation
 +
<br>
 +
{$R *.dfm}
 
   var a,b,m:real;
 
   var a,b,m:real;
 
  procedure TForm1.BitBtn2Click(Sender: TObject);
 
  procedure TForm1.BitBtn2Click(Sender: TObject);
  begin
+
begin
  Close;
+
Close;
  end;                                                     
+
end;                                                     
 +
<br>
 
  procedure TForm1.BitBtn1Click(Sender: TObject);
 
  procedure TForm1.BitBtn1Click(Sender: TObject);
  begin
+
begin
 
  a:=strtofloat(edit1.Text);
 
  a:=strtofloat(edit1.Text);
 
  b:=strtofloat(edit2.Text);
 
  b:=strtofloat(edit2.Text);
if a>=b then m:=a else m:=b;
+
  if a>=b then m:=a else m:=b;
  label3.caption:='Первое число= '+floattostr(a)+#13+'Второе число= '
+
<br>
 +
label3.caption:='Первое число= '+floattostr(a)+#13+'Второе число= '
 
  +floattostr(b)+#13+'Максимальное= '+floattostr(m);
 
  +floattostr(b)+#13+'Максимальное= '+floattostr(m);
  end;
+
end;
 
+
<br>
   
+
  end.
 +
 
 
*'''Форма с результатом работы программы'''
 
*'''Форма с результатом работы программы'''
  
Строка 41: Строка 81:
 
==Задание ==
 
==Задание ==
  
Таблица 9
+
Таблица 5
 +
{| border=1
 +
!Номер варианта||Условие||Исходные данные||
 +
|-
 +
|<center>1</center>||Три точки на плоскости заданы своими координатами.Выяснить какие из них находятся на максимальном расстоянии друг от друга||<center>x1,y1,x2,y2,x3,y3</center>
 +
|-
 +
 
 +
|<center>2</center>||Вычислить: max^3(a,b,c)+min^2(a,b,c)||<center>a,b,c</center>
 +
  |-
 +
|<center>3</center>||Заданы три величины а, b, c. Определить максимальное и минимальное значение из их среднего геометрического, среднего арифметического и суммы экспонент exp(a) + exp(b) + exp(c)||<center>a,b,c</center>
 +
|-
 +
|<center>4</center>||Определить в какой четверти координатной плоскости находится точка с координатами  х,у||<center>x,y</center>
 +
  |-
 +
|<center>5</center>||m=max(x,y,z) \ min ^ 2(a,b,c)||<center>x,y,z</center>
 +
  |-
 +
|<center>6</center>||Z=min(0,x) - min(0,y) \ max ^ 2(y,x)||<center>x,y</center>
 +
  |-
 +
|<center>7</center>||r=max(min(x,y),z)/3||<center>x,y,z</center>
 +
  |-
 +
|<center>8</center>||v=max(min(x-y,y-x),0)||<center>x,y</center>
 +
  |-
 +
|<center>9</center>||Вычислить значение функции, заданной графически, по заданному значению аргумента х  [[Изображение:рис1.JPG|center]]||<center>x</center>
 +
  |-
 +
|<center>10</center>||Вычислить значение функции, заданной графически, по заданному значению аргумента х [[Изображение:рис2.JPG|center]]||
 +
  |-
 +
|<center>11</center>||Решить линейное уравнение ax+b=0 для любых значений коэффициентов.||<center>a,b</center>
 +
  |-
 +
|<center>12</center>||Проверить, делится ли выбранное числона 5, на 11 или 13.||<center>x</center>
 +
  |-
 +
|<center>13</center>||Определить, является ли сумма цифр четырехзначного числа четной||<center>m</center>
 +
  |-
 +
|<center>14</center>||Проверить, кратно ли заданное целое число и сумма его цифр 4||<center>n</center>
  
 +
|}
  
 
==Литература ==
 
==Литература ==
Строка 49: Строка 121:
 
#Бобровский С. Delphi 7. Учебный курс. –  СПб:  Питер, 2003
 
#Бобровский С. Delphi 7. Учебный курс. –  СПб:  Питер, 2003
 
#Культин Н. Основы программирования в  Delphi 7. СПб: БХВ-Петербург, 2005.
 
#Культин Н. Основы программирования в  Delphi 7. СПб: БХВ-Петербург, 2005.
 +
 +
==Ссылки==
 +
 +
[[Учебный курс Программирование на Delphi]]
 +
 +
[[Учебный план курса Программирование на Delphi]]
 +
 +
  
 
[[Категория: Учебный курс Программирование на Delphi]]
 
[[Категория: Учебный курс Программирование на Delphi]]

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

Программирование на Delphi разветвляющихся алгоритмов

Оператор If

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

Пример 1

  • Условие задачи

Найти максимальную из двух величин а и в

  • Использованные компоненты

Edit1 – для ввода первого числа

Edit2 – для ввода второго числа

Label1 - для вывода описания

Label2 - для вывода описания

Label3 - для вывода результирующего сопротивления

BitBtn1 - для запуска решения

BitBtn2 - для выхода из формы

  • Программный код
 unit Unit1;
 
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Label3: 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 a,b,m:real; procedure TForm1.BitBtn2Click(Sender: TObject); begin Close; end;
procedure TForm1.BitBtn1Click(Sender: TObject); begin a:=strtofloat(edit1.Text); b:=strtofloat(edit2.Text); if a>=b then m:=a else m:=b;
label3.caption:='Первое число= '+floattostr(a)+#13+'Второе число= ' +floattostr(b)+#13+'Максимальное= '+floattostr(m); end;
end.
  • Форма с результатом работы программы


-2-1.JPG

Задание

Таблица 5

Номер варианта Условие Исходные данные
1
Три точки на плоскости заданы своими координатами.Выяснить какие из них находятся на максимальном расстоянии друг от друга
x1,y1,x2,y2,x3,y3
2
Вычислить: max^3(a,b,c)+min^2(a,b,c)
a,b,c
3
Заданы три величины а, b, c. Определить максимальное и минимальное значение из их среднего геометрического, среднего арифметического и суммы экспонент exp(a) + exp(b) + exp(c)
a,b,c
4
Определить в какой четверти координатной плоскости находится точка с координатами х,у
x,y
5
m=max(x,y,z) \ min ^ 2(a,b,c)
x,y,z
6
Z=min(0,x) - min(0,y) \ max ^ 2(y,x)
x,y
7
r=max(min(x,y),z)/3
x,y,z
8
v=max(min(x-y,y-x),0)
x,y
9
Вычислить значение функции, заданной графически, по заданному значению аргумента х
Рис1.JPG
x
10
Вычислить значение функции, заданной графически, по заданному значению аргумента х
Рис2.JPG
11
Решить линейное уравнение ax+b=0 для любых значений коэффициентов.
a,b
12
Проверить, делится ли выбранное числона 5, на 11 или 13.
x
13
Определить, является ли сумма цифр четырехзначного числа четной
m
14
Проверить, кратно ли заданное целое число и сумма его цифр 4
n

Литература

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

Ссылки

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

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