Лабораторная работа № 6. Множества
Задание 1. Запишите результаты операций над множествами:
1 |
[1, 3, 6, 7, 8] + [1, 2, 7, 9] |
[1, 2, 3, 6, 7, 8, 9] |
2 |
[5, 6, 8, 9] * [3, 4, 5, 8, 10] |
[5, 8] |
3 |
[‘a’, ‘b’, ‘c’, ‘d’, ‘e’] – [‘b’, ‘d’, ‘f’, ‘g’] |
[‘a’, ‘c’, ‘e’] |
4 |
4 in [1, 2, 3, 4, 5] |
true |
5 |
3 in [1, 2, 5, 7, 9] |
false |
Задание 2. Правильный порядок команд в программе, объединяющей два множества:
□ Program Example12;
□ Uses Crt;
□ Var M, N, L: set of byte;
□ Begin
□ N:= [1, 2, 3, 4, 8]; M:= [3, 4, 5, 6, 8];
□ L:= N + M;
□ End.
Задание 3. Заполните пустые места в программе, определяющей количество цифр в тексте.
Program ABC;
Uses Crt;
Var G: set of char;
t: string;
i, n, m: byte;
Begin
Clrscr;
G:= ['0' .. '9'];
Writeln('Введите текст ');
Readln(t);
n:=0;
For i:= 1 to Length(t) do Begin
if t[i] in G then n:= n+1;
End;
Writeln(n);
Readkey;
End.
Задание 4. Составьте программу, которая заполняет множество нечетными числами от 1 до n(n≤ 255) и выводит эти числа на экран.
Листинг программы:
Program z64;
Uses crt;
Var M: Set of byte;
i, n: byte;
Begin
Write('n=');
Readln(n);
M:=[];
For i:=1 to n do if i mod 2 <> 0 then M:=M+[i];
For i:=1 to 255 do if i in M then Write(i:5);
Readln;
End.
Протокол выполнения программы:
n=10
1 3 5 7 9
Задание 5. Составьте программу, которая заполняет множество простыми числами от 1 доn(n≤ 255) и выводит эти числа на экран.
Листинг программы:
Program z65;
Uses crt;
Var M: Set of byte;
i, j, n, lim: byte;
Begin
Write('n=');
Readln(n);
M:=[];
For i:=2 to n do Begin
j:=2; lim:=round(sqrt(i));
while (i mod j<>0) and (j<=lim) do inc(j);
if (j>lim) then M:=M+[i];
End;
For i:=1 to 255 do if i in M then Write(i:5);
Readln;
End.
Протокол выполнения программы:
n=20
2 3 5 7 11 13 17 19
Лабораторная работа № 7. Строки
Задание 1. Заполните пустые места в программе, подсчитывающей количество букв «а» в строке.
Program Example12;
Var S: string;
i, k: integer;
Begin
Writeln ('Введите строку');
Readln (S);
k:=0;
For i:= 1 to length(S) do
if S[i]=’a’ then k:=k+1;
Writeln('Символ «а» встречается ', k, ' раз');
End.
Задание 2. Укажите правильный порядок команд в программе, удаляющей из строки все буквы «о».
□ Program Example13;
□ Var S, T: string;
i: integer;
□ Begin
□ Writeln ('Введите строку'); Readln (S);
□ T:='';
□ For i:= 1 to length(S) do
□ if S[i] <>'о' then T:=T+S[i];
□ Writeln (T);
□ End.
Задание 3. Составьте программу, в которой все буквы «а» заменяются на буквы «о».
Листинг программы:
Program z73;
Uses crt;
Var S: string;
i: integer;
Begin
Writeln('Vvedite stroku'); Readln(S);
For i:=1 to length(S) do
if S[i]='a' then S[i]:= 'o';
Writeln(S);
Readkey;
End.
Протокол выполнения программы:
I hear, and I forget. I see, and I remember. I do, and I understand.
I heor, ond I forget. I see, ond I remember. I do, ond I understond.
Задание 4. Определите, что выполняется в программе.
Program Example14;
Const X = ['0' .. '9'];
Var S, T: string;
i: integer;
Begin
Writeln ('Введите строку');
Readln (S);
T:= ' ';
For i:= 1 to length(S) do
if not(S[i] in X) then T:= T+S[i];
Writeln(T);
Readln;
End.
Программа удаляет все цифры из строки.
Задание 5. Составьте программу, в которой из строки удаляются все символы, кроме цифр.
Листинг программы:
Program z75;
Uses crt;
Const X=['0'..'9'];
Var S, T: string;
i: integer;
Begin
Writeln('Vvedite stroku'); Readln(S);
T:='';
For i:=1 to length(S) do
if S[i] in X then T:=T+S[i];
Writeln(T);
Readln;
End.
Протокол выполнения программы:
1– One, 2 –Two, 3 –Three
123
Задание 6. Составьте программу, в которой из строки удаляются последние три символа.
Листинг программы:
Program z76;
Uses crt;
Var S: string;
i: integer;
Begin
Writeln('Vvedite stroku'); Readln(S);
delete(S,length(S)-2,3);
Writeln(S);
Readln;
End.
Протокол выполнения программы:
Grasp all, lose all
Grasp all, lose