Записать программу, выясняющую, можно ли из букв слова 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;
- Зашифровать слово, поставив букве её номер в алфавите
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
- В массиве второй отрицательный элемент заменить минимальным.
|
|
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.
- Сколько в массиве элементов с минимальным значением среди положительных?
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.
- Дан символьный файл 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!