Информатика2 (А.В. Гураков, 2013 г. 89 с.)Работа № 1Состоит из трех отдельных заданий, которые охватывают следующие темы: 1) условный оператор; 2) операторы циклов; 3) структурированные типы данных. Результаты выполнения работы № 1 оформляются в виде отчета, который для каждой задачи должен содержать следующие пункты: 1) текст задачи; 2) подробное описание решения задачи и алгоритм; 3) код программы; 4) результаты работы программы (скриншот). Отчет по контрольной работе вместе с работающими программами помещается в архив и отправляется преподавателю на проверку. Пример оформления контрольной работы приведен в приложении. Задание № 1 Самое главное в этой задаче правильно сформулировать условие для выбора. Это может быть одно сложное логическое выражение для одного условного оператора или несколько условий попроще. В последнем случае условных операторов может быть несколько. В описании решения задачи необходимо объяснить, каким образом выбирались эти условия. Задание № 2 Эту задачу необходимо решить три раза с использованием трех видов цикла: FOR, WHILE и REPEAT. В выводах обязательно сравнить все три цикла и определить, какой именно наилучшим образом подходит для решения этой задачи и почему. Задание № 3 Для решения этого задания используется один или несколько структурированных типов данных: строки, массивы, файлы, записи. При решении этих задач рекомендуется использовать подпрограммы (процедуры и функции). Это позволит упростить отладку программы. Варианты заданий к работе № 1 Вариант № 1 1. Дано вещественное число а. Для функции y = f(x), график которой приведен ниже, вычислить f(а). 2. Вычислить сумму натуральных нечетных чисел, не превышающих N. 3. Составить программу «сжатия» исходной строки символов: каждая подстрока, состоящая из нескольких вхождений одного и того же символа, должна быть заменена на текст «x (k)», где x — символ, а k — строка, являющаяся записью числа вхождений символа в исходную строку. Вариант № 2 1. Дано вещественное число а. Для функции y = f(x), график которой приведен ниже, вычислить f(а). 2. Вычислить произведение натуральных четных чисел, не превышающих N. 3. Составить программу выравнивания заданной строки текста по ширине экрана. Группы символов, разделенные пробелами и не содержащие пробелов внутри себя, будем называть словами. Выравнивание строки заключается в том, что между ее отдельными словами дополнительно вносятся пробелы так, чтобы длина строки стала равной заданной длине (предполагается, что требуемая длина не меньше исходной), а последнее слово строки сдвинулось к ее правому краю. Вариант № 3 1. Даны вещественные числа x и y. Определить, принадлежит ли точка с координатами (x; y) заштрихованной части плоскости. 2. Вычислить количество натуральных чисел, кратных трем и не превышающих N. 3. С клавиатуры вводится слово длинной M*N символов. Каждый символ необходимо разместить в отдельной ячейке двумерного массива размером MxN, выбранной случайным образом. Вывести на экран слово, получившееся в k-й строке. Вариант № 4 1. Даны вещественные числа x и y. Определить, принадлежит ли точка с координатами (x; y) заштрихованной части плоскости. последовательности. Определить, сколько раз последовательность поменяет знак. 3. В каждую ячейку двумерного массива поместить числа, равные среднему геометрическому их индексов. Значения в каждой четной строке заменить суммой значений соседних нечетных строк. Количество строк в массиве должно быть нечетным числом. Вариант № 5 1. Задан круг с центром в точке О(x0, y0) и радиусом R0 и точка А(x1, y1). Определить, находится ли точка внутри круга. 2. Вводится последовательность из N произвольных чисел, найти наименьшее положительное число. 3. С клавиатуры вводится строка, состоящая из цифр. Найти сумму этих цифр. Если в строке встречаются другие символы, необходимо вывести на экран сообщение: «Не является числом!». Вариант № 6 1. Определить, пересекаются ли параболы у = аx2+bx+c и у = dx2+mx+n. Если пересекаются, то найти точку пересечения. 2. Вводится последовательность из N произвольных чисел, найти среднее значение положительных элементов последовательности. 3. В файле хранятся действительные числа. Необходимо определить (без использования массивов) максимальное число, минимальное число и их среднее арифметическое. Вариант № 7 1. Задана окружность с центром в точке О(x0, y0) и радиусом R0, найти точки пересечения линии с осью абсцисс. 2. Вводится последовательность из N произвольных чисел. Определить процент положительных, отрицательных и нулевых элементов. 3. В файле хранятся целые числа. Найдите (без использования массивов) сумму четных чисел. Вариант № 8 1. Задана окружность с центром в точке O(0,0) и радиусом R0 и прямая y=ax+b. Определить, пересекаются ли прямая и окружность. Если пересекаются, найти точку пересечения. 2. Вводится последовательность из N произвольных чисел. Найти наибольшее число в последовательности. Если таких чисел несколько, определить, сколько их. 3. Для хранения координат точки на плоскости используется тип данных TCoord. Для четырех точек, заданных своими координатами, определить, являются ли они вершинами прямоугольника. Type TCoord = record x, y:real end; Вариант № 9 1. Дано вещественное число а. Для функции y = f(x) вычислить f(а). 2. Задано число P. Определить количество его четных и нечетных делителей. 3. В одномерном массиве типа TPeople находится информация о N студентах гр. з=81. Найти всех студентов одного роста. Type Tpeople = record Name, SurName: string[30]; Height: byte; end; Вариант № 10 1. Дано вещественное число а. Для функции y = f(x) вычислить f(а). 2. Определить, является ли последовательность из N произвольных чисел строго возрастающей (то есть каждый следующий элемент больше предыдущего). 3. Будем называть обменом операцию, при которой значения двух ячеек одномерного массива меняются местами. Два одинаковых одномерных массива А и В заполнены одними и теми же случайными целыми числами. Используя метод простого обмена («пузырька»), отсортировать массивы: А по возрастанию; В по убыванию. Подсчитать количество обменов в обоих случаях и сравнить. Вариант № 11 1. Определить по дате день недели, на который она приходится. Для вычисления даты использовать формулу: десь d — число месяца, m — номер месяца, начиная с марта (март — 1, апрель — 2, …, февраль — 12), Y — номер года в столетии, c — количество столетий. Квадратные скобки означают, что нужно взять только целую часть от результата. В результате вычислений должно получиться целое число в диапазоне [0..6]: 1 — понедельник, 2 — вторник, …, 0 — воскресенье. 2. Протабулировать1 функцию на интервале [a, b] с шагом h = 0.01 Найти сумму значений функции в каждой точке. 3. Заполнить двумерный массив размерностью NxN (N нечетное число) целыми числами от 1 до N*N по следующим правилам: a) единица помещается в среднюю клетку первой строки; b) заполнение массива происходит по диагоналям вправо и вверх; c) при достижении верхней строки следующее число помещается в нижнюю строку так, как будто она находится над верхней строкой; d) при достижении крайнего правого столбца следующее число помещается в крайний левый столбец так, как будто он находится около крайнего правого столбца; e) при достижении верхней клетки крайнего правого столбца следует опуститься на одну строку ниже в вертикальном порядке и продолжать заполнение клеток по правилу; f) если клетка уже заполнена, следует опуститься на одну строку ниже в вертикальном порядке и продолжать заполнение клеток по правилу. Вариант № 12 1. Составить программу для определения, пройдёт ли кирпич с рёбрами a, b, c в прямоугольное отверстие со сторонами x, y. 2. Протабулировать функцию на интервале [a, b] с шагом h = 0.01 айти сумму значений функции в каждой точке. 3. Магический, или волшебный, квадрат — это квадратная таблица NxN, заполненная N2 числами таким образом, что сумма чисел в каждой строке, каждом столбце и на обеих диагоналях одинакова. Задан двумерный массив размерностью NxN. Определить, является ли он магическим квадратом. Вариант № 13 1. Даны 4 точки, заданные координатами. Определить является ли данная фигура трапецией. 2. Найти сумму ряда с точностью Eps Значение точности Eps вводится с клавиатуры. 3. Одномерный массив размерностью 2n, где n — целое положительное число, заполнен случайными положительными целыми числами. Изменить массив по следующему правилу: в первую ячейку поместить модуль разности между значениями первой и второй ячеек, во вторую — модуль разности между значениями второй и третьей ячеек, … в последнюю — модуль разности между значениями последней и первой ячеек. Определить, сколько понадобится таких преобразований, прежде чем массив будет состоять из одних нулей. Вариант № 14 1. Известны площади круга и квадрата. Определить: уместится ли круг в квадрате, и наоборот. 2. Четырехзначное число N разбили по центру на два двузначных числа: a и b. Найти все числа, для которых выполняется условие (a+b)2 = N. 3. Результаты таблицы выигрышей денежной лотереи представлены последовательностью натуральных чисел, записанных в текстовом файле построчно. Три первые цифры каждого числа — номер билета, а последние три цифры — величина выигрыша. Определите и выведите номера билетов с наибольшим выигрышем. Например: Входные данные: 10245857 1254387 132563 6377739 4237857 Результат: 102 -857 423 -857. Вариант № 15 1. Имеется стол прямоугольной формы размером axb (a и b — целые числа, a > b). На столе размещают картонные коробки с размером основания cxd (c и d — целые числа, c > d). Как лучше всего расставить коробки, длинной их стороной вдоль длинной стороны стола или вдоль короткой? Коробки нельзя ставить друг на друга, ставить боком, и они не должны свисать со стола. 2. Дано пятизначное число А. Шестизначное число B получается добавлением единицы слева к числу А. Число C также шестизначное, но получается добавлением единицы справа от числа A. Определить, чему равно число A, если известно, что C больше B ровно в три раза. 3. Дано имя файла и целые положительные числа N и K. Создать текстовый файл с указанным именем и записать в него N строк, каждая из которых состоит из K символов «*» (звездочка). Вариант № 16 1. Траектория снаряда, вылетающего из орудия под углом α с начальной скоростью v0, задается уравнениями: Даны значения α и v0. Определить, поразит ли снаряд цель высотой P, расположенную в вертикальной плоскости ствола орудия на расстоянии R на высоте H. 2. Найти сумму ряда с точностью Eps для x = 0.82. Значение точности Eps вводится с клавиатуры. 3. Задан вещественный массив А размерностью N. Заменить элемент Ak (3 ≤ k ≤ N), среднее арифметическое K первых элементов массива. Вариант № 17 1. Даны вещественные положительные числа a, b, c. Выяснить, существует ли треугольник со сторонами a, b, c. 2. Найти количество nзначных чисел в десятичной системе счисления, у каждого из которых сумма цифр равна k. При этом в качестве n-значного числа допускаются числа, начинающиеся с одного или нескольких нулей. Например, число 000102 рассматривается как шестизначное, сумма цифр которого равна 3. 3. Задан целочисленный массив А размерностью N. Необходимо создать два массива B и C, при этом массив B содержит все четные числа из массива А, а массив C — все нечетные числа (в том же порядке). Вариант № 18 1. Двузначное число задано цифрами a2a1, где a1 — число единиц, a2 — число десятков (a2 > 1). Из каких цифр состоит число, равное разности заданного числа и цифры b? Само число оп-ределять не нужно. 2. На натуральном отрезке [a,b] найдите и выведите число N с наибольшей суммой своих делителей. Само число и единицу в качестве делителей не учитывать. 3. Для хранения координат точки на плоскости используется тип данных TCoord. Треугольник задан координатами вершин. Определите длины его сторон. Type TCoord = record x, y:real end; Вариант № 19 1. Составить программу, которая по порядковому номеру месяца определяет время года, к которому относится этот месяц. 2. Имеется n бактерий красного цвета. Через 1 такт времени красная бактерия меняется на зелёную, затем через 1 такт времени делится на красную и зелёную. Сколько будет всех бактерий через k тактов времени? 3. С клавиатуры вводится строка в виде: d1–d2+d3–d4+…, где dn — цифры (n>1). Вычислить записанную в строке алгебраическую сумму. Вариант № 20 1. Определить, в какую из областей — I, II, III (см. рисунок) — попадает точка с заданными координатами. Для простоты принять, что точка не попадает на границы областей. 2. Женщина шла на базар и разбила яйца, лежавшие у неё в корзине. Она сказала, что не знает, сколько яиц у неё было, но когда она брала по 2, 3, 4, 5 и 6 яиц, то в конце в корзине всегда оставалось одно яйцо. Когда же она брала по 7 яиц, то ничего не оставалось. Сколько яиц могло быть в корзине? 3. Проверить, является ли «перевертышем» введенная с клавиатуры фраза после удаления из неё пробелов. «Перевёртышем» называется слово (фраза), читаемое одинаково как с начала, так и с конца. Работа № 2 Цель: научиться описывать и использовать структурированные типы данных. Задание 1. Написать программу, которая создает типизированный файл и записывает в него MxN значений. Имя для файла создается по маске 2. Написать программу, которая создает массив A[M,N] и заполняет его значениями из файла, созданного первой программой. Вывести на экран массив в виде матрицы MxN. 3. В следующей программе описать запись Homme, которая используется для описания человека (поля: Имя, Отчество, Фамилия, дата рождения, пол). Создать файл типа Homme с именем 4. Написать программу, которая считывает из файла Требования к оформлению отчета В отчете необходимо привести текст заданий, описание и код программ с комментариями. Привести результаты работы программ в виде скриншота. Сделать выводы. Вместе с отчетом необходимо выслать на проверку файлы, содержашие коды программ, и файлы с результатами
ОТПРАВИТЬ ЗАЯВКУ |
---|