2.2 Вопросы для самопроверки
2.2.1 Описать массив для размещения результата расчета выпуска пяти видов продукции каждым из трех цехов предприятия за каждый день недели.
2.2.2 Какие операторы используются для программирования разветвлений?
2.2.3 Записать правило вычисления значения функции:
.
2.2.4 Как выполняются операторы перехода?
2.2.5 Как записывается, и работает оператор FOR?
2.2.6 В чем отличие оператора While от оператора Repeat?
2.2.7 Написать программу вычисления суммы элементов главной диагонали матрицы
.
2.2.8
Написать программу вычисления значения,
,
где A,
B,
C,D
– простые
переменные, используя подпрограмму-функцию
для расчета значения суммы двух чисел
Z=X+Y.
Переменные А,
В, С, D
считать фактическими параметрами.
2.2.9 Чем отличаются фактические и формальные параметры?
2.2.10 Как объявляются глобальные и локальные переменные?
2.2.11 Какие бывают файлы? Какие существуют методы доступа к типизированным и текстовым файлам?
2.2.12 Написать программу проверки квадратной матрицы S (десятого порядка) на симметричность относительно главной диагонали. Элементы матрицы прочитать из файла
.
3 Контрольные задания
Варианты заданий определяются двумя последними цифрами шифра студента (или номера зачетной книжки, если нет шифра). Контрольная работа может быть выполнена в одной или двух ученических тетрадях с полями. Объяснение хода выполнения контрольных работ должно быть проведено без сокращений.
Выбор варианта осуществляется по таблице 1. Выбор задач 1 и 2 выполняется по таблице 2, задачи 3 – по таблице 3 в соответствии с вариантами.
Задача №1
Арифметические выражения, приведенные в классической форме, записать на Паскале.
Задача №2
Составить блок-схему функции вида, указанного в задании, и программу на Паскале, считая заданными массивы А и В.
Задача №3
Запишите оператор, в результате которого будет происходить вычисление функции при указанных условиях.
Задача №4
Составить блок-схему и программу решения одной из задач, которая выбирается по номеру варианта таблицы 1.
3.4.1 Выбрать наибольшее значение числа из ряда чисел ai , где i = 1, 2, 3, …n.
3.4.2 Вычислить след симметричной матрицы А размерностью n*n с элементами aij, i, j = 1, 2, …, n (следом матрицы называется сумма элементов главной диагонали).
3.4.3 Вычислить сумму элементов матрицы A размерностью n*m с элементами aij, i= 1, 2, …, n; j = 1, 2,…, m.
3.4.4 Вычислить факториал числа.
3.4.5 Сложить элементы двух векторов А и В размерностью n с элементами аi и bi.
3.4.6 Вычислить сумму элементов первого и последнего столбцов матрицы А размерностью n*n с элементами aij, i, j = 1, 2, …, n.
3.4.7 Найти наибольший элемент матрицы А размерностью n*n c элементами aij, i, j = 1, 2, …, n , а также его координаты.
3.4.8 Определить количество элементов равных нулю в заданной матрице А размерностью n*n.
3.4.9 Определить количество положительных элементов в заданной матрице А размерностью n*n.
3.4.10 Определить номер строки и столбца первого нулевого элемента, встретившегося в заданной матрице А размерностью n*n при просмотре ее по стокам.
Задача №5
Составить блок-схему и программу расчета одной из следующих задач, соответствующей номеру выбранного варианта таблицы 1.
3.5.1 Вычислить произведение двух матриц А и В.
;
.
3.5.2
Вычислить норму матрицы
по составленной программе (нормой
матрицы называется наибольшая сумма
элементов столбцов, взятых по абсолютной
величине) – одно из определений:
.
3.5.3 Протабулировать функцию в интервале (0,1) с шагом h=0,05.. Функцию выбрать из таблицы 4, где номер функции должен соответствовать последней цифре шифра студента.
3.4.5 Найти сумму элементов главной диагонали матрицы А размерностью 10*10, элементы которой определяются по формуле:
3.5.5 Найти количество и сумму отрицательных элементов матрицы А, размерностью 10*10, элементы которой вычисляются по формуле:
3.5.6 Найти произведение элементов побочной диагонали квадратной матрицы А размерностью n*n.
3.5.7 Найти сумму элементов заданной матрицы А размерностью n*n, расположенных выше главной диагонали.
3.5.8 Сложить две квадратные матрицы А и В, размерностью 5*5.
3.5.9 Все отрицательные элементы заданной матрицы А размерностью 3*3 обнулить. Вывести количество найденных отрицательных элементов.
3.5.10 Найти произведение двух матриц А и В размерностью 3*3.
Задача №6
Составить Pascal–программу по одному из заданий. Выбор варианта задачи определяется по таблице 1.
3.6.1 Получить матрицу А размерностью 8*8, где элементы вычисляются по формуле:
Найти сумму элементов строк, имеющих четные номера.
3.6.2 Получить матрицу С размерностью 10*10, где элементы вычисляются по формуле:
Найти сумму всех элементов матрицы. Вывести все элементы на печать.
3.6.3
Найти минимальное из десяти чисел
,
считая их заданными.
3.6.4
Вычислить сумму
,
где
.
3.6.5
Вычислить сумму произведений:
,
считая заданными массивы А
и В.
3.6.6 Упорядочить числовой ряд в векторе В размерностью 10 по возрастанию.
3.6.7 Упорядочить числовой ряд в векторе В размерностью 8 по убыванию.
3.6.8 Найти наибольшую сумму элементов столбцов матрицы А размерностью 10*10, вывести номер столбца с наибольшей суммой.
3.6.9 Найти наименьшую сумму строки матрицы А размерностью 10*10.
3.6.10 Найти наибольший и наименьший элементы матрицы А размерностью 10*10 и поменять их значениями.
Для задач 7, 8, 9, 10, выбор варианта осуществляется по таблице 1.
Задача №7
3.7.1 Даны отрезки a, b, c, d. Для каждой тройки этих отрезков, из которых можно построить треугольник, напечатать площадь данного треугольника.
Определить процедуру S(x,y,z), печатающую площадь треугольника со сторонами x, y, z, если такой треугольник существует.
3.7.2
Описать функцию S(x,n)
от вещественного x
и натурального n,
вычисляющую (через умножение) величину
xn,
и использовать ее для вычисления
,
считая a
и d
константами.
3.7.3 Задана квадратная матрица A размерностью n*n. Вычислить величину:
где xi – максимальный элемент i строки матрицы А.
Описать подпрограмму, вычисляющую максимальный элемент строки.
3.7.4 Даны две квадратные вещественные матрицы десятого порядка. Напечатать квадрат той из них, в которой наименьший след, считая, что такая матрица одна. Поиск следа матрицы оформить в виде подпрограммы.
3.7.5
Описать функцию
где n
и m
– неотрицательные числа. Определить
внутреннюю функцию, вычисляющую
факториал.
3.7.6 Заданы две матрицы А и В размерностью n*n. Поменять местами максимальные элементы матриц А и В. Описать процедуру поиска максимального элемента матрицы (считая, что в каждой матрице только один максимальный элемент).
3.7.7 Даны три вещественные квадратные матрицы пятого порядка. Напечатать ту из них, норма которой наименьшая (считать, что такая матрица одна). Поиск нормы матрицы (максимум сумм абсолютных элементов строк) оформить в виде подпрограммы.
3.7.8
Описать процедуру
которая в одном из векторов – x,
y, z,
где больше всего отрицательных элементов
(считать, что такой вектор один), все его
положительные элементы заменяет на их
кубы – если это вектор х
или вектор z,
и на их обратные величины, если это
вектор у.
3.7.9
Написать подпрограмму вычисления корня
с точностью
по следующей итерационной формуле:
,
приняв
за ответ приближение уn+1,
для которого
.
Используя подпрограмму, по вещественному а>0, вычислить величину:
.
3.7.10 Заданы две матрицы А, D размерностью 7*7. Напечатать матрицу С=А·В, используя подпрограмму умножения вектора на вектор.
Задача №8
3.8.1 Логической переменной b присвоить значение true, если между первым и последним символами, введенными с клавиатуры, нет иных символов, кроме строчных латинских букв, значение false – иначе.
3.8.2 Написать программу, проверяющую, правильно ли в данном тексте расставлены круглые скобки (т.е. находится ли справа от каждой открывающей скобки соответствующая ей закрывающая). Ответ: Да или Нет.
3.8.3 Напечатать заданный текст, удалив из него лишние пробелы, т.е. из нескольких подряд идущих пробелов оставить только один.
3.8.4 Заданный текст распечатать по строкам, понимая под строкой либо очередные 40 литер, если среди них нет запятой, либо часть текста до запятой включительно.
3.8.5 Задана последовательность символов. Определить число различных букв, входящих в заданную последовательность.
3.8.6 Написать программу для определения, какому алфавиту (латинскому или русскому) принадлежит введенный с клавиатуры символ. На печать вывести введенный символ с комментарием.
3.8.7 Задана последовательность символов. Напечатать только заглавные русские буквы, входящие в этот текст.
3.8.8 Задана последовательность символов. Заменить многоточие одной точкой.
3.8.9 Задана последовательность, содержащая до пяти слов, в каждом из которых не более восьми букв. Напечатать самое длинное слово.
3.8.10 Задана последовательность, содержащая от двух до десяти слов, в каждом из которых не более восьми букв. Напечатать те слова, которые имеют повторяющиеся символы.
Задача №9
Написать программу, используя перечисляемые или ограниченные типы, или оператор варианта.
3.9.1 По значению переменной st (названию страны) присвоить переменной cap название столицы этой страны.
3.9.2 По заданному значению переменной Р (ада, бейсик, паскаль, фортран,…), имеющей русское название языка программирования, переменной А присвоить английское название языка.
3.9.3 Переменной m присвоить название месяца, следующего за месяцем m1 (с учетом того, что за декабрем следует январь).
3.9.4 По литере (цифре D) присвоить переменной n название этой цифры.
3.9.5 Определить переменную S (сезон), на которую приходится месяц m.
3.9.6 По значению переменной S (названию страны) определить C– название ее континента.
3.9.7 Значение переменной х, означающей некоторую длину в единицах Р, заменить на величину этой же длины в метрах.
3.9.8 Для целого числа k от 1 до 10 напечатать фразу «мне k лет», учитывая при этом, что при некоторых значениях k слово «лет» надо заменить на слово «год» или «года».
3.9.9 Для натурального числа k (k=1…7) напечатать фразу «Мы нашли в лесу k грибов», согласовав окончание слова «гриб» с числом k.
3.9.10 По значению переменной М (название месяца) определить значение переменной D (количество дней) в месяце М (год считать не високосным).
Задача №10
3.10.1 Разработать программу, которая формирует файл f1, содержащий целые числа, и переписывает этот файл в другой файл f2, помещая в него из f1 только положительные числа.
3.10.2 Составить программу формирования файла, содержащего сведения о студентах. Каждый элемент этого файла должен содержать следующие данные: номер группы, номер в группе по списку, фамилию, имя, отчество, год рождения, оценки по математике, физике и информатике.
3.10.3 Разработать программу слияния двух отсортированных по убыванию значений элементов файлов. Результатом должен быть файл f3, элементы которого тоже упорядочены по убыванию.
3.10.4 Написать программу перекодировки текстового файла, заменив в нем все заглавные буквы строчными.
3.10.5 Написать программу, формирующую текстовый файл f1, состоящий из девяти строк, в первой из которых – одна литера ‘1’, во второй – две литеры ‘2’ и т.д., в девятой – девять литер ‘9’.
3.10.6 Написать программу, печатающую на стандартное устройство вывода содержимое непустого текстового файла f1, вставляя в начало каждой печатаемой строки ее порядковый номер.
3.10.7 Написать программу, переписывающую текстовый файл f1 в текстовый файл f2, но без пустых строк.
3.10.8 Написать программу, проверяющую два текстовых файла на неравенство. Пустые строки не учитываются.
3.10.9 Написать программу, которая удваивает в текстовом файле каждую цифру и удаляет все литеры ‘+’ и ‘-‘.
3.10.10 Разработать программу, которая формирует файл f1, содержащий вещественные числа (файл типизированный) и переписывает положительные числа в текстовый файл f2.
