- •Фгбоу впо уральский государственный лесотехнический университет
- •Оглавление
- •Лабораторная работа n 1. Пример программ линейной структуры
- •Цель работы:
- •Основные сведения
- •Программы линейной структуры
- •Пример программы линейной структуры
- •Общие сведения о интегрированной Среде Borland Pascal
- •Выполнение работы
- •Форма отчета
- •Оператор варианта Case
- •Выполнение работы
- •Варианты задания 1
- •Варианты задания 2
- •Контрольные вопросы
- •Лабораторная работа n3. Программы циклической структуры
- •Цель работы:
- •Основные сведения
- •Пример цикла типа for.
- •Пример цикла типа while.
- •Пример цикла типа repeat ... Until.
- •Выполнение работы
- •Пример обработки одномерного массива
- •Пример обработки многомерного массива
- •Выполнение работы
- •Варианты задания 1.
- •Варианты задания 2
- •Контрольные вопросы
- •Тип данных string
- •Выполнение работы
- •Варианты заданий.
- •Контрольные вопросы
- •Лабораторная работа n 6. Процедуры и функции
- •Цель работы:
- •Основные сведения
- •Процедуры
- •Функции, определяемые программистом
- •Рекурсия
- •Выполнение работы
- •3. Выполнение работы
- •4. Контрольные вопросы
Варианты задания 2
Даны матрица A размером m*n и вектор В размером m. Записать на главную диагональ элементы вектора, а в вектор - элементы главной диагонали.
Выбрать максимальный элемент матрицы С (размер m*n), элементы четных строк разделить на максимальный элемент, а к элементам нечетных прибавить максимальный элемент .
Найти минимальный элемент матрицы С (размер m*n), и поменять его местами с первым элементом.
Дана матрица Е размером m*n. Вычислить суммы элементов каждого столбца. Определить наибольшее значение этих сумм и номер соответствующего столбца.
В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество нулевых элементов в матрице .
Даны две матрицы А и В одинаковой размерности m*n. Получить матрицу C = max (ai,j, bi,j ), и матрицу D = min (ai,j, bi,j).
Дана матрица Р размером m*n. Найти сумму минимальных элементов каждого столбца матрицы.
Даны две матрицы: А размером m*k и В размером k*n. Получить матрицу С=A*В.
Даны матрица A размером m*n. Найти все отрицательные элементы матрицы и заменить их на 0. Вывести результат.
Дана матрица Е размером m* n. Найти произведение элементов каждого столбца и сумму элементов каждой строки.
Контрольные вопросы
Что такое массив? индекс элемента массива?
В каких пределах изменяются индексы элементов массива?
Как ввести и вывести элементы вектора в строку и в столбец ?
Способы описания массивов.
Вывод матрицы по строкам и по столбцам.
Лабораторная работа N5. Работа с символьными данными
Цель работы:
Изучение символьных типов данных CHAR и STRING и операций над ними.
Основные сведения
Наряду с числовой информацией в Паскале используется алфавитно-цифровая или символьная информация, которая включает в себя заглавные, строчные буквы, цифры от 0 до 9 и вспомогательные символы. Для описания символьных переменных используется тип данных CHAR или STRING.
Тип данных CHAR
Каждая переменная символьного типа может принимать значение только одного символа. Все символы упорядочены в соответствии с принятым в ЭВМ коде (например ASCII). При этом порядковый номер символов называется кодом (например, код латинского символа 'А ' равен 65; символа '3' равен 51).
Для символьных данных не определены никакие арифметические операции, но они могут сравниваться по своим кодам, участвовать в чтении, печати, операторах присваивания. Существуют две стандартные функции преобразования :
1) ORD(C) принимает значение кода символа С; например:
ORD('А')=65
2) значение функции CHR(I) является символ с кодом I; например:
CHR(ORD(C))=C; CHR(65) = A;
Строка - это последовательность символов. Строку можно представить как массив, элементы которого имеют тип CHАR. Например:
BUK: array[1..17] of char;
Массив BUK - массив символов, который содержит 17 символов. Если символов меньше, то строка дополняется пробелами справа. В противном случае возникает ошибка несоответствия типов. Так как массивы символов являются обычными массивами с элементами типа CHAR, они обладают всеми свойствами массивов.
Пример: Из набора 10 любых символов напечатать только заглавные английские буквы и их коды.
program lr2;
type sl =array [1..10] of char;
var s: sl; {описание массива символов}
i: integer;
begin
writeln ('введите 10 символов'):
for i:=l to 10 do readln (s[i]); {ввод массива}
for i:=l to 10 do
if (s[i]>='A') and (s[i]<= 'Z') then
writeln ('Символ :', s[i], ' его код =', ord(s[i]);
readln;
end.