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

7.Текстовые файлы

1. Дан массив целых чисел а1,…,аn (n<=10). Сформировать текстовый файл по следующему правилу: первая строка файла состоит из букв «А», количество которых а1, вторая строка из букв «Б», количество которых а2 и т.д.

program Project14;

{$APPTYPE CONSOLE}

uses SysUtils;

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

f:textfile;

i,n,l:integer;

s:string;

begin

{ TODO -oUser -cConsole Main : Insert code here }

write('vvedite kol-vo elementov massiva, n= '); readln(n);

for i:=1 to n do read(a[i]);

assignfile(f,'C:\Users\Алина\Desktop\прак ЭВМ\pr14.txt');

rewrite(f);

s:='ABCDEFGHIJ';

for i:=1 to n do begin

for l:=1 to a[i] do

write(f,s[i],' ');

writeln(f)

end;

closefile(f);

end.

Визуальное программирование

1.Одномерные массивы.

1.Дан массив X1,…,Xn. Поменять местами первый и последний элемент, второй и предпоследний, и т д.

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

Tform1 = class(Tform)

Memo1: Tmemo;

Edit1: Tedit;

Memo2: Tmemo;

Memo3: Tmemo;

Button1: Tbutton;

Label1: Tlabel;

Label2: Tlabel;

Label3: Tlabel;

Button2: Tbutton;

Button3: Tbutton;

Button4: Tbutton;

procedure Button1Click(Sender: Tobject);

procedure Button2Click(Sender: Tobject);

procedure Button3Click(Sender: Tobject);

procedure Button4Click(Sender: Tobject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: Tform1;

x:array [1..30] of integer;

var n,I,p,k:integer;

implementation

{$R *.dfm}

procedure Tform1.Button1Click(Sender: Tobject);

begin

n:=strtoint(edit1.Text);

for i:=1 to n do begin

x[i]:=random(201)-100;

memo2.lines.Add(inttostr(x[i]))

end;

{x[i]:=strtoint(memo1.Lines[i-1]); }

end;

procedure Tform1.Button2Click(Sender: Tobject);

begin

p := n div 2;

for i:= 1 to p do

begin

k := x[i];

x[i]:=x[n+1-i];

x[n+1-i]:=k;

end;

for i:=1 to n do memo3.lines.Add(inttostr(x[i]))

end;

procedure Tform1.Button3Click(Sender: Tobject);

begin

form1.close

end;

procedure Tform1.Button4Click(Sender: Tobject);

begin

memo2.Clear;

memo3.Clear;

edit1.Text:=’’

end;

end.

2. Двумерные массивы.

1. Дан двумерный массив порядка m*m. В каждой строке этого массива заменить диагональный элемент на максимальный элемент этой строки.

unit viz2;

interface

uses

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

Dialogs, StdCtrls, Grids;

type

TForm1 = class(TForm)

Memo1: TMemo;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Label3: TLabel;

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var m,i,j,maxi:integer;

a:array [1..30,1..30] of real;

p:real;

begin

m:=strtoint(edit1.Text);

StringGrid1.RowCount:=m;

StringGrid1.ColCount:=m;

StringGrid2.RowCount:=m;

StringGrid2.ColCount:=m;

for i:=1 to m do

for j:=1 to m do

begin

a[i,j]:=random(201)-100;

Stringgrid1.Cells[j-1,i-1]:=floattostr(a[i,j]);

end;

{a[i,j]:=strtofloat(StringGrid1.Cells[j-1, i-1]); }

for i:=1 to m do begin

maxi:=1;

for j:=1 to m do

if a[i,j]>a[i,maxi] then maxi:=j;

for j:=1 to m do

if i=j then a[i,j]:=a[i,maxi]

end;

for i:=1 to m do

for j:=1 to m do

Stringgrid2.Cells[j-1,i-1]:=floattostr(a[i,j]);

end;

end.