Примеры задач
Одномерные массивы
Пусть дан текст, за которым следует точка. Определить, упорядочены ли буквы по алфавиту. Методика решения
Используемые переменные: а – массив; i – номер элемента массива; s – символ; flag – логическая переменная.
Для начала считываем с экрана текст посимвольно, пока считанный символ не равен «.», и заносим символы текста в массив. Затем, по условию задачи, необходимо проверить, упорядочены ли буквы в массиве по алфавиту. Для этого понадобится логическая переменная flag . Изначально её значение равно false . Мы перебираем с помощью цикла все буквы, находящиеся в массиве, до предпоследней и сравниваем каждый элемент со следующим за ним элементом. Если элемент оказался больше следующего, то буквы следуют не по алфавиту. В этом случае переменной flag присваиваем значение true . После выполнения цикла выводим на экран результат. Если логическая переменная имеет значение true , то буквы не упорядочены по алфавиту, в противном случае – упорядочены.
Program ex2_4; Uses crt; const n=20; Type t=Array[1..n] Of Char; Var s:char;a:t;i:Integer;Flag:Boolean; Begin clrscr; Writeln('Введите текст до точки '); i:=1; repeat Read(s); a[i]:=s; inc(i); until s='.'; i:=0; While a[i+2]<>'.' Do Begin Inc(i); If a[i]>=a[i+1] Then Flag:=True; end; {Если истено то текст неупорядоченный} If Flag=True Then Writeln('Текст введен не в алфавитном порядке') Else Writeln('Текст введен в алфавитном порядке'); Readkey; End.