Записать программу, выясняющую, можно ли из букв слова N составить слово M.



 

var

s1,s2:string;

a,b,i,j,k: integer;

begin

s1:=edt1.Text;

s2:=edt2.Text;

a:=Length(s1);

b:=Length(s2);

k:=0;

if a<b then lbl1.Caption:='Нельзя' else

begin

for i:=1 to a do

begin

for j:=1 to a do

begin

if s2[i]=s1[j] then

begin

k:=k+1;

s1[j]:=' ';

end;

end;

end;

end;

if k=b then lbl1.Caption:='Можно' else lbl1.Caption:='Нельзя';

end;

 

 

 

  1. Зашифровать слово, поставив букве её номер в алфавите

Uses crt;

Var s:string; I,b:integer;

Begin

Readln(s);

For i:=1 to length(s) do

Begin

B:=ord(s[i])-96;

Write(b);

End;

Readln;

End.

При условии что все буквы – маленькая латиница.

 

2. Дан символьный файл f. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Удалить из файла все однобуквенные слова и лишние пробелы. Результат записать в файл g.

unit Unit1;

 

interface

 

uses

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

Dialogs, StdCtrls;

 

type

TForm1 = class(TForm)

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 f, g: textfile;

s: string;

ch: char;

i: integer;

 

begin

 

assignfile(f, 'f.txt');

assignfile(g, 'g.txt');

 

reset(f);

rewrite(g);

 

s:= '';

while not eof(f) do begin

read(f, ch);

s:= s + ch;

end;

 

s:= ' ' + s + ' ';

for i:= 1 to length(s) do

if (s[i] <> ' ') and (s[i - 1] = ' ') and (s[i + 1] = ' ') then

s[i]:= ' ';

 

while (s[1] = ' ') do

delete(s, 1, 1);

while (s[length(s)] = ' ') do

delete(s, length(s), 1);

 

for i:= 1 to length(s) do

if not ((s[i] = ' ') and (s[i - 1] = ' ')) then

write(g, s[i]);

 

closefile(f);

closefile(g);

end;

 

end.

----------------------------------------

На форме должно быть:

// Button1

 

 

  1. В массиве второй отрицательный элемент заменить минимальным.

 

uses crt;

var a: array[1..10] of Integer; i, k, m: Integer;

begin

Randomize;

for i:= 1 to 10 do

begin

a[i]:=random(19)-9;

write(a[i], ‘_’);

end;

writeln;

m:=a[1];

for i:= 2 to 10 do

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

k:=0;

for i:= 1 to 10 do

begin

if a[i]<0 then k:=k+1;

if k=2 then begin a[i]:=m; k:=4;

end;

end;

for i:= 1 to 10 do

write(a[i],’_’);

end;

 

 

2. Создать анимированный рисунок (движущийся автомобиль, падение каплей дождя в лужу, …

unit Unit1;

interface

uses

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

Dialogs, ExtCtrls;

type

TForm1 = class(TForm)

tmr1: TTimer;

procedure tmr1Timer(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

var

x, y, dy: Byte;

procedure Ris;

begin

Form1.Canvas.Pen.Color:=Form1.Color;

Form1.Canvas.Ellipse(x, y, x+10, y+10);

y:=y+dy;

Form1.Canvas.Pen.Color:=clBlue;

form1.Canvas.Ellipse(x, y, x+10, y+10);

end;

procedure TForm1.tmr1Timer(Sender: TObject);

begin

Ris;

end;

procedure TForm1.FormActivate(Sender: TObject);

begin

x:=10; y:=0; dy:=5; tmr1.Interval:=50;

Form1.Canvas.Brush.Color:=Form1.Color;

end;

end.

 

 

 

  1. Сколько в массиве элементов с минимальным значением среди положительных?

Uses crt;

var i, n, min, ans: integer;

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

begin

randomize;

for i:= 1 to 20 do

a[i]:= random(100) - 50;

for i:= 1 to 20 do

write(a[i], ' ');

writeln;

i:= 1;

while i <= 20 do

if (a[i] > 0) then begin

min:= i;

break;

end else

i:= i + 1;

for i:= 2 to 20 do

if (a[i] > 0) and (a[i] < a[min]) then

min:= i;

ans:= 0;

for i:= 1 to 20 do

if (a[i] = a[min]) then

ans:= ans + 1;

write(ans);

readln;

end.

  1. Дан символьный файл f: а) подсчитать число вхождений в файл сочетаний 'ab'; б) определить входит ли в файл сочетание 'abcdefgh'; в) подсчитать число вхождений в файл каждой из букв 'a', 'b', 'c','d', 'e', 'f' и вывести результат в виде таблицы

a. a --> Na b --> Nb c --> Nc

b. d --> Nd e --> Ne f --> Nf


Дата добавления: 2015-12-17; просмотров: 32; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!