- •Тема I Основные понятия языка pascal 7.0
- •1.1. Алфавит и структура программы
- •Алфавит
- •Структура программы
- •I, j : integer;
- •1.2. Структура данных
- •Простые типы данных
- •Структурированные типы данных
- •Указатели
- •Процедурные типы
- •Объекты
- •Преобразование типов данных
- •1.3. Операторы языка
- •Простые операторы
- •Структурированные операторы
- •1.4. Процедуры ввода-вывода
- •Var I, j : integer;
- •Практические задания
- •Тема 2 Производящие функции и ряды
- •Var n, I: integer;
- •Var I, n, f : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j : integer;
- •Var I, n, sum : integer;
- •Var I, n, m, к : integer;
- •If flag then
- •Var I, n, m, k, nod : integer;
- •Var I, n, m, k, nod, nok : integer;
- •Var n, r, m : integer;
- •Var n, r, м, к, I : integer;
- •If f then writeln('число', n, ' he палиндром')
- •Var X, y, z:real; I, n : integer;
- •Var X, y, z : real;
- •Var X,y. Z, е : real;
- •I: integer;
- •Var X, y, z, e : real;
- •I: integer;
- •Var X, y, z : real;
- •Практические задания
- •Тема 3 Обработка числовых последовательностей
- •Var n, X, sum, I: integer;
- •Var n, X, к, I: integer;
- •Var n, X, max, I: integer;
- •Var n, X, max, I: integer;
- •Var X, min1, min2 : integer;
- •Var old, new : real;
- •If f then
- •Var old, new : real; к : integer;
- •Var old, new, f : real;
- •Var old, new : real;
- •If f then
- •Var old, new : real;
- •If f then
- •Var poroda : string;
- •I, к, n : integer;
- •Var pol : string;
- •I, к, n : integer;
- •Практические задания
- •Тема 4 Символьные переменные и строки
- •Var I: char;
- •Var I: char;
- •Var I, l : char;
- •Var str: string;
- •If not(str[I] in m) then write(str[I])
- •Var str : string;
- •If not(str[I] in m) then write(str[I]);
- •Var str : string;
- •If (str[I] - '!') then write(V)
- •Var str : string;
- •Var str : string;
- •Тема 5 Обработка строк
- •Var str, wrd : string;
- •I, l : integer;
- •Var s1, str : string;
- •I: integer;
- •Var s1, str: string;
- •Var s1: string;
- •Var s1 : string;
- •Var s1 : string;
- •X : char;
- •Var s1 : string;
- •Var м, к, I, j : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, l : integer;
- •1234567890 Ааааааа .
- •Var I, l : integer;
- •If f then writeln('палиндром')
- •1234567890 Ааааааа .
- •Практические задания
- •Тема 6 Одномерные массивы
- •Var mas : array[1..M] of integer;
- •I, max, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, new, n : integer;
- •Var mas : array[1..M] of integer;
- •I, j, k, new, n : integer;
- •Var mas : array[1..M] of real;
- •I, n : integer;
- •Var mas : array[1..M) of real;
- •I: integer;
- •Var mas, num2, num5 : array[1..M] of integer;
- •Практические задания
- •Тема 2 Двумерные массивы
- •Var a : array[1..T, 1..S] of integer;
- •Var а : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of char;
- •Var a : array[1..T, 1..T] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Практические задания
- •Тема 8 Работа с файлами
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var Fl : text;
- •X: char;
- •International
- •Var f1 : text;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •I: integer;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Тема 9 Процедуры и функции
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var s : string;
- •Var I: integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var n : longint;
- •Var s : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Var I : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, X, d, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Практические задания
- •Тема 10 Работа с текстом. Модуль crt
- •Var I: char;
- •Var I:integer;
- •Var X, I: integer;
- •Var I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Практические задания
- •Тема 11 Графика. Модуль Graph
- •Initgraph(driver, mode,' ');
- •Var driver, mode : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode, X, y : integer ;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y, I: integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t, y0 : integer ;
- •Var driver, mode, X, y, I, t, xo : integer;
- •Var driver, mode, X, y, r : integer;
- •Var driver, mode, X, y, x1, y1, r : integer;
- •Var driver, mode, X, y, r, I: integer ;
- •Var driver, mode, X, y, r, rx, ry, lx, ly, I, size : integer;
- •Var driver, mode, X, y, r : integer;
- •Практические задания
- •Тема I 3 Разные задачи
- •Var f1:file of nn;
- •I:integer;
- •Var I:integer;
- •Var I, min,max:integer;
- •Var I,j:integer;
- •Var I,j:integer;
- •In_metr;
- •I,n:integer;
- •Var I:integer;
- •If I in s1 then
- •Приложение Зарезервированные слова borland pascal 7.0
- •Литература
- •Оглавление
- •1.1. Алфавит и структура программы
- •Тема 13 разные задачи
Var a : array[1..T, 1..S] of integer;
N, M, IM, JM, I, J, MIN, К : INTEGER;
BEGIN
WRITE('BBEДИTE КОЛИЧЕСТВО СТРОК N = ');
READLN(N);
WRITE('BBEДИTE КОЛИЧЕСТВО СТОЛБЦОВ М = ');
READLN(M);
FOR I := 1 ТО N DO
BEGIN
WRITELN('BBOДИTE ЧЕРЕЗ ПРОБЕЛ ', M,' ЧИСЕЛ');
FOR J := 1 ТО М DO
READ(A[I, J])
END;
MIN := A[1, 1];
IM := 1;JM := 1;K := 0;
FOR I := 1 TO N DO
FOR J := 1 TO M DO
IF MIN>A[I, J] THEN
BEGIN
К := 1;IM := I;JM := J;
MIN := A[l, J]
END
ELSE
IF MIN = A[l, J] THEN К := K+1;
IF К = 1 THEN
BEGIN
WRITELN('B МАТРИЦЕ ОДИН МИНИМАЛЬНЫЙ ЭЛЕМЕНТ MIN =', MIN);
WRITELN('B ', IM, 'СТРОКЕ, В ', JM, 'СТОЛБЦЕ')
END
ELSE
BEGIN
WRITELN('B МАТРИЦЕ ', К, 'МИНИМАЛЬНЫХ ЭЛЕМЕНТОВ MIN = ', MIN);
FOR I := IM TO N DO
FOR J := 1 TO M DO
IF MIN = A[l, J] THEN WRITELN('B СТРОКЕ ', I,'В СТОЛБЦЕ', J)
END
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- вводим размеры массива А и значения его элементов;
- просматриваем элементы массива, ищем минимальное значение и запоминаем значение индексов;
- считаем количество минимальных элементов;
- в зависимости от К либо выводим информацию о единственном минимальном элементе, либо организуем повторный просмотр массива А для вывода информации о всех минимальных элементах.
Переменные:
А - двумерный массив;
N, М - количество строк и столбцов массива;
I, J - переменные цикла;
К - количество минимальных элементов;
IM, JM - строка и столбец минимального элемента;
MIN - текущий минимум.
ВВЕДИТЕ КОЛИЧЕСТВО СТРОК N = 5
ВВЕДИТЕ КОЛИЧЕСТВО СТОЛБЦОВ М = 6
ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ 6 ЧИСЕЛ
2 2 0 -17 25 -17
ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ 6 ЧИСЕЛ
3 4 10 -17 0 0
ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ б ЧИСЕЛ
5 4 10 -17 20 45
ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ 6 ЧИСЕЛ
14 25 -16 6 7 8
ВВОДИТЕ ЧЕРЕЗ ПРОБЕЛ б ЧИСЕЛ
1 2 3 4 5 6
В МАТРИЦЕ 4 МИНИМАЛЬНЫХ ЭЛЕМЕНТОВ MIN = -17
В СТРОКЕ 1 В СТОЛБЦЕ 4
В СТРОКЕ 1 В СТОЛБЦЕ 6
В СТРОКЕ 2 В СТОЛБЦЕ 4
В СТРОКЕ 3 В СТОЛБЦЕ 4
Рис. 7.1. Результат работы PG7_1
Ту же задачу можно решить за один просмотр матрицы. Но в этом случае необходимо ввести вспомогательный двумерный массив, в который заносятся значения строк и столбцов минимальных элементов.
PROGRAM PG7_1A;
CONST T = 100;S = 100;
Var а : array[1..T, 1..S] of integer;
В : ARRAY[1..T*S, 1..2] OF INTEGER;
N, M, IM, JM, I, J, MIN, К : INTEGER;
BEGIN
WRITE('ВВЕДИТЕ КОЛИЧЕСТВО СТРОК N = ');
READLN(N);
WRITE('BBEДИTE КОЛИЧЕСТВО СТОЛБЦОВ М = ');
READLN(M);
FOR I := 1 TO N DO
BEGIN
WRITELN('BBЕДИTE ', M,' ЧИСЕЛ');
FOR J := 1 TO M DO
READ(A[I, J])
END;
MIN := A[1, 1];
К := 0;
FOR I := 1 TO N DO
FOR J := 1 TO M DO
IF MIN>A[I, J] THEN
BEGIN
K:= 1;
B[1. 1] := I;
B[1. 2] := J;
MIN := A[l, J]
END
ELSE
IF MIN = A[l, J] THEN
BEGIN
К := K+1;
B[K, 1] := I;
B[K. 2] := J
END;
IF К = 1 THEN
BEGIN
WRITELN('EДИНСТВЕННЫЙ МИНИМУМ MIN = ', MIN);
WRITELN('CTPOKA ', IM, ' СТОЛБЕЦ ', JM)
END
ELSE
BEGIN
WRITELN('B МАТРИЦЕ', К, 'МИНИМУМОВ MIN =', MIN);
FOR I := 1 TO К DO
WRITELN('CTPOKA', B[l, 1], 'СТОЛБЕЦ', B[l. 2])
END
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- вводим размеры массива А и значения его элементов;
- просматриваем элементы массива, ищем минимальное значение и запоминаем значение индексов в вспомогательном массиве В;
- считаем количество минимальных элементов;
- в зависимости от К либо выводим информацию о единственном минимальном элементе, либо организуем вывод информации о всех минимальных элементах из массива В.
Переменные:
А - двумерный массив;
В - вспомогательный массив;
N, М - количество строк и столбцов массива;
I, J - переменные цикла;
К - количество минимальных элементов;
IM, JM - строка и столбец минимального элемента;
MIN - текущий минимум.
Задача 7.2 Дана матрица N x M, состоящая из натуральных чисел. Найти в строках самые правые наименьшие элементы и определить их местоположение.
Для решения этой задачи просмотр каждой строки нужно организовать справа налево, чтобы сразу определить самый правый минимальный элемент.
ROGRAM PG7_2;
CONST T = 100;S = 100;