Практические задания. 1. Дана символьная строка1. Дана символьная строка. Зашифровать в ней все латинские символы с помощью циклической подстановки А = > В = > С... Y = > Z = > А 2. Дана символьная строка. Удалить из нее все кратные рядом стоящие одинаковые символы, оставив по одному. Например, ФЫЫЫЫВВВААПРО = > ФЫВАПРО 3. Дана символьная строка. Посчитать, сколько раз в ней встречается подслово АВВА. Обратите внимание: в строке АВВАВВА это подслово встречается два раза! ТЕМА 6 Одномерные массивы Массив в языке PASCAL представляет собой заранее известное количество однотипных компонентов, снабженных индексами. Массив может быть одномерным или многомерным. Чтобы задать тип-массив, необходимо использовать зарезервированное слово ARRAY, тип индексов массива и тип компонентов массива. Например, тип одномерного массива целых чисел может быть задан следующим образом: TYPE MAS = ARRAY[1..1O] OF INTEGER; VAR M1: MAS; Тот же самый тип массива может быть задан и при определении соответствующих переменных: VAR М1: ARRAY[1..1O] OF INTEGER; Размерность массива может быть любой, компоненты тоже, только тип индексов должен быть обязательно порядковый и не Longint. Обратите внимание: тип индексов, как правило, объявляется как диапазон. Алгоритмы, с помощью которых обрабатывают одномерные массивы, очень похожи на обработку последовательностей (поиск, выборка и т. д.). Отличие заключается в том, что в массиве одновременно доступны все его компоненты. Такой доступ называется параллельным. Поэтому становятся возможны сортировки элементов по убыванию значений, по возрастанию или по какому-либо другому признаку. Возможны также и более сложные преобразования массивов. Рассмотрим несколько примеров на обработку одномерных массивов. Задача 6.1 Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их. Эта задача может быть решена за один просмотр элементов массива. Вначале устанавливаем текущий максимум по первому элементу массива МАХ:= MAS[1] и запоминаем количество максимумов К:= 1. Затем выбираем очередной элемент MAS[I] массива и сравниваем его с МАХ. В случае равенства увеличиваем значение К на единицу. Если текущий максимум меньше элемента MAS[I], то переприсваиваем его МАХ:= MAS[I] и устанавливаем значение К в единицу. После окончания просмотра выводим результаты на экран. В данном случае считывание элементов массива разумно совместить с процессом обработки, но считывание можно осуществить и двумя последовательными циклами:
|