Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы_Информатика.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.79 Mб
Скачать

Задание

1. Определить переменную строкового типа st, присвоить этой переменной или ввести с клавиатуры следующий текст "Паскаль — алгоритмический язык". Посчитать сколько раз в тексте встречаются буквы "а", "л", "и" и "к".

2. Написать программу, которая выполняла бы перевод целого числа (0 > п < 255), вводимого с клавиатуры, в двоичный (или восьмиричный) код.

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

Порядок выполнения работы.

Для выполнения первого задания необходимо войти в среду программирования ABC Pascal и в окне редактирования ввести текст программы, произвести ее отладку и выполнение.

Содержание отчета

Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:

  1. Название работы.

  2. Постановку задачи.

  3. Описание алгоритма (метода) решения.

  4. Текст программы.

  5. Результаты работы программы на 2–3 контрольных примерах.

Контрольные вопросы

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Тульский государственный университет»

Институт высокоточных систем им. В.П. Грязева

Кафедра Системы автоматического управления

Методические указания к лабораторной работе № 11

СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ.

МНОЖЕСТВА.

по дисциплине

ИНФОРМАТИКА

Направление подготовки (специальность):

161101 Системы управления летательными аппаратами

Профиль подготовки (специализация): Системы управления движением летательных аппаратов

Квалификация (степень) выпускника: специалист

Форма обучения: очная

Тула 2011 г.

Цель и задачи работы: Познакомиться с организацией структурированных типов данных и использованием циклических алгоритмов в языке программирования Паскаль.

Теоретические сведения

Множество. В языке Паскаль типом-множеством называется множество-степень исходного множества объектов порядкового типа, т. е. множество всевозможных сочетаний объектов исходного множества.

Число элементов исходного множества в Turbo Pascal не может быть больше 256, а порядковые номера элементов (т. е. значение функции Ord) должны находиться в пределах от 0 до 255.

Для задания типа-множества следует использовать зарезервированные слова set и of, а затем указать элементы этого множества, как правило, в виде перечисления или диапазона, например:

type

Alfa = set of 'A'..'Z';

Count= set of (Plus, Minus, Mult, Divid);

Ten = set of 0..9;

Number set of '0'..'9';

Введя тип-множество, можно задать переменные или типизированные константы этого типа-множества.

При задании значений константе-множеству ее элементы перечисляются через запятую (допустимо указывать диапазоны) и помещаются в квадратные скобки. Например, для введенных выше типов можно задать такие переменные и типизированные константы:

var

CharVal: Alfa;

Operation: Count;

const

Index: Ten [0, 2, 4, 6, 8];

Digit: Number ['0'..'9'];

Примечание. Так же как и для других структурированных типов, тип-множество можно ввести непосредственно при задании переменных или типизированных констант:

var

CharVal: set of 'A'..'Z';

Operation: set of (Plus, Minus, Mult, Divid);

const

Index: set of 0..9=[0, 2, 4, 6, 8];

Digit: set of '0'..'9'=['0'..-9'];

Множеству можно в программе присвоить то или иное значение. Обычно значение задается с помощью конструктора множества. Конструктор задает множество элементов с помощью перечисления в квадратных скобках выражений, значения которых дают элементы этого множества. Допустимо использовать диапазоны элементов.

Пример. Следующие структуры являются конструкторами множеств:

[Plus, Minus]

[1..К mod 12, 15]

[Chr(0)..Chr(31), 'А', 'В']

В каждое множество включается и т. н. пустое множество [ ], не содержащее никаких элементов.

Конструктор множества можно использовать и непосредственно в операциях над множествами.

Для множеств определены следующие операции:

+ - объединение множеств;

- - разность множеств;

* - пересечение множеств;

= - проверка эквивалентности двух множеств;

 - проверка неэквивалентности двух множеств;

<= - проверка, является ли левое множество подмножеством правого

множества;

>= - проверка, является ли правое множество подмножеством левого

множества;

in - проверка, входит ли элемент, указанный слева, в множество,

указанное справа.

Результатом операции объединения, разности или пересечения является соответствующее множество, остальные операции дают результат логического типа. Пример. Ввести строку символов, состоящую из латинских букв, цифр и пробелов. Осуществить проверку правильности введенных символов.

program EXAMPLE13;

var

Str: string;

L: Byte;

Tru: Boolean;

begin

WriteLn( 'Введите строку' );

ReadLn(Str);

L := Length(Str); {число введенных символов}

Tru := L > 0; {true, если не пустая строка}

while Tru and (L > 0) do {проверка с конца строки}

begin

Tru:=Str[L] in ['0'..'9', 'А-..'Z', 'a'..'z', ' '];

{проверка допустимости символа}

Dec(L) {предыдущий символ}

end;

if Tru then

WriteLn('Правильная строка')

else

WriteLn('Неправильная строка')

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]