![](/user_photo/2706_HbeT2.jpg)
- •Аннотация
- •Содержание
- •Интегрированная среда программирования Turbo Pascal 7.0
- •Основные понятия языка Turbo Pascal 7.0
- •Алфавит языка
- •Структура программы
- •Раздел объявления меток
- •Раздел объявления констант
- •Строковые и символьные константы
- •Простые типы данных
- •Выражения Арифметические выражения
- •Математические функции
- •Условные выражения и операции отношения
- •Логические выражения и операции
- •Процедуры ввода – вывода информации Процедуры ввода информации Read, ReadLn
- •Процедуры записи Write, WriteLn
- •Форматы процедуры вывода Write
- •Простые операторы
- •Оператор присваивания
- •Примеры решения задач
- •Оператор безусловного перехода Goto
- •Структурированные операторы
- •Составной оператор
- •Условный оператор If
- •Примеры решения задач
- •Условный оператор Case
- •Примеры решения задач
- •Оператор цикла For
- •Особенности выполнения оператора For
- •Примеры решения задач
- •Оператор цикла Repeat…Until
- •Особенности выполнения оператора Repeat
- •Примеры решения задач
- •Оператор повтора While
- •Особенности выполнения оператора While
- •Примеры решения задач
- •Вложенные циклы
- •Массивы
- •Одномерные массивы Основные понятия
- •Описание массива
- •Заполнение массива
- •6.1.4 Примеры решения задач
- •1. Алгоритмы поиска и присвоения значений элементам массива
- •2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
- •3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
- •6.2 Двумерные массивы
- •6.2.1 Основные понятия
- •6.2.2 Описание массива
- •6.1.3 Заполнение и вывод элементов двумерного массива
- •6.1.4 Примеры решения задач
- •1. Алгоритмы действий над элементами двумерного массива
- •2 Алгоритмы формирования одномерного массива
- •3 Алгоритмы нахождения наибольшего и наименьшего элементов двумерного массива
- •7. Множества
- •7. 1 Операции над множествами
- •7.2 Примеры решения задач
- •8. Строки
- •8.1 Строковые выражения
- •8.2 Стандартные процедуры и функции для обработки строковых данных
- •Обнаруживает первое появление в строке St2 подстроки St1. Результат равен номеру той позиции, где находится первый символ подстроки St1.
- •8.3 Примеры решения задач
- •1.Задачи на подсчет символов.
- •2. Задачи на замену символов.
- •3. Задачи на удаление символов.
- •4. Задачи на вставку символов.
- •9. Процедуры и функции, определенные пользователем
- •9.1 Процедуры пользователя
- •1 Вариант
- •2 Вариант
- •9.2 Функции пользователя Формат описания функции:
- •9.3 Параметры
- •9.3.1 Параметры – значения
- •9.3.2 Параметры - переменные
- •10 Модуль crt. Процедуры и функции модуля crt
- •11 Модуль Graph
- •11.1 Классификация типов драйверов и видеорежимов
- •11.2 Инициализация графики
- •11.3 Переключение между текстовым и графическим режимами
- •11.4 Система координат
- •Отображение строк
- •11.5 Управление текущим указателем
- •11.6 Отображение точки на экране
- •11.7 Определение параметров пикселов
- •11.8 Отображение отрезков прямых линий
- •11.9 Вычерчивание линий различных стилей
- •11.10 Построение прямоугольников
- •11.10.1 Построение прямоугольника на плоскости
- •11.10.2 Построение закрашенного прямоугольника
- •11.11 Установка стиля заполнения
- •11.13 Построение заполненных областей изображения
- •11.13.1 Построение заполненного сектора эллипса
- •11.13.2 Построение заполненного эллипса
- •11.13.3 Построение заполненных сложных геометрических фигур
- •Список литературы
3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
1. Дан массив K, состоящий из 45 элементов. Элементы массива - произвольные целые числа. Определить минимальный элемент массива и его индекс.
USES Crt;
VAR
K:ARRAY[0..45] OF INTEGER;
I,IND: BYTE; MIN:INTEGER;
BEGIN
ClrScr; Randomize;
WriteLn(' Значения элементов массива');
FOR I:=1 TO 45 DO Begin
K[I]:=Random(35)+6; Write(K[I]:3);
End; WriteLn;
MIN:=K[1]; IND:=1;
{ нахождение минимального значения и его индекса }
FOR I:=2 TO 45 DO
IF K[I]<MIN THEN Begin MIN:=K[I]; IND:=I; End;
WriteLn(' Минимальное значение = ',MIN);
WriteLn(' Индекс минимального значения = ',IND);
END.
2. Дан массив B, состоящий из N элементов. Элементы массива - произвольные целые числа. Определить сумму элементов, расположенных до максимального элемента массива.
USES Crt;
CONST N=20;
VAR
B:ARRAY[0..N] OF INTEGER;
I,IND: BYTE; MAX,S:INTEGER;
BEGIN
ClrScr; Randomize;
WriteLn(' Значения элементов массива');
FOR I:=1 TO N DO Begin
B[I]:=Random(35); Write(B[I]:3);
End; WriteLn;
MAX:=B[1]; IND:=1;
{ нахождение максимального значения и его индекса }
FOR I:=2 TO N DO
IF B[I]>MAX THEN Begin MAX:=B[I]; IND:=I; End;
WriteLn(' Максимальное значение = ',MAX);
{ нахождение суммы элементов, расположенных до максимального элемента }
S:=0;
FOR I:=1 TO IND-1 DO
S:=S+B[I];
WriteLn(' Cумма элементов, расположенных до максимального элемента =',S);
END.
3. Известны данные о среднемесячной температуре за год. Определить, какая была самая высокая температура летом и самая низкая зимой.
USES Crt;
VAR
MAS: ARRAY[1..12] OF REAL;
I: INTEGER; MIN,MAX:REAL;
BEGIN
ClrScr;
{ Заполнение массива с клавиатуры }
FOR I:=1 TO 12 DO Begin
Write(' Введите среднюю температуру за ',I,' месяц '); ReadLn(MAS[I]);
End;
MAX:=MAS[6]; MIN:=MAS[12];
{ Определение самой высокой температуры летом }
FOR I:=7 TO 8 DO
IF MAX<MAS[I] THEN MAX:=MAS[I];
{ Определение самой низкой температуры зимой }
FOR I:=1 TO 2 DO
IF MIN>MAS[I] THEN MIN:=MAS[I];
WriteLn(' Самая высокая температура летом ',MAX);
WriteLn(' Самая низкая температура зимой ',MIN);
END.
Примеры для самостоятельного решения:
-
Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их.
-
Дан массив чисел. Найти среднее арифметическое максимального и минимального элемента. Вывести значения и индексы этих элементов.
-
Дан массив чисел. Определить количество элементов, находящихся в интервале от 1 до 12 и расположенных до максимального элемента массива.
6.2 Двумерные массивы
6.2.1 Основные понятия
Иногда решение задачи возможно только при наличии многомерных массивов, или матриц. Наиболее часто применяются двумерные массивы, поскольку описывать информацию по ее позиции в одномерном списке весьма неудобно. Представьте себе, как трудно было бы найти свое место на стадионе, если бы на билете указывался лишь порядковый номер сиденья - один из многих тысяч! Билеты же, на которых проставлены и номер ряда, и номер места, существенно упрощают эту задачу. Составители географических карт тоже пользуются таким приемом. Координаты Парижа, Осло, Рима, обозначаются не как 1, 2 или 300, а в терминах градусов широты и долготы. Эти два числа указывают местоположение города относительно экватора и начального (Гринвичского) меридиана.
Каждый элемент двумерного массива описывается двумя индексами: первый обозначает номер строки, а второй - номер столбца.
A[4,5], A[2,7], A[6,3], ..., A[m,n].