Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР_программирование.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
387.75 Кб
Скачать

Содержание

1. Введение 7

2. Основные этапы развития технологии программирования. 8

2.1. Первый этап: «стихийное» программирование (50-60-е годы) 8

2.2. Второй этап: структурный подход к программированию (60-70-е годы) 9

2.3. Третий этап: объектный подход к программированию (с середины 80-х до конца 90-х годов XX в.) 13

2.4. Четвертый этап: компонентный подход и CASE-технологии (с середины 90-х годов до нашего времени) 16

3. Практическое задание по алгоритмизации и программированию в среде Delphi. 18

3.1. Постановка задачи 1. 18

3.2. Анализ задачи составление блок-схем. 18

3.3. Разработка схемы интерфейса. 20

3.4. Листинг кода программы. 21

unit Unit1; 21

interface 21

uses 21

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

Dialogs, StdCtrls; 21

type 21

TForm1 = class(TForm) 21

Memo1: TMemo; 21

OpenDialog1: TOpenDialog; 21

SaveDialog1: TSaveDialog; 21

Button1: TButton; 21

Label1: TLabel; 21

Label2: TLabel; 21

Button2: TButton; 21

procedure Button1Click(Sender: TObject); 21

procedure Memo1Change(Sender: TObject); 22

procedure Button2Click(Sender: TObject); 22

private 22

{ Private declarations } 22

public 22

{ Public declarations } 22

end; 22

var 22

Form1: TForm1; 22

n:integer; p,sum:real; 22

implementation 22

{$R *.dfm} 22

procedure Schet; 22

var i,imax,imin,max,min:integer; 22

a:array[1..100] of integer; 22

begin 22

n:=strToInt(form1.memo1.Lines[0]); // размер массива 22

for i:=1 to n do 22

a[i]:=strToInt(form1.memo1.Lines[i]); // берем данные из файла в массив 22

sum:=0; // Задание 1-А: ищем сумму отрицательных элементов массива 22

for i:=1 to n do 22

if a[i]<0 then sum:=sum+a[i]; 22

form1.label1.Visible:=true; 22

form1.label1.Caption:= 'Сумма отрицательных элементов массива = '+Floattostr(sum)+'.'; 22

imax:=1; // Задание 1-B: ищем произведение элементов массива, расположенных между его максимальным и минимальным элементами 22

imin:=1; 22

max:=a[1]; 22

min:=a[1]; 22

for i:=2 to n do 22

begin 22

if a[i]>max then 22

begin max:=a[i]; imax:=i; end; 22

if a[i]<min then 22

begin min:=a[i]; imin:=i; end; 22

end; 22

if imin>imax then 23

begin i:=imin; imin:=imax; imax:=i; end; 23

p:=1; 23

for i:=imin to imax do 23

p:=p*a[i]; 23

form1.label2.Visible:=true; 23

form1.label2.Caption:= 'Произведение элементов массива, расположенных между его максимальным и минимальным элементами, = '+Floattostr(p)+'.'; 23

end; 23

procedure TForm1.Button1Click(Sender: TObject); 23

begin 23

if opendialog1.Execute 23

then memo1.Lines.LoadFromFile(opendialog1.FileName); 23

Schet; 23

end; 23

procedure TForm1.Memo1Change(Sender: TObject); 23

begin 23

Schet; 23

end; 23

procedure TForm1.Button2Click(Sender: TObject); 23

begin 23

memo1.Lines[n+1]:= 'Сумма отрицательных элементов массива = '+Floattostr(sum)+'.'; 23

memo1.Lines[n+2]:= 'Произведение элементов массива, расположенных между его максимальным и минимальным элементами, = '+Floattostr(p)+'.'; 23

if savedialog1.Execute 23

then memo1.Lines.SaveToFile(savedialog1.FileName); 23

end; 23

end. 23

3.5. Постановка задачи 2. 24

3.6. Анализ задачи составление блок-схем. 24

3.7. Разработка схемы интерфейса. 27

3.8. Листинг кода программы 27

unit Unit1; 27

interface 27

uses 27

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

Dialogs, StdCtrls, Grids; 28

type 28

TForm1 = class(TForm) 28

StringGrid1: TStringGrid; 28

Label1: TLabel; 28

Label2: TLabel; 28

Edit1: TEdit; 28

Edit2: TEdit; 28

StringGrid2: TStringGrid; 28

Button1: TButton; 28

Label3: TLabel; 28

procedure Edit1Change(Sender: TObject); 28

procedure Edit2Change(Sender: TObject); 28

procedure Edit1KeyPress(Sender: TObject; var Key: Char); 28

procedure Edit2KeyPress(Sender: TObject; var Key: Char); 28

procedure StringGrid1KeyPress(Sender: TObject; var Key: Char); 28

procedure Button1Click(Sender: TObject); 28

private 28

{ Private declarations } 28

public 28

{ Public declarations } 28

end; 28

var 28

Form1: TForm1; 28

m,n:integer; 28

a:array[1..20,1..20] of integer; 28

b:array[1..20] of integer; 28