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

Пример 8

Подсчитать, сколько букв а в тексте.

Program Example_136;

uses crt;

var a: string;

i, s: integer;

begin

clrscr;

writeln('Введите текст');

readln(a);

s:=0;

for i:=1 to length(a) do

begin

if (copy (a, i, 1)= 'a') or

(copy(a, i, 1)= 'A') then

s:=s+1;

end;

writeln('В заданном тексте буква <a>

встречается ', s, ' раза');

end.

Пример 9

Найти сумму двух целых чисел, которые вводятся с клавиатуры, а также сумму цифр каждого из цифр.

Program Example_137;

uses crt;

var a, b, c1, c2, i, k, s, sa, sb: integer;

ca, cb: string[5];

begin

clrscr;

s:=0; sa:=0; sb:=0;

write('Задайте 1-е число'); readln(a);

write('Задайте 2-е число'); readln(b);

s:=a+b;

str(a, ca); str(b, cb);

for i:=1 to length(ca) do

begin

val(copy(ca, i, 1), c1, k);

sa:=sa+c1;

end;

for i:=1 to length(cb) do

begin

val(copy(cb, i, 1), c2, k);

sb:=sb+c2;

end;

writeln(' Сумма чисел равна ',s);

writeln(' Сумма цифр 1-го числа= ', sa)

writeln(' Сумма цифр 2-го числа= ', sb);

readln;

end.

Пример 10

Определить, каких цифр в числе больше: четных или нечетных.

Program Example_138;

uses crt;

var a: string[5];

b: string[1];

i, k, s, sn, x: integer;

begin

clrscr;

s:=0; sn:=0

write('Задайте число'); readln(a);

for i:=1 to length(a) do

begin

b:=copy(a, i, 1);

val(b, x, k);

if x mod 2=0 then s:=s+1

else sn:=sn+1;

end;

if s>sn then

writeln('четных цифр больше');

if s<sn then

writeln('нечетных цифр больше');

if s=sn then writeln('Одинаково');

end.

§51. Множественный тип данных

Множество в языке Паскаль представляет собой на­бор различных элементов одного (базового) типа.

Базовый тип − это совокупность всех возможных элементов множества. Всего в базовом типе должно быть не более 256 различных элементов. Значение перемен­ной множественного типа может содержать любое ко­личество различных элементов базового типа − от нуля элементов (пустое множество) до всех возможных зна­чений базового типа (напомним, что их должно быть не более 256). Иными словами, возможными значениями переменных множественного типа являются все под­множества базового типа.

Множества, используемые в программе, могут быть описаны либо в разделе Type:

Type <имя типа>=Set Of <тип элементов>;

Var <имя множества>: <имя типа>;

либо непосредственно в разделе описания переменных Var:

Var <имя множества>:

Set Of <тип элементов>;

Пример

Type mnog_Char=Set Of Char;

Var mn1: Set Of Char;

mn2: mnog_Char;

mn3: Set Of 'A'..'Z';

s1: Set Of Byte;

s2: Set Of 1000..1200;

Здесь mn1 и mn2 − это множества символов; так как различных символов всего 256, то тип Char можно использовать в качестве базового;

mn3 − множество больших латинских букв;

s1 − множество целых чисел (от 0 до 255); так как тип Byte содержит только целые числа от 0 до 255 (всего 256 различных чисел), его тоже можно использо­вать в качестве базового типа элементов;

s2 − множество целых чисел от 1000 до 1200.

Формирование (конструирование) множеств. В про­грамме элементы множества задаются в квадратных скоб­ках, через запятую. Если элементы идут подряд друг за другом, то можно использовать диапазон.

Пример

Type digit=Set Of 1..5;

Var s: digit;

Переменная s может принимать значения, состоя­щие из любой совокупности целых чисел от 1 до 5:

[ ] − пустое множество;

[I], [2], [3], [4], [5] − одноэлементные мно­жества;

[1, 2], [1, 3], ..., [2, 4], [4, 5] − двухэле­ментные (пара любых элементов);

[1, 2, 3], [1, 2, 4],..., [3, 4, 5] − трехэле­ментные (тройка элементов);

[1, 2, 3, 4], [1, 2, 3, 5], [1, 2 , 4, 5], [1, 3, 4, 5], [2, 3, 4, 5] − четырехэлементные;

[1, 2, 3, 4, 5] − полное множество (взяты все элементы базового типа).