Лабораторная работа № 10 ТЕМА: Реализация классических алгоритмов для работы с массивами и строковыми величинами в виде программ. ЦЕЛЬ РАБОТЫ: Закрепление знаний о структуре массива, строковых и символьных величинах; составление, ввод и выполнение программ с использованием строковых величин; реализация классических алгоритмов работы с массивами. ОБОРУДОВАНИЕ: Персональный компьютер, задания лабораторной работы по вариантам. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: Borland Turbo Pascal 7.0 1. ОСНОВНЫЕ СВЕДЕНИЯ Значениями строкового типа (string) в Паскале являются последовательности символов длиной от 0 (пустая строка) до 255 символов. Можно описать строку, предельная длина которой меньше 255, задав эту длину в квадратных скобках. Примеры описания строк: Var s1, s2: string; {Обычные строки длиной до 255 символов} name: string[20]; {Строка длиной не более 20 символов} Строку можно рассматривать как массив символов, то есть обращаться из программы к отдельным символам строки: s1[2] – второй символ строки s1; s2[i] – i-й символ строки s2; Строки можно считывать и печатать обычными процедурами ввода/вывода: read, readln, write, writeln. Отдельные символы строки (s1[1], s1[2] и т.д.) можно рассматривать как переменные типа Char. Строка может быть пустой, то есть вовсе не содержать символов и иметь нулевую длину. Такая строка задается как две одинарные кавычки, между которыми ничего нет: S := ''; Обратите внимание, что «ничего» в данном случае, значит совсем ничего. Часто, пытаясь задать пустую строку, ставят между кавычками пробел, что неправильно. 2. ВЫПОЛНЕНИЕ РАБОТЫ 2.1. 2.2. 2.3. 2.4. Составьте и выполните программу согласно вариантам заданий. Проверьте полученный результат. Выполните анализ ошибок, опишите действия по их устранению. Запишите листинг программы в тетрадь. Варианты заданий: Вариант 1. Запись заданного целого числа, введённого с клавиатуры, имеет нечётное количество цифр. Вывести на экран среднюю цифру. Вариант 2.Составить программу, которая выделяет отдельные слова в заданном предложении и выводит их в столбик на экран дисплея. Вариант 3. Дана строка с несколькими запятыми. Вывести на экран текст, расположенный между первой и второй запятыми. Вариант 4. Вводится строка из слов с некоторым количеством пробелов между словами. Удалить лишние пробелы, оставив по одному между словами. Вариант 5. Дана строка слов, разделенных между собой пробелами. Составить программу поиска и вывода на экран всех слов, в которых ровно два раза встречается заданная буква. Вариант 6. Дана строка слов, разделенных между собой пробелами. Составить программу поиска количества слов, у которых первая и последняя буквы совпадают между собой. Вариант 7. Дана строка слов, разделенных между собой пробелами. Составить программу вывода на экран строки, составленной из первых букв всех слов. Вариант 8. Дана строка слов, разделенных между собой пробелами. Составить программу вывода на экран строки, составленной из последних букв всех слов. 3. КОНТРОЛЬНЫЕ ВОПРОСЫ Что будет напечатано на экране в результате выполнения фрагментов: В.1,8 x:=’Выпускные экзамены 11-х классов’; y:=9; Delete(x,20,2); Insert(y,x,20); Writeln(x); В.2,7 x:=’процедуры и функции’; y:=copy(x,11,9); Writeln(y); В.3,5 Из слова СИГНАЛИЗАЦИЯ получено слово СИГНАЛ. Запишите оператор, реализующий данное превращение. В.4,6 Что будет напечатано на экране в результате выполнения фрагмента: A:=’ЖЕЛЕЗНОДОРОЖНИК’; WRITELN (COPY(A,1,5) + COPY(A,9,1));