Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

Div, Mod, сложение, вычитание в Pascal.

Помимо операций умножения и сложения, над целочисленными переменными производятся операции Div (операция целочисленного деления), Mod (вычисление остатка от целочисленного деления), операция вычитания «-».

Тип данных Char. Функции Ord, Chr.

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, ...

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

Массив символов.

Одномерный массив символов по своим свойствам существенно отличается от всех остальных массивов языка Паскаль. Свойства одномерного массива символов приближены к свойствам коротких строк (String).

Программирование данных.

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

Сортировка простым включением.
Пример 33. Методом простого включения упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94, 18, 06, 67).

Этот метод используют игроки в карты, перебирая все карты по очереди, начиная со второй и ставя ее на свое место по старшинству среди стоящих левее карт.


PROGRAM PR33;
CONST
X: ARRAY [1.. 8] OF INTEGER = (44, 55,12,42, 94,18,06, 67);
VAR    
L, I, J: INTEGER;
BEGIN { Вывод на экран исходного массива X }
FOR I := 1 ТО 8 DO WRITE(X[I]:5);
WRITELN;
FOR      I:=2 TO 8
DO       BEGIN
             J:= I-1; L:= X[I];
             WHILE (J > 0) AND (L < Х[I])
             DO    BEGIN        { Переставить Х[J] на место Х[J+1]}
                       X[J+1]:=X[J];
                       J:=J-1;
                      END;
                      X[J+1]:=L
                      END;
{ Вывод на экран отсортированного массива X}
FOR I := 1 ТО 8 DO WRITE(X[I]:5);
WRITELN
END.


Сортировка простым выбором.
Пример 34. Методом простого выбора упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94,18, 06, 67).
Этот метод более предпочтителен, чем сортировка простым включением. Концептуальная модель этого метода состоит в следующем. Начиная с первой позиции, просматриваются все N элементов и находится номер К наименьшего из элементов. Элемент К ставится на первое место. А элемент, стоявший на втором месте, перемещается на место К. На втором проходе I = 2 первый элемент уже не рассматривается. Рассматриваются оставшиеся N-1 элементы и среди них находится наименьший элемент, имеющий номер К. Этот элемент ставится на второе место, а элемент со второго места смещается на место К. Этот процесс продолжается до тех пор, пока не будет просмотрен весь массив X, содержащий N элементов.


PROGRAM PR34;
CONST
X: ARRAY [1.. 8] OF INTEGER = (44, 55,12,42,94, 18,06,67);
VAR    
K,L, I, J: INTEGER;
BEGIN   { Вывод на экран исходного массива X }
FOR      I := 1 ТО 8 DO WRITE(X[I]:5);
WRITELN;
FOR      I := 1 TO 7
DO       BEGIN
             K:= I;
             FOR J := I + 1 TO 8 { Поиск номера К наименьшего X[I]... Х[К]}
             DO IF Х[J] < X[K] THEN К := J;
             { Переставить Х[K] на место Х[I]}
             L:=X[I];
             X[I] := Х[К];
             Х[К] := L;
             END;
{ Вывод на экран отсортированного массива X }
FOR I := 1 ТО 8 DO WRITE(X[I]:5);
WRITELN
END.


Из всех примеров нетрудно заметить одно существенное неудобство, связанное с использованием регулярных типов. Оно состоит в том, что необходимо сразу фиксировать число элементов массива. В отдельных случаях заранее не известна размерность массива, подлежащего обработке. Например, может возникнуть необходимость в одном случае отсортировать массив в 20 вещественных чисел, а в другом 100. Поэтому в программу приходится вносить исправления. Профессиональная диагностика жесткого диска от опытных мастеров, также Вы можете заказать услугу восстановления данных. Здесь помогает понятие константы, описанной в разделе CONST. Достаточно заменить описание N = 20 на N = 30, или N = 100 и больше никаких исправлений в программе не потребуется. Либо использовать переменную N, значение которой вводится либо пользователем с клавиатуры, либо присваивается в программе.


Предыдущая статья: Сортировка одномерного массива. Метод пузырька.
Оглавление: Лекции по Pascal.
Следующая статья: Многомерные массивы.


Комментарии  

 
-2 # мтимт 24.11.2012 11:16
примеры не работают даже после исправления :lol: :lol: :lol:
Ответить
 
 
0 # AkumaGlacier 26.12.2012 22:15
Код исправить - как два бита передать, но оформление просто убивает. Чесслово.
Ответить
 
 
0 # AkumaGlacier 26.12.2012 22:18
Это не женская тяга к прекрасному. Это просто вопрос здравого смысла.
Ответить
 
 
+1 # не важно кто 10.03.2017 09:29
:lol: в принципе идея ведь понятна
Ответить
 
 
0 # Лорд 08.09.2017 16:21
Покомпилируем, посмотрим. Я люблю ошибки в программах исправлять, не плохая это тренировка.
Ответить
 

Добавить комментарий

   ГлавнаяПаскальЛекции по ПаскальАрифметический цикл с рекуррентной зависимостью.