|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Введите через пробел 15 чисел12 78 65 3 5 76 82 93 13 28 54 68 26 47 3 Максимальный элемент последовательности А А (8) = 93 В разделе определения констант задан размер массива N = 15. В разделе описания переменных объявлен массив с именем А. Тип индекса — ограниченный, тип элементов — INTEGER. В этом же разделе описаны переменные: AMAX — максимальный элемент; PN — порядковый номер максимального элемента в массиве; I — параметр цикла. Эти переменные описаны как переменные типа INTEGER. Для ввода элементов массива используется цикл с оператором FOR. Оператором WRITELN (‘введите через пробел 15 чисел’); объявляется диалоговый режим ввода чисел. Подготовка цикла заключается в задании начальных значений переменных AMAX и PN. В качестве начального значения возможного максимума принимается значение первого элемента массива А, в качестве порядкового номера максимального элемента — значение – 1. Поиск максимума начинается со сравнения второго элемента массива с первым, принятым в качестве максимума, поэтому в качестве начального значения параметра цикла взято I = 2. В теле цикла значение очередного элемента сравнивается с возможным максимальным с помощью оператора IF … THEN. Если значение очередного элемента больше возможного максимального, то значение этого элемента присваивается переменной AMAX, а номер элемента — переменной PN. Если условие, записанное в операторе IF, не выполняется, то пропускается группа операторов: AMAX:= A[I]; PN:= [I]. Выполнение цикла заканчивается после просмотра всех элементов массива. Для вывода на экран максимального элемента последовательности используются операторы WRITELN, в список переменных которых включены строки символов для комментария выводимой информации и переменные PN и AMAX. Пример 6. Задан массив вещественных чисел, состоящий из десяти элементов. Требуется ввести четные элементы этого массива. Программа имеет вид: PROGRAM MAS; VAR I: INTEGER; A: ARRAY [1..10] OF REAL; BEGIN WRITELN (‘ ВВЕСТИ МАССИВ (1..10) ’); FOR I:= 1 TO 10 DO; READ (A [I]); I:=0; REPEAT I = I + 2; WRITE (A[I]: 5: 2); UNTIL I>10; END.
Работа с переменными строкового типа
Переменная строкового типа (String) может рассматриваться как массив элементов символьного типа (Char). Например, если в программе определены переменные S: string; C: char; и задано S:='Москва', то S[1]='М', S[2]='о' и т. д. и возможно присвоение, например: C:= S[1]; Таким образом строка может рассматриваться как линейный массив символов. Элементы массива, составляющие строку можно переставлять местами и получать новые слова, например:
for i:= 1 to N div 2 do Begin C:= S[i]; S[i]:= S[N-i+1]; S[N-i+1]:= C end; Writeln(S); { исходное слово выведется справа налево: "авксоМ" }
Здесь N:= ord(S[0]); - число символов в переменной "S" хранится в переменной S[0]. Функция "ord" преобразует символьный тип в целый. N div 2 - количество перестановок для слова из "N" символов. В переменной "C" запоминается значение i-го элемента, который меняется с элементом, симметричным относительно середины строки. Можно производить поиск и замену заданного символа в строке, например:
for i:=1 to N do if S[i]='_' then writeln('найден символ пробел'); for i:=1 to N do if S[i]='/' then S[i]:='\'; {замена символа "/" на "\"}
Заменяя или переставляя символы в строке по определенной схеме (закону) можно зашифровать строку. Для дешифровки используется, как правило, схема обратной перестановки или замены символов. Например:
for i:=1 to N do S[i]:= chr(ord(S[i])+2); {преобразование исходных символов в символы с кодом большим на две единицы}
Напомним, что все используемые в MS-DOS символы имеют ASCII коды от 0 до 255. Здесь удобно также использовать функции Pred(C); и Succ(C).
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |