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

3

// ТЕКСТ ПРОГРАММЫ

unit Unit1;

Interface

uses

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

Buttons, StdCtrls, Spin;

type

TForm1 = class(TForm)

Label1: TLabel; Edit1: TEdit;

Label2: TLabel; Label3: TLabel;

Memo1: TMemo; Button1: TButton;

BitBtn1: TBitBtn;

SpinEdit1: TSpinEdit; // страница SAMPLE

Label4: TLabel; Label5: TLabel;

procedure Button1Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

var Form1: TForm1;

Implementation

{$R *.DFM}

// функция выделения числа из введенной строки чисел, разделенных пробелом

Function getchislo (str : string; n : integer ) string; // str-строка

// N –номер подстроки, результат - подстрока

VAR P,I : INTEGER;

BEGIN

FOR I:=1 TO N-1 DO BEGIN

P:= POS(' ', STR);

STR := COPY (STR,P+1,LENGTH(STR)-P);

END;

P:=POS(' ', STR);

IF P<>0 THEN RESULT:=COPY(STR, 1, P-1)

ELSE RESULT := STR;

END;

// ПРОЦЕДУРА ВВОДА И ВЫВОДА МАССИВА

procedure TForm1.Button1Click(Sender: TObject);

VAR A : ARRAY [1..10] OF INTEGER;

M, I : INTEGER;

begin

M:=SPINEDIT1.VALUE;

{ ВВОД МАССИВА ИЗ M ЧИСЕЛ}

LABEL3.CAPTION := '';

FOR I:=1 TO M DO

BEGIN

A[I] := STRTOINT (GETCHISLO(EDIT1.TEXT, I));

LABEL3.CAPTION := LABEL3.CAPTION +INTTOSTR(A[I]) + ' ';

MEMO1.TEXT:=MEMO1.TEXT + ' '+ INTTOSTR(2*A[I]) ; // В СТРОКУ

END;

MEMO1.LINES.ADD ('');

end;

end. // конец модуля Unit1

. Ввод элементов массива с использованием

функции пользователя для выделения числа

Создать приложение, позволяющее ввести все элементы

одномерного массива из компонента Edit, используя

специально созданную функцию выделения каждого

числа из строки чисел, разделенных одним пробелом

ИСХОДНАЯ ФОРМА

ФОРМА С РЕЗУЛЬТАТОМ

КОМПОНЕНТЫ:

L abel1

Label2

Label4 Для поясняющих надписей

Label5 - вывод массива а

Label3 - для вывода массива А

SpinEdit1( SAMPLE) – выбор размерности

Edit1 - ввод массива А

Memo1 - вывод массива 2*А

Button1 -обработка события ВЫВОД

BitBtn1 - завершить программу

Список компонентов и их свойства

object Form1: TForm1

Left = 192 Top = 107

Width = 380 Height = 316

Caption = 'Ввод одномерного массива из Edit через пробел'

Color = clBtnFace

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -11

Font.Name = 'MS Sans Serif'

Font.Style = []

OldCreateOrder = False

PixelsPerInch = 96

TextHeight = 13

object Label1: TLabel

Left = 8 Top = 48

Width = 343 Height = 13

Caption = '2. Введите массив А через пробел и нажмите кнопку ВЫВЕСТИ А'

end

object Label2: TLabel

Left = 32 Top = 96

Width = 49 Height = 13

Caption = 'Массив А'

Color = clYellow

ParentColor = False

end

object Label3: TLabel

Left = 99 Top = 96

Width = 5 Height = 13

Color = clYellow

ParentColor = False

end

object Label4: TLabel

Left = 8 Top = 16

Width = 225 Height = 13

Caption = '1. Выбери размерность массива А : m <=10'

End

object Label5: TLabel

Left = 8 Top = 120

Width = 109 Height = 13

Caption = 'Удвоенный массив А'

Color = clLime

ParentColor = False

End

object Edit1: TEdit

Left = 8 Top = 64

Width = 337 Height = 21

TabOrder = 0

end

object Memo1: TMemo

Left = 72 Top = 136

Width = 233 Height = 105

Color = clLime

Lines.Strings = (

'')

ScrollBars = ssVertical

TabOrder = 1

end

object Button1: TButton

Left = 8 Top = 256

Width = 97 Height = 25

Caption = 'вывести А и 2*А'

TabOrder = 2

OnClick = Button1Click

end

object BitBtn1: TBitBtn

Left = 280 Top = 256

Width = 75 Height = 25

TabOrder = 3

Kind = bkClose

end

object SpinEdit1: TSpinEdit

Left = 256 Top = 8

Width = 41 Height = 22

MaxValue = 10

MinValue = 1

TabOrder = 4

Value = 1

end

end

4. Ввод одномерного массива из файла с именем D: \ ODN.DAN

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]