Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

Циклы и массивы

Тип данных Real.

Тип REAL (вещественный). Число типа REAL занимает три слова (шесть байтов). При работе с вещественными числами нужно помнить, что на любом отрезке вещественной оси существует бесчисленное множество ...

Сортировка одномерного массива. Метод пузырька.

Сортировка — перестановка местами объектов в определенном порядке. Известно несколько сотен алгоритмов сортировки и их модификаций.

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

Массив строк ST в разделе переменных VAR можно объявить следующим образом:

VAR ST: ARRAY[1..N] OF STRING; где N — верхняя граница массиве, то есть количество строк, которые одновременно могут находится в оперативной памяти. Значение N может быть задано в разделе констант CONST.

Инициализация массива строк.

Наиболее часто используют три источника формирования массива строк. Первым источником является ввод информации с клавиатуры. При этом можно выделить два способа.

  • Количество строк вводимого текста заранее известно и равно К, где К не превосходит размера массива строк N. Фрагмент программы выглядит следующим образом.

VAR ST: ARRAY[1..N] OF STRING; I, К: INTEGER;
BEGIN
...
WRITELN('Введите количество информационных строк');
READLN(K);
WRITELN('Введите информационные строки:');
FOR I := 1 TO К DO READLN(ST[I]);

  • Количество строк заранее не известно. Признаком окончания ввода является пустая строка. Естественно, что количество строк не должно превышать N, то есть I < N.

VAR ST: ARRAY[1..N] OF STRING; I, К: INTEGER;
BEGIN
...
WRITELN('Введите информационные строки:'); FORI:= 1TON
DO BEGIN
READLN(ST[I]);
IF ST[I] = " THEN BREAK; {Пустая строка, конец ввода}
IF I = N THEN WRITELN('Введена последняя строка массива ST')
END;

Вторым источником массива строк является текстовый файл. Информация из текстового файла переписывается строка за строкой в массив строк, пока он не заполнится информацией. После чего начинается обработка данных в массиве строк.
Третьим источником является длинная строка, содержащая сцепку коротких строк в области динамической памяти. Вы можете купить качественные наушники monster beats by dre по оптимальной и доступной цене. Прочитать содержимое I-ой строки массива ST можно следующим образом С:= ST[I], Где С: STRING строка текста.
Обратиться к J-ой литере I-ой строки массива ST можно следующим образом CH:=ST[I,J], где СН: CHAR переменная литерного типа.

Упорядочение строк в массиве.

Одной из важнейших задач является сортировка массива строк по алфавиту. Например, процесс заполнения информацией о городах России массива ST идет c помощью географического атласа. Естественно, что в компьютерную базу заносятся названия городов, расположенных по территориальному принципу. А вот использовать список городов удобнее, если названия расположены в алфавитном порядке.

Пример 15. Разработать программу, обеспечивающую ввод названий городов в произвольном порядке. Упорядочить список городов в алфавитном порядке и вывести этот список на экран монитора. Для сортировки строк массива ST, содержащих названия K городов, будем использовать метод пузырька.


PROGRAM PR15;
CONST N = 50; {Максимальное число городов в списке}
VAR ST: ARRAY[1..N] OF STRING; I, J, К: INTEGER; L: STRING;
BEGIN
К:= 0; WRITELN('Вводите названия городов:');
FOR I:=1 TO N
DO BEGIN
READLN(ST[I]);
IF ST[I] = " THEN BEGIN
К := I - 1;
BREAK; {Пустая строка, конец ввода}
END;
IF I = N THEN BEGIN
К:= N;
WRITELN('Введена последняя строка массива ST')
END
END;
FOR I:= 2 TO К {Сортировка массива строк ST}
DO FOR J:=K DOWNTO I
DO IF ST[J-1]>ST[J]
THEN BEGIN {Переставить ST[J-1] с ST[J] местами}
L := ST[J-1]; ST[J-1] := ST[J]; ST[J] := L
END; {IF}
{ Вывод на экран отсортированного массива ST}
FOR I := 1 ТО К DO WRITELN(ST[I])
END.


Предыдущая статья: Манипулирование строками STRING.

Оглавление: Лекции по Паскаль. Часть 2.

Следующая статья: ЗАПИСИ. ТИП ДАННЫХ RECORD.


Комментарии  

 
0 # Ctht 01.12.2012 06:02
:sad: :sad: :sad: :sad: :sad:
 
 
+1 # Raziel 24.12.2012 14:26
Огромное спасибо сайту, вот задумался как инициализироват ь третий источник данных в массиве строк, а тут все подробно написано ;-)
 
 
+1 # Human 23.01.2013 15:39
Программа не выводит отсортированный список.
 
 
0 # lol 28.01.2013 17:50
мох тигр!! там половина проги на русском(TO,K)
 
 
+1 # Александр 05.02.2013 07:21
:sigh: :sigh: :sigh:
 
   ГлавнаяПаскальЛекции по Pascal. Часть 2.Массив строк типа STRING.