Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Даша.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.31 Mб
Скачать

Государственное бюджетное образовательное учреждение

среднего профессионального образования

«Уфимский колледж информатики, статистики и вычислительной техники»

ОТЧЕТ ПО ПРАКТИКЕ

рАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

ОП 3П-4.Р408 ОС

Специальность

230105 «Программное обеспечение вычислительной техники и автоматизированных систем»

Студент

Романец Дарьи Ивановны

Группа

3П-4

Форма обучения

очная

Руководитель

(подпись)

Г.М. Махмутова

(дата)

Оценка

2012

1.1 Циклические структуры 3

1.2 Обработка двумерных массивов 8

1.4 Обработка типизированных файлов 33

Можно использовать одну и ту же переменную для работы с несколькими файлами, если они обрабатываются последовательно 33

1.5 Разработка приложений 34

1.6 Подключение внешних подпрограмм 38

38

1.7 Подключение модулей 39

1.8 Разработка многодокументных приложений 40

Раздел 2. Постановка задачи 41

2.1 Знакомство с предметной областью 42

2.2 Определение структуры и функций 43

Раздел 3. Построение структуры и диаграммы данных 49

3.2 ER- диаграмма 50

Раздел 4. Разработка проекта 51

4.1 Принципы объектно-ориентированного программирования 53

4.2 Структурное программирование модуля 55

4.3 Отладка программы 58

Раздел 5. Комплексное тестирование 59

5.1 Подготовка тестов 60

5.2 Тестирование программы различными способами 61

1.1 Циклические структуры

Циклом называется многократно исполняемый участок алгоритма (программы). Соответственно циклический алгоритм — это алгоритм, содержащий циклы.

Различают два типа циклов: с известным числом повторений и с неизвестным числом повторений. При этом в обоих случаях имеется в виду число повторений на стадии разработки алгоритма.

Существует 3 типа циклических структур:

Цикл с предусловием;

Цикл с послеусловием;

Цикл с параметром;

procedure TForm1.Button1Click(Sender: TObject);

var i:integer;//номер элемента, сравниваемого с минимальным

a:array[1..10] of integer;

min:integer;//номер минимального элемента

begin

//Введем массив

for i:=1 to 10 do

//Преобразуем полученные подстроки в числа

a[i]:=StrToInt(GetSubStr(Edit1.text,' ',i));//используем пробел в качестве разделителя

//Найдем минимальный элемент

min:=1; //пусть номер минимального элемента = 1

for i:= 2 to 10 do // начнем искать со следующего

if a[i] < a[min] then min:=i;

Form1.caption:=IntToStr(a[min]); // выводим минимальный элемент

End

Рисунок 1. Код программы в Delphi

Рисунок 2. Пример работы программы

Задача 2. Составить программу для нахождения суммы четных элементов массива.

Код программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

LabeledEdit1: TLabeledEdit;

StringGrid1: TStringGrid;

procedure Button1Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var i:byte;

s:integer;

begin

randomize;

s:=0;

for i:=0 to 7 do begin

StringGrid1.Cells[i,0]:=IntToStr(random(10));

if i mod 2<>0 then

s:=s+StrToInt(StringGrid1.cells[i,0]);

LabeledEdit1.text:=IntToStr(S);

end;end;end.

Рисунок 1. Код программы в Delphi

Рисунок 2. Результат работы программы

Рисунок 2. Результат работы программы

Задача 3. Составить программу нахождения суммы элементов массива,

кратных семи.

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, Grids;

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var i:byte;

s:integer;

begin

if LabeledEdit1.text<>'' then begin

StringGrid1.ColCount:=StrToInt(LabeledEdit1.Text);

end;

randomize;

S:=0;

for i:=0 to StrToInt(LabeledEdit1.Text)-1 do

StringGrid1.cells[i,0]:=IntToStr(random(100));

for i:=0 to StrToInt(LabeledEdit1.Text)-1 do begin

if StrToInt(StringGrid1.Cells[i,0]) mod 7=0 then

s:=s+StrToInt(StringGrid1.cells[i,0]);

end;

LabeledEdit2.Text:=IntToStr(s);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Close; end;end.

Рисунок 1. Код программы в Delphi

Рисунок 2. Пример работы программы