Автор работы: Пользователь скрыл имя, 25 Марта 2012 в 06:44, доклад
1)Дано предложение. Все буквы е в нем заменить на букву и.
Министерство образования и науки Российской Федерации
Информационно-гуманитарное отделение
Лабораторной работе №5
«Строковые типы данных в Borland Delphi»
Исполнитель
Руководитель
Иркутск. 2011 год
Оглавление
Общие задания:
Задание №1____________________________
Задание №2____________________________
Задание №3____________________________
Задание №4____________________________
Задание №5____________________________
Индивидуальные задания:
Общие задания:
1)Дано предложение. Все буквы е в нем заменить на букву и.
I) Постановка задачи- корректна;
II) Математическая модель:
Исходные данные: x є строка
Выходные данные: є строка
Связь: =u,если =е
=,если =е
III) Алгоритмизация
V) Программный код
procedure TForm1.Button1Click(Sender: TObject);
var x:String; String; i:byte; y: integer;
Begin
x:= edit1.Text;
Y:= Lengh (x);
For i= 1 yo y do
Begin
If x[i]:= ‘e’ then
[i]:= x[i];
End;
For i:= 1 to y do
Show Message (‘[i]);
End;
End.
2) Дано слово. Поменять местами его вторую и пятую буквы.
I) Постановка задачи- корректна;
II) Математическая модель:
Исходные данные: мыло є строка
Выходные данные: m є строка.
Связь: m= замена второй и пятой буквы.
III) Алгоритмизация
IV) Тестирование.
Исходные данные |
Выходные данные |
Примечание |
очки |
m |
|
|
машкы |
|
|
димок |
|
|
кцриуа |
|
|
ДСТ | |
|
ДСТ |
V) Программный код
procedure TForm1.Button1Click(Sender: TObject);
Var очки, m: string;
Begin
очки :=edit1.text;
m :=очки[2];
Insert(m, очки, 5);
Delete(книга, 6, 1);
Edit2.text:=очки;
End;
end.
3) Дан текст. Определить количество цифр в нем.
I) Постановка задачи- корректна;
II) Математическая модель:
Исходные данные: file є строка
Выходные данные: S є N
Связь: S=s[i]=s+1
III) Алгоритмизация
IV) Тестирование.
Исходные данные |
Выходные данные |
Примечание |
File |
S |
|
|
3 |
|
|
4 |
|
|
9.9 |
|
|
-3.5 |
|
|
ДСТ |
V) Программный код.
procedure
TForm1.Button1Click(Sender: TObject);
function isDigit( C : Char ) : boolean;
begin
Result := Ord( C ) in [48..57];
end;
var
file :string;
Count:integer;
i:integer;
begin file:= edit1.text; Count := 0;
for i := 0 to length(file ) do
begin
if isDigit( file[I] ) = TRUE then
Count := Count + 1;
Edit2.Text:=FloatToStr(count);
end;
end;
end.
4) Из слова апельсин путем «вырезок» и «склеек» его букв получить слово спаниель.
I) Постановка задачи- корректна;
II) Математическая модель:
Исходные данные: є строка (апельсин).
Выходные данные: b є строка (спаниель).
Связь: b=,если f>0, f0 длины (S).
III) Алгоритмизация.
IV) Тестирование.
Исходные данные |
Выходные данные |
Примечание | |
b |
|||
1 |
апельсин |
спаниель |
|
2 |
телефон |
ДСТ | |
3 |
4 |
ДСТ | |
4 |
7.1 |
ДСТ | |
5 |
*** |
ДСТ |
V) Программный код.
procedure
TForm1.Button1Click(Sender: TObject);
var S, b:String; f:integer;
begin
S:=3;
S:= edit1.Text;
b:= edit2.Text;
F:=Length (S);
If b=если f>0;
B:=;
If b:=если f0;
B:=«Ошибка»;
else
Edit3.Text:= InttoStr (b);
End;
End.
End.
5) Дано слово из 15-ти букв. Переставить в обратном порядке буквы, расположенные между k-й и s-й буквами (т.е. с (k+1)-й по (s-1)-ю). значения k и s вводятся с клавиатуры, k<s.
I) Постановка задачи- корректна;
II) Математическая модель:
Исходные данные: h є строка. ,g,t є R/Z+
Выходные данные: h є строка.
Связь: h= div 2 h[i]=h[t-i+g] h[t-i+g]=y
III) Техническое задание.
Исходные данные |
Результат |
|
h |
|
h |
|
ДСТ |
|
ДСТ |
IV) Алгоритмизация.
V) Тестирование.
Исходные данные |
Результат | ||
h |
g |
t |
h |
&#@K!* |
4 |
7 |
&#@K!* |
строка |
4 |
7 |
скрота |
строка |
* |
7 |
ДСТ |
строка |
4 |
* |
ДСТ |
строка |
4.7 |
8 |
ДСТ |
123456 |
4 |
7 |
153426 |
VI) Программный код.
var h:string; p:integer;i,g,t:byte; y:char;
begin h:=edit1.Text;
g:=strtoint(edit2.Text);
t:=strtoint(edit3.Text);
for i:=g to (t) div 2 do
begin
y:=h[i];
h[i]:=h[g-i+t];
h[g-i+t]:=y;
end;
Edit4.text:=(h);
end;
end.
Индивидуальные задания.
String17. Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные.
I) Постановка задачи- корректна;
II) Математическая модель:
Исходные данные: а є строка
Выходные данные: S є строка
Связь: S=’преобразовать строчные буквы в прописные.’
III) Алгоритмизация.
IV) Тестирование.
Исходные данные |
Выходные данные |
Примечание |
a |
S |
|
|
заколка |
|
|
магазин |
|
|
ДСТ | |
|
ДСТ | |
|
ДСТ |
V) Программный код.
procedure TForm1.Button1Click(Sender: TObject);
var a,S: String; i:byte;
Begin
a:= edit1.Text;
S:= edit2.Text;
Begin
S=’преобразовать строчные буквы в прописные’;
Show Message (S);
End;
End.
String45. Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Найти длину самого короткого слова.
I) Постановка задачи- корректна;
II) Математическая модель:
Исходные данные: L є строка
Выходные данные: S є строка
Связь: S(длина)= L,если ‘Короткое’;
L,если ‘длинное’.
III) Алгоритмизация.
IV) Тестирование.
Исходные данные |
Выходные данные |
Примечание |
X |
S |
|
|
‘длинное’ |
|
|
‘короткое’ |
|
|
‘длинное’ |
|
|
ДСТ |
|
|
ДСТ |
V) Программный код.
procedure TForm1.Button1Click(Sender: TObject);
var Q,S: String; i:byte;
Begin
Q:= edit1.Text;
S:= edit2.Text;
Begin
S(длина) if Q=’длинное’ ;
If Q=’короткое’ ;
Else
Show Message (S);
End;
End.
String6. Дан символ C, изображающий цифру или букву (латинскую или рус-скую). Если C изображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus».
I) Постановка задачи- корректна;
II) Математическая модель:
Исходные данные: С є строка.
Выходные данные:V є строка.
Связь: V=
III) Алгоритмизация.
IV) Тестирование.
№ |
Исходные данные |
Результат | ||
S |
N |
V |
Примечание | |
1. |
3 |
5 |
Добавляем символ «.» |
|
2. |
-1 |
7 |
Добавляем символ «.» |
|
3. |
10 |
2 |
Отбрасываем первые символы |
|
4. |
-2 |
15 |
Добавляем символ «.» |
|
5. |
-5.1 |
2.3 |
Добавляем символ «.» |
|
6. |
3.6 |
1.4 |
Отбрасываем первые символы |
|
7. |
P |
ДСТ | ||
8. |
@ |
ДСТ |
IV) Программный код.
Var S ,V:String; N: integer; i:byte;
Begin
N:= edit1.Text;
S:= edit2.Text;
V:= edit3.Text;
n:=Length (S);
If S>N then отбрасываем первые символы;
If S<N then добавляем символ ;
else
Edit4.Text:= InttoStr (V);
End;
End.
String69. Дана строка, содержащая латинские буквы и круглые скобки. Если скобки расставлены правильно (то есть каждой открывающей соответствует одна закрывающая), то вывести число 0. В противном случае вывести или номер позиции, в которой расположена первая ошибочная закрывающая скобка, или, если закрывающих скобок не хватает, число –1.