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




 
Статистика
рефераты
Последние новости

Отчет по практике: Разработка программного обеспечения

 end;

end.

Кнопки-переключатели в DELPHI

При создании программ и DELPHI дня организации разветвлений часто используются компоненты в виде кнопок-переключателей. Состояние такой кнопки (включено - выключено) визуально отражается на форме.

Компонент TCheckBox организует кнопку независимого переключателя, с помощью которой пользователь может указать свое решение типа да/нет. В программе состояние кнопки связано со значением булевской переменной, которая проверяется с помощью оператора if.

Компонент TRadioGroup организует группу кнопок - зависимых переключателей. При нажатии одной из кнопок группы все остальные кнопки отключаются. В программу передается номер включенной кнопки (0,1,2,..), который анализируется с помощью оператора case.

 

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

Задание: ввести три числа - х, у, z. Вычислить по усмотрению u=sin(x) или

u=cos(x), или u=tg(х). Найти по желанию максимальное из трех чисел: max(x, у, z), или min (|x|, |у|, |z|).

Создать форму и написать соответствующую программу.

Создание формы

Создайте форму, такую же как в первом задании, скорректировав текст надписей и положение окон TEdit.

Работа с компонентом TCheckBox

Выберите в меню компонентов Standard пиктограмму {} и поместите ее в нужное место формы. С помощью инспектора объектов измените заголовок (Caption) на "maabs". В тексте программы появилась переменная CheckBox типа TCheckBox. Теперь в зависимости от того, нажата или нет кнопка, булевская переменная CheckBox.Checked будет принимать значения True или False.

Работа с компонентом TRadioGroup

Выберите в меню компонентов Standard пиктограмму {} и поместите ее в нужное место формы. На форме появится окаймленный линией чистый прямоугольник с заголовком RadioGroup1. Замените заголовок (Caption) на U(х). Для того чтобы разместить на компоненте кнопки, необходимо свойство Columns установить равным единице (кнопки размещаются в одном столбце). Дважды щелкните по правой части свойства Items мышью, появится строчный редактор списка заголовков кнопок. Наберите три строки с именами: в первой строке sin(x), во второй - cos(х), в третьей - tg(х), нажмите ОК.

После этого на форме внутри окаймления появится три кнопки-переключателя с введенными надписями.

Обратите внимание на то, что в тексте программы появилась переменная RadioGroup типа TRadioGroup. Теперь при нажатии одной из кнопок группы в переменной целого типа RadioGroup1.ItemIndex будет находиться номер нажатой клавиши (отсчитывается от нуля), что используется в тексте приведенной программы.

Создание обработчиков событий FormCreate и Botton1Click

 Процедуры - обработчики событий FormCreate и Botton1Click создаются аналогично тому, как и в первой теме. Текст процедур приведен ниже.

Запустите программу и убедитесь в том, что все ветви алгоритма выполняются правильно.

Текст программы приведен ниже.

unit tema2;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

 type

TForm1 = class(TForm)

CheckBox1: TCheckBox;

RadioGroup1: TRadioGroup;

Memo1: TMemo;

Button1:TButton;

Edit1:TEdit;

Label1: TLabel;

Label2: TLabel;

Edit2:TEdit;

Label3: TLabel:

Edi3: TEdlt;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

 private

{Private declarations}

public

{public declarations}

var

Form1: TForm1;

implementation

{$R.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text:='0,1';

Edit3.Ttext:='0,356';

Memo1.Clear;

Memo1.Lines.Add('Рез-ты ст.гр. 9383 Валента А.А.');

end;

procedure TForm1.Button1Click(Sender: TObject);

var x, y, z, u, ma : extended;

begin

 // Ввод исходных данных и их вывод в окно Memo1

x:=StrToFloat(Edit1.Text);

 Memo1.Lines.Add('x='+Edit1.Text);

y:=StrToFloat(Edlt2.Text);

 Memo1.Lines.Add('y='+Edit2.Text);

z:=StrToFloat(Edtt3.Text);

 Memo1.Lines.Add('z='+Edit3.Text);

 // Проверка номера нажатой кнопки и выбор соответствующей ей функции

 case RadioGroup.ltemlndex of

 0: u:=cos(x);

 1: u:=sin(x);

 2: u:=sin(x)/cos(x);

 end:

 // Проверка состояния кнопки СheckBox1

 if CheckBox1.Checked then

 begin

 u:=abs(u);

 y:=abs(y);

 z:=abs(z)

 end;

 // Нахождение максимального из трех чисел

 if u>y then ma:=u else ma: =y;

 if z>ma then ma:=z;

 if CheckBox1.Checked then

 Memo1.Lines.Add(' maxabs='+FloatToStrF(ma,ffFixed,8,2))

 else

 Memo1.Lines.Add('max='+FtoatToStrF(ma,ffGeneral,8,2));

end;

end.

Пример написания программы циклического алгоритма

Задание: написать и отладить программу, которая выводит таблицу значений функции S(х) для х изменяющихся в интервале от XI до Х2 с шагом h.

Текст программы приведен ниже.

unit tema3;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

 Memo1: TMemo;

 Button1: TButton;

 Label1: TLabel;

 Label2: TLabel;

 Label3: TLabel;

 Label4: TLabel;

 Edit1: TEdit;

 Edit2: TEdit;

 Edit3: TEdit;

 Edit4: TEdit;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

 { Private declarations }

public

 { Public declarations}

end;

var Form1: TForm1;

implementation

{$R*.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

 Edit1.Text :='0';

 Edit2.Text :='2';

 Edit3.Text :='5';

 Edit4.Text :='0.25';

Memo1.Clear;

Memo.Lines.Add('Результаты ст. гр. 9383 Валета А.В.');

end;

procedure TForm1.Button1Cllck(Sender: TObject);

var x1, x2, x, h, a, s : extended;

 N, k, c : integer;

begin

x1:=StrToFloat(Edit1.Text);

 Memo1.Lines.Add('x1='+Edit1.Text);

x2:=StrToFloat(Edit2.Text);

 Memo1.Lines.Add('x2='+Edit2.Text);

N:=StrTolnt(Edit3.Text);

 Memo1.lines.Add('N='+Edit3.Text);

h:=StrToFloat(Edit4.Text);

 Memo1.Lines.Add(' h='+Edit4.Text);

 c:=-1;

 x:=x1;

repeat

 a:=1;

 S:=1;

 for k:=1 to N do

 begin

 a:=c*a*x/k;

 s:=s+a;

end;

Memo1.lines.Add('при x=' +FloatToStrF(x,ffFixed,6,2)+ ' сумма = '+FloatToStrF(s,tfFtxed,6,2));

 x:=x+h;

until x>x2;

end;

end.

После отладки программы составьте тест (N=2, Х1=0, Х2=1, h=3), установите курсор на первый оператор (N:= ), нажмите клавишу F4. После этого нажимая клавишу F7, выполните пошаговую программу и проследите, как меняются все переменные в процессе выполнения.

Индивидуальные задания.

Ниже приведено 15 вариантов задач из трёх частей. По указанию преподавателя выберите свое индивидуальное задание. Уточните условие задания, количество, наименование, типы исходных данных. В соответствии с этим установите количество окон Edit, тексты заголовков на форме, размеры шрифтов, а также типы переменных и функции преобразования при вводе и выводе результатов. С помощью инспектора объектов измените цвет формы, шрифт выводимых символов.

Часть 1. Использование ООП для программирования линейных алгоритмов.

1.  Найти сумму цифр заданного четырехзначного числа.

2.  Определить число, полученное в оратном порядке цифр , заданного трехзначного числа.

3.  Вывести на экран 1 или 0 в зависимости от того, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.

4.  Вывести на экран 1 или 0 в зависимости от того, равен ли квадрат эго трехзначного числа кубу суммы цифр этого числа.

5.  Вывести на экран 1 или 0 в зависимости от того, есть ли среди первых дробной части заданного положительного вещественного числа цифра.

6.  Вывести на экран 1 или 0 в зависимости от того, есть ли среди цифр трехзначного числа одинаковые.

7.  Присвоить целой переменной k третью от конца цифру в записи положительного целого числа n.

8.  Присвоить целой переменной k первую цифру из дробной части положительного вещественного числа.

9.  Целой переменной S присвоить сумму цифр трехзначного целого числа k.

10.  Идет k-я секунда суток. Определить, сколько полных часов (h) и полных минут (m) прошло к этому моменту.

11.  Определить f - угол (в градусах) между положением часовой стрелки в начале суток и ее положением в h - часов, т - минут и s - секунд (0<=Н<=11, 0<=т,s< =59).

12.  Определить h - полное количество часов и m - полное количество минут, прошедших от начала суток до того момента (в первой половине дня), когда часовая стрелка повернулась на f градусов(0<=f<360, f - вещественное число).

13.  Пусть k - целое от 1 до 365. Присвоить целой переменной n значение 1,2,3,...,6 или 7 в зависимости от того, на какой день недели (понедельник, вторник, ..., суббота или воскресенье) приходится k-й день невысокосного года, в втором 1 января - понедельник.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

рефераты
Новости