| Общая информация » Каталог студенческих работ » ТЕХНИЧЕСКИЕ ДИСЦИПЛИНЫ » Информатика, программирование, базы данных |
| 03.02.2026, 11:07 | |
Лабораторная работа №1 Целочисленные вычисления, CRT, GraphABC Задание №1 по вариантам: 1. Дано расстояние L в сантиметрах. Используя операцию деления нацело, найти количество полных метров в нем (1 метр =100 см). 2. Дана масса M в килограммах. Используя операцию деления нацело, найти количество полных тонн в ней (1 тонна = 1000 кг). 3. Дан размер файла в байтах. Используя операцию деления нацело, найти количество полных килобайтов, которые занимает данный файл (1 килобайт = 1024 байта). 4. Даны целые положительные числа A и B (A > B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Используя операцию деления нацело, найти количество отрезков B, размещенных на отрезке A. 5. Даны целые положительные числа A и B (A > B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Используя операцию взятия остатка от деления нацело, найти длину незанятой части отрезка A. 6. Дано двузначное число. Вывести вначале его левую цифру (десятки), а затем его правую цифру (единицы). Для нахождения десятков использовать операцию деления нацело, для нахождения единиц операцию взятия остатка от деления. 7. Дано двузначное число. Найти сумму и произведение его цифр. 8. Дано двузначное число. Вывести число, полученное при перестановке цифр исходного числа. 9. Дано трехзначное число. Используя одну операцию деления нацело, вывести первую цифру данного числа (сотни). 10. Дано трехзначное число. Вывести вначале его последнюю цифру (единицы), а затем его среднюю цифру (десятки). 11. Дано трехзначное число. Найти сумму и произведение его цифр. 12. Дано трехзначное число. Вывести число, полученное при прочтении исходного числа справа налево. 13. Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее справа. Вывести полученное число. 14. Дано трехзначное число. В нем зачеркнули первую справа цифру и приписали ее слева. Вывести полученное число. 15. Дано трехзначное число. Вывести число, полученное при перестановке цифр сотен и десятков исходного числа (например, 123 перейдет в 213). 16. Дано трехзначное число. Вывести число, полученное при перестановке цифр десятков и единиц исходного числа (например, 123 перейдет в 132). 17. Дано целое число, большее 999. Используя одну операцию деления нацело и одну операцию взятия остатка от деления, найти цифру, соответствующую разряду сотен в записи этого числа. 18. Дано целое число, большее 999. Используя одну операцию деления нацело и одну операцию взятия остатка от деления, найти цифру, соответствующую разряду тысяч в записи этого числа. 19. С начала суток прошло N секунд (N целое). Найти количество полных минут, прошедших с начала суток. 20. С начала суток прошло N секунд (N целое). Найти количество полных часов, прошедших с начала суток. 21. С начала суток прошло N секунд (N целое). Найти количество секунд, прошедших с начала последней минуты. 22. С начала суток прошло N секунд (N целое). Найти количество секунд, прошедших с начала последнего часа. 23. С начала суток прошло N секунд (N целое). Найти количество полных минут, прошедших с начала последнего часа. 24. Дни недели пронумерованы следующим образом: 0 воскресенье, 1 понедельник, 2 вторник, ..., 6 суббота. Дано целое число K, лежащее в диапазоне 1-365. Определить номер дня недели для Kго дня года, если известно, что в этом году 1 января было понедельником. 25. Дни недели пронумерованы следующим образом: 0 воскресенье, 1 понедельник, 2 вторник, ..., 6 суббота. Дано целое число K, лежащее в диапазоне 1-365. Определить номер дня недели для Kго дня года, если известно, что в этом году 1 января было четвергом. 26. Дни недели пронумерованы следующим образом: 1 понедельник, 2 вторник, ..., 6 суббота, 7 воскресенье. Дано целое число K, лежащее в диапазоне 1-365. Определить номер дня недели для Kго дня года, если известно, что в этом году 1 января было вторником. 27. Дни недели пронумерованы следующим образом: 1 понедельник, 2 вторник, ..., 6 суббота, 7 воскресенье. Дано целое число K, лежащее в диапазоне 1-365. Определить номер дня недели для Kго дня года, если известно, что в этом году 1 января было субботой. 28. Дни недели пронумерованы следующим образом: 1 понедельник, 2 вторник, ..., 6 суббота, 7 воскресенье. Дано целое число K, лежащее в диапазоне 1-365, и целое число N, лежащее в диапазоне 1-7. Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было днем недели с номером N. 29. Даны целые положительные числа A, B, C. На прямоугольнике размера AхB размещено максимально возможное количество квадратов со стороной C (без наложений). Найти количество квадратов, размещенных на прямоугольнике, а также площадь незанятой части прямоугольника. 30. Дан номер некоторого года (целое положительное число). Определить соответствующий ему номер столетия, учитывая, что, к примеру, началом 20 столетия был 1901 год. Задание №2: Напишите программу «Визитная карточка», которая выводила бы на экран хорошо оформленные ваши личные данные: имя, фамилию, год рождения, адрес, телефон. Используйте разные цвета, хорошо скомпонуйте. Задание №3: Напишите программу, использующую не менее трех процедур рисования, которая рисовала бы несложный рисунок (домик, автомобиль, и т.п.)
Лабораторная работа №2 Управляющие конструкции Задание №1 по вариантам: 1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число. 2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число. 3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число. 4. Даны три целых числа. Найти количество положительных чисел в исходном наборе. 5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе. 6. Даны два числа. Вывести большее из них. 7. Даны два числа. Вывести порядковый номер меньшего из них. 8. Даны два числа. Вывести вначале большее, а затем меньшее из них. 9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B большее. Вывести новые значения переменных A и B. 10. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B. 11. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B. 12. Даны три числа. Найти наименьшее из них. 13. Даны три числа. Найти среднее из них (то есть число, расположенное между наименьшим и наибольшим). 14. Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел. 15. Даны три числа. Найти сумму двух наибольших из них. 16. Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C. 17. Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C. 18. Даны три целых числа, одно из которых отлично от двух других, равных между собой. Определить порядковый номер числа, отличного от остальных. 19. Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Определить порядковый номер числа, отличного от остальных. 20. На числовой оси расположены три точки: A, B, C. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести эту точку и ее расстояние от точки A. Задание №2 по вариантам (оператор Case): 1. Дано целое число в диапазоне 1-7. Вывести строку название дня недели, соответствующее данному числу (1 «понедельник», 2 «вторник» и т. д.). 2. Дано целое число K. Вывести строку-описание оценки, соответствующей числу K (1 «плохо», 2 - «неудовлетворительно», 3 «удовлетворительно», 4 «хорошо», 5 «отлично»). Если K∉[1,5], то вывести строку «ошибка». 3. Дан номер месяца целое число в диапазоне 1-12 (1 январь, 2 февраль и т. д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»). 4. Дан номер месяца целое число в диапазоне 1-12 (1 январь, 2 февраль и т. д.). Определить количество дней в этом месяце для невисокосного года. 5. Арифметические действия над числами пронумерованы следующим образом: 1 сложение, 2 вычитание, 3 умножение, 4 деление. Дан номер действия N (целое число в диапазоне 1-4) и вещественные числа A и B (B не равно 0). Выполнить над числами указанное действие и вывести результат. 6. Единицы длины пронумерованы следующим образом: 1 дециметр, 2 километр, 3 метр, 4 миллиметр, 5 сантиметр. Дан номер единицы длины (целое число в диапазоне 1-5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах. 7. Единицы массы пронумерованы следующим образом: 1 килограмм, 2 миллиграмм, 3 грамм, 4 тонна, 5 центнер. Дан номер единицы массы (целое число в диапазоне 1-5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах. 8. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной. 9. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной. 10. Робот может перемещаться в четырех направлениях («С» север, «З» запад, «Ю» юг, «В» восток) и принимать три цифровые команды: 0 продолжать движение, 1 поворот налево, (-1) поворот направо. Дан символ C исходное направление робота и целое число N посланная ему команда. Вывести направление робота после выполнения полученной команды. 11. Локатор ориентирован на одну из сторон света («С» север, «З» запад, «Ю» юг, «В» восток) и может принимать три цифровые команды поворота: 1 поворот налево, 1 поворот направо, 2 поворот на 180°. Дан символ C исходная ориентация локатора и целые числа N1 и N2 две посланные команды. Вывести ориентацию локатора после выполнения этих команд. 12. Элементы окружности пронумерованы следующим образом: 1 радиус R, 2 диаметр D = 2R, 3 длина L = 2nR, 4 площадь круга S = pR2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). 13. Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 катет а, 2 – гипотенуза c = , 3 высота h, опущенная на гипотенузу (h = c/2), 4 площадь S = ch/2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке). 14. Элементы равностороннего треугольника пронумерованы следующим образом: 1 сторона а, 2 - радиус R1 вписанной окружности ( R = a 3 / 6 ), 3 радиус R2 описанной окружности (R2 = 2R1), 4 - площадь S = a2 3 / 4 . Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке). 15. Мастям игральных карт присвоены порядковые номера: 1 пики, 2 трефы, 3 бубны, 4 червы. Достоинству карт, старших десятки, присвоены номера: 11 валет, 12 дама, 13 король, 14 туз. Даны два целых числа: N достоинство (6 < N < 14) и M масть карты (1 < M < 4). Вывести название соответствующей карты вида «шестерка бубен», «дама червей», «туз треф» и т. п. 16. Дано целое число в диапазоне 20-69, определяющее возраст (в годах). Вывести строку-описание указанного возраста, обеспечив правильное согласование числа со словом «год», например: 20 - «двадцать лет», 32 «тридцать два года», 41 «сорок один год». 17. Дано целое число в диапазоне 10-40, определяющее количество учебных заданий по некоторой теме. Вывести строку-описание указанного количества заданий, обеспечив правильное согласование числа со словами «учебное задание», например: 18 «восемнадцать учебных заданий», 23 «двадцать три учебных задания», 31 «тридцать одно учебное задание». 18. Дано целое число в диапазоне 100-999. Вывести строку-описание данного числа, например: 256 - «двести пятьдесят шесть». 19. В восточном календаре принят 60-летний цикл, состоящий из 12летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года определить его название, если 1984 год начало цикла: «год зеленой крысы». 20. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату. Вывести знак Зодиака, соответствующий этой дате: «Водолей» (20.1-18.2), «Рыбы» (19.2-20.3), «Овен» (21.3-19.4), «Телец» (20.420.5), «Близнецы» (21.5-21.6), «Рак» (22.6-22.7), «Лев» (23.7-22.8), «Дева» (23.8-22.9), «Весы» (23.9-22.10), «Скорпион» (23.10-22.11), «Стрелец» (23.11-21.12), «Козерог» (22.12-19.1). Задание №3 по вариантам (оператор For): 1. Даны целые числа K и N (N >0). Вывести N раз число K. 2. Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также количество N этих чисел. 3. Даны два целых числа A и B (A < B). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел. 4. Дано вещественное число цена 1 кг конфет. Вывести стоимость 1, 2, ..., 10 кг конфет. 5. Дано вещественное число цена 1 кг конфет. Вывести стоимость 0.1, 0.2, ..., 1 кг конфет. 6. Дано вещественное число цена 1 кг конфет. Вывести стоимость 1.2, 1.4, ..., 2 кг конфет. 7. Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно. 8. Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно. 9. Даны два целых числа A и B (A < B). Найти сумму квадратов всех целых чисел от A до B включительно. 10. Дано целое число N>0. Найти сумму 1+1/2+1/3+...+1/N. 11. Дано целое число N>0. Найти сумму N2+(N+1)2+(N+2)2+...+(2N)2. 12. Дано целое число N>0. Найти произведение 1,1·1,2·1,3·… (N сомножителей). 13. Дано целое число N>0. Найти значение выражения 1,1–1,2+1,3-… (N слагаемых, знаки чередуются). Условный оператор не использовать. 14. Дано целое число N>0. Найти квадрат данного числа, используя для его вычисления следующую формулу: N2=1+3+5+...+(2-N-1). После добавления к сумме каждого слагаемого выводить текущее значение суммы (в результате будут выведены квадраты всех целых чисел от 1 до N). 15. Дано вещественное число A и целое число N (>0). Найти A в степени N: AN = A·A... ·A (числа A перемножаются N раз). 16. Дано вещественное число A и целое число N (>0). Используя один цикл, вывести все целые степени числа A от 1 до N. 17. Дано вещественное число A и целое число N (>0). Используя один цикл, найти сумму 1+A+A2+A3+...+AN. 18. Дано вещественное число A и целое число N (>0). Используя один цикл, найти значение выражения 1-A+A2-A3+...+(-1)NAN. Оператор if не использовать. 19. Дано целое число N>0. Найти произведение N! = 1-2-...-N (N-факториал). Чтобы избежать целочисленного переполнения, вычислять это произведение с помощью вещественной переменной и вывести его как вещественное число. 20. Дано целое число N>0. Используя один цикл, найти сумму 1!+2!+3!+...+N! (выражение N! Nфакториал обозначает произведение всех целых чисел от 1 до N: N! = 1·2·…·N). Чтобы избежать целочисленного переполнения, проводить вычисления с помощью вещественных переменных и вывести результат как вещественное число. Задание №4 по вариантам (оператор While): 1. Даны положительные числа A и B (A > B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти длину незанятой части отрезка A. 2. Даны положительные числа A и B (A > B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти количество отрезков B, размещенных на отрезке A. 3. Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления. 4. Дано целое число N>0. Если оно является степенью числа 3, то вывести TRUE, если не является вывести FALSE. 5. Дано целое число N>0, являющееся некоторой степенью числа 2: N = 2K. Найти целое число K показатель этой степени. 6. Дано целое число N>0. Найти двойной факториал N: N!! = N·(N-2)·(N-4)·... (последний сомножитель равен 2, если N четное, и 1, если N нечетное). Чтобы избежать целочисленного переполнения, вычислять это произведение с помощью вещественной переменной и вывести его как вещественное число. 7. Дано целое число N>0. Найти наименьшее целое положительное число K, квадрат которого превосходит N: K2 > N. Функцию извлечения квадратного корня не использовать. 8. Дано целое число N>0. Найти наибольшее целое число K, квадрат которого не превосходит N: K2 < N. Функцию извлечения квадратного корня не использовать. 9. Дано целое число N>0. Найти наименьшее целое число K, при котором выполняется неравенство 3K > N. 10. Дано целое число N>0. Найти наибольшее целое число K, при котором выполняется неравенство 3K < N. 11. Дано целое число N>0. Вывести наименьшее из целых чисел K, для которых сумма 1+2+…+K будет больше или равна N, и саму эту сумму. 12. Дано целое число N>1. Вывести наибольшее из целых чисел K, для которых сумма 1+2+…+K будет меньше или равна N, и саму эту сумму. 13. Дано число A>1. Вывести наименьшее из целых чисел K, для которых сумма 1+1/2+…+1/K будет больше A, и саму эту сумму. 14. Дано число A>1. Вывести наибольшее из целых чисел K, для которых сумма 1+1/2+…+1/K будет меньше A, и саму эту сумму. 15. Начальный вклад в банке равен 1000 руб. Через каждый месяц размер вклада увеличивается на P процентов от имеющейся суммы (P вещественное число, 0< P <25). По данному P определить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итоговый размер вклада S (вещественное число). 16. Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км. Каждый следующий день он увеличивал длину пробега на P процентов от пробега предыдущего дня (P вещественное, 0<P<50). По данному P определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км, и вывести найденное количество дней K (целое) и суммарный пробег S (вещественное число). 17. Дано целое число N>0. Используя операции деления нацело и взятия остатка от деления, вывести все его цифры, начиная с самой правой (разряда единиц). 18. Дано целое число N>0. Используя операции деления нацело и взятия остатка от деления, найти количество и сумму его цифр. 19. Дано целое число N>0. Используя операции деления нацело и взятия остатка от деления, найти число, полученное при прочтении числа N справа налево. 20. Дано целое число N>0. С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N цифра «2». Если имеется, то вывести TRUE, если нет вывести FALSE.
Лабораторная работа №3 Подпрограммы и функции Задание №1 по вариантам (Функции с числовыми параметрами): 1. Описать функцию Sign(X) целого типа, возвращающую для вещественного числа X следующие значения: (-1), если X < 0; 0, если X = 0; 1, если X > 0. С помощью этой функции найти значение выражения Sign(A) + Sign(B) для данных вещественных чисел A и B. 2. Описать функцию RootsCount(A, B, C) целого типа, определяющую количество корней квадратного уравнения Ax2 + Bx + C = 0 (A, B, C вещественные параметры, A = 0). С ее помощью найти количество корней для каждого из трех квадратных уравнений с данными коэффициентами. Количество корней определять по значению дискриминанта: D = B2 4AC. 3. Описать функцию CircleS(R) вещественного типа, находящую площадь круга радиуса R (R вещественное). С помощью этой функции найти площади трех кругов с данными радиусами. Площадь круга радиуса R вычисляется по формуле S = pR2. 4. Описать функцию RingS(R1, R2) вещественного типа, находящую площадь кольца, заключенного между двумя окружностями с общим центром и радиусами R1 и R2 (R1 и R2 вещественные, R1 > R2). С ее помощью найти площади трех колец, для которых даны внешние и внутренние радиусы. Воспользоваться формулой площади круга радиуса R: S = pR2. 5. Описать функцию TriangleP(a, h), находящую периметр равнобедренного треугольника по его основанию а и высоте h, проведенной к основанию (а и h вещественные). С помощью этой функции найти периметры трех треугольников, для которых даны основания и высоты. Для нахождения боковой стороны b треугольника использовать теорему Пифагора: b2 = (a/2)2 + h2. 6. Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B включительно (A и B целые). Если A > B, то функция возвращает 0. С помощью этой функции найти суммы чисел от A до B и от B до C, если даны числа A, B, C. 7. Описать функцию Calc(A, B, Op) вещественного типа, выполняющую над ненулевыми вещественными числами A и B одну из арифметических операций и возвращающую ее результат. Вид операции определяется целым параметром Op: 1 вычитание, 2 умножение, 3 деление, остальные значения сложение. С помощью Calc выполнить для данных A и B операции, определяемые данными целыми N1, N2, N3. 8. Описать функцию Quarter(x, y) целого типа, определяющую номер координатной четверти, в которой находится точка с ненулевыми вещественными координатами (x, у). С помощью этой функции найти номера координатных четвертей для трех точек с данными ненулевыми координатами. 9. Описать функцию Even(K) логического типа, возвращающую TRUE, если целый параметр K является четным, и FALSE в противном случае. С ее помощью найти количество четных чисел в наборе из 10 целых чисел. 10. Описать функцию IsSquare(K) логического типа, возвращающую TRUE, если целый параметр K (>0) является квадратом некоторого целого числа, и FALSE в противном случае. С ее помощью найти количество квадратов в наборе из 10 целых положительных чисел. 11. Описать функцию IsPower5(K) логического типа, возвращающую TRUE, если целый параметр K (> 0) является степенью числа 5, и FALSE в противном случае. С ее помощью найти количество степеней числа 5 в наборе из 10 целых положительных чисел. 12. Описать функцию IsPowerN(K, N) логического типа, возвращающую TRUE, если целый параметр K (>0) является степенью числа N (> 1), и FALSE в противном случае. Дано число N (> 1) и набор из 10 целых положительных чисел. С помощью функции IsPowerN найти количество степеней числа N в данном наборе. 13. Описать функцию IsPrime(N) логического типа, возвращающую TRUE, если целый параметр N (> 1) является простым числом, и FALSE в противном случае (число, большее 1, называется простым, если оно не имеет положительных делителей, кроме 1 и самого себя). Дан набор из 10 целых чисел, больших 1. С помощью функции IsPrime найти количество простых чисел в данном наборе. 14. Описать функцию DigitCount(K) целого типа, находящую количество цифр целого положительного числа K. Используя эту функцию, найти количество цифр для каждого из пяти данных целых положительных чисел. 15. Описать функцию DigitN(K, N) целого типа, возвращающую N-ю цифру целого положительного числа K (цифры в числе нумеруются справа налево). Если количество цифр в числе K меньше N, то функция возвращает 1. Для каждого из пяти данных целых положительных чисел K1, K2, ..., K5 вызвать функцию DigitN с параметром N, изменяющимся от 1 до 5. 16. Описать функцию IsPalindrom(K), возвращающую TRUE, если целый параметр K (> 0) является палиндромом (то есть его запись читается одинаково слева направо и справа налево), и FALSE в противном случае. С ее помощью найти количество палиндромов в наборе из 10 целых положительных чисел. 17. Описать функцию DegToRad(D) вещественного типа, находящую величину угла в радианах, если дана его величина D в градусах (D вещественное число, 0 < D < 360). Воспользоваться следующим соотношением: 180° = p радианов. С помощью функции DegToRad перевести из градусов в радианы пять данных углов. 18. Описать функцию RadToDeg(R) вещественного типа, находящую величину угла в градусах, если дана его величина R в радианах (R вещественное число, 0 < R < 2p). Воспользоваться следующим соотношением: 180° = p радианов. С помощью функции RadToDeg перевести из радианов в градусы пять данных углов. 19. Описать функцию Fact(N) вещественного типа, вычисляющую значение факториала N! = 12 .. . N (N > 0 параметр целого типа; вещественное возвращаемое значение используется для того, чтобы избежать целочисленного переполнения при больших значениях N). С помощью этой функции найти факториалы пяти данных целых чисел. 20. Описать функцию Fact2(N) вещественного типа, вычисляющую двойной факториал: Задание №2 по вариантам (Процедуры с числовыми параметрами): 1. Описать процедуру PowerA3(A, B), вычисляющую третью степень числа A и возвращающую ее в переменной B (A входной, B выходной параметр; оба параметра являются вещественными). С помощью этой процедуры найти третьи степени пяти данных чисел. 2. Описать процедуру PowerA234(A, B, C, D), вычисляющую вторую, третью и четвертую степень числа A и возвращающую эти степени соответственно в переменных B, C и D (A входной, B, C, D выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти вторую, третью и четвертую степень пяти данных чисел. 3. Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X+Y)/2 и среднее геометрическое GMEAN = двух положительных чисел X и Y (X и Y входные, AMean и GMean выходные параметры вещественного типа). С помощью этой процедуры найти среднее арифметическое и среднее геометрическое для пар (A, B), (A, C), (A, D), если даны A, B, C, D. 4. Описать процедуру TrianglePS(a, P, S), вычисляющую по стороне a равностороннего треугольника его периметр P = 3a и площадь S = a2 3 / 4 (а входной, P и S выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти периметры и площади трех равносторонних треугольников с данными сторонами. 5. Описать процедуру RectPS(x1,y1,x2,y2,P, S), вычисляющую периметр P и площадь S прямоугольника со сторонами, параллельными осям координат, по координатам (x1,y1), (x2,y2) его противоположных вершин (x1,y1,x2,y2 входные, P и S выходные параметры вещественного типа). С помощью этой процедуры найти периметры и площади трех прямоугольников с данными противоположными вершинами. 6. Описать процедуру DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа K, а также их сумму S (K входной, C и S выходные параметры целого типа). С помощью этой процедуры найти количество и сумму цифр для каждого из пяти данных целых чисел. 7. Описать процедуру InvertDigits(K), меняющую порядок следования цифр целого положительного числа K на обратный (K параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры поменять порядок следования цифр на обратный для каждого из пяти данных целых чисел. 8. Описать процедуру AddRightDigit(D, K), добавляющую к целому положительному числу K справа цифру D (D входной параметр целого типа, лежащий в диапазоне 0-9, K параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры последовательно добавить к данному числу K справа данные цифры D1 и D2, выводя результат каждого добавления. 9. Описать процедуру AddLeftDigit(D, K), добавляющую к целому положительному числу K слева цифру D (D входной параметр целого типа, лежащий в диапазоне 1-9, K параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры последовательно добавить к данному числу K слева данные цифры D1 и D2, выводя результат каждого добавления. 10. Описать процедуру Swap(X, Y), меняющую содержимое переменных X и Y (X и Y вещественные параметры, являющиеся одновременно входными и выходными). С ее помощью для данных переменных A, B, C, D последовательно поменять содержимое следующих пар: A и B, C и D, B и C и вывести новые значения A, B, C, D. 11. Описать процедуру Minmax(X, Y), записывающую в переменную X минимальное из значений X и 7, а в переменную Y максимальное из этих значений (X и Y вещественные параметры, являющиеся одновременно входными и выходными). Используя четыре вызова этой процедуры, найти минимальное и максимальное из данных чисел A, B, C, D. 12. Описать процедуру SortInc3(A, B, C), меняющую содержимое переменных A, B, C таким образом, чтобы их значения оказались упорядоченными по возрастанию (A, B, C вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по возрастанию два данных набора из трех чисел: (A1, B1, C1) и (A2, B2, C2). 13. Описать процедуру SortDec3(A, B, C), меняющую содержимое переменных A, B, C таким образом, чтобы их значения оказались упорядоченными по убыванию (A, B, C вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по убыванию два данных набора из трех чисел: (A1, B1, C1) и (A2, B2, C2). 14. Описать процедуру ShiftRight3(A, B, C), выполняющую правый циклический сдвиг: значение A переходит в B, значение B в C, значение C в A (A, B, C вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры выполнить правый циклический сдвиг для двух данных наборов из трех чисел: (A1, B1, C1) и (A2, B2, C2). 15. Описать процедуру ShiftLeft3(A, B, C), выполняющую левый циклический сдвиг: значение A переходит в C, значение C в B, значение B в A (A, B, C вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры выполнить левый циклический сдвиг для двух данных наборов из трех чисел: (A1, B1, C1) и (A2, B2, C2). Задание №3: Сформируйте модуль с процедурами и функциями из предыдущих заданий.
Лабораторная работа №4 Массивы В заданиях предполагается, что размер массива не превосходит 10. Задание №1 по вариантам (одномерные массивы): 1. Дан массив A ненулевых целых чисел размера 10. Вывести значение первого из тех его элементов AK, которые удовлетворяют неравенству AK < A10. Если таких элементов нет, то вывести 0. 2. Дан целочисленный массив A размера 10. Вывести порядковый номер последнего из тех его элементов AK, которые удовлетворяют двойному неравенству A1 < AK < A10. Если таких элементов нет, то вывести 0. 3. Дан массив размера N и целые числа K и L (1 < K < L < N). Найти сумму элементов массива с номерами от K до L включительно. 4. Дан массив размера N и целые числа K и L (1 < K < L < N). Найти среднее арифметическое элементов массива с номерами от K до L включительно. 5. Дан массив размера N и целые числа K и L (1< K < L < N). Найти сумму всех элементов массива, кроме элементов с номерами от K до L включительно. 6. Дан массив размера N и целые числа K и L (1 < K < L < N). Найти среднее арифметическое всех элементов массива, кроме элементов с номерами от K до L включительно. 7. Дан целочисленный массив размера N, не содержащий одинаковых чисел. Проверить, образуют ли его элементы арифметическую прогрессию. Если образуют, то вывести разность прогрессии, если нет вывести 0. 8. Дан массив ненулевых целых чисел размера N. Проверить, образуют ли его элементы геометрическую прогрессию. Если образуют, то вывести знаменатель прогрессии, если нет вывести 0. 9. Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность. 10. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность. 11. Дан массив A размера N. Найти минимальный элемент из его элементов с четными номерами: A2, A4, A6, ... . 12. Дан массив A размера N. Найти максимальный элемент из его элементов с нечетными номерами: A1, A3, A5, ... . 13. Дан массив размера N. Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов. Найденные номера выводить в порядке их возрастания. 14. Дан массив размера N. Найти номера тех элементов массива, которые больше своего левого соседа, и количество таких элементов. Найденные номера выводить в порядке их убывания. 15. Дан массив размера N. Найти номер его первого локального минимума (локальный минимум это элемент, который меньше любого из своих соседей). 16. Дан массив размера N. Найти номер его последнего локального максимума (локальный максимум это элемент, который больше любого из своих соседей). 17. Дан массив размера N. Найти максимальный из его локальных минимумов (локальный минимум это элемент, который меньше любого из своих соседей). 18. Дан массив размера N. Найти минимальный из его локальных максимумов (локальный максимум это элемент, который больше любого из своих соседей). 19. Дан массив размера N. Найти максимальный из его элементов, не являющихся ни локальным минимумом, ни локальным максимумом (локальный минимум это элемент, который меньше любого из своих соседей, локальный максимум это элемент, который больше любого из своих соседей). Если таких элементов в массиве нет, то вывести 0 (как вещественное число). 20. Дан массив размера N. Найти количество участков, на которых его элементы возрастают. Задание №2 по вариантам (одномерные массивы): 1. Даны массивы A и B одинакового размера N. Поменять местами их содержимое и вывести вначале элементы преобразованного массива A, а затем элементы преобразованного массива B. 2. Дан массив A размера N. Сформировать новый массив B того же размера, элементы которого определяются следующим образом: Bk = 2-Ak, если Ak < 5, Ak/2 в противном случае. 3. Даны два массива A и B одинакового размера N. Сформировать новый массив C того же размера, каждый элемент которого равен максимальному из элементов массивов A и B с тем же индексом. 4. Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B все четные числа из исходного массива (в том же порядке) и вывести размер полученного массива B и его содержимое. 5. Дан целочисленный массив A размера N (< 15). Переписать в новый целочисленный массив B все элементы с нечетными порядковыми номерами (1,3,...) и вывести размер полученного массива B и его содержимое. Условный оператор не использовать. 6. Дан целочисленный массив A размера N (< 15). Переписать в новый целочисленный массив B все элементы с порядковыми номерами, кратными трем (3, 6, ...), и вывести размер полученного массива B и его содержимое. Условный оператор не использовать. 7. Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B того же размера вначале все элементы исходного массива с четными номерами, а затем с нечетными: A2, A4, A6,…, A1, A3, A5,…. Условный оператор не использовать. 8. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от 1 до K. 9. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому элементов массива A с номерами от 1 до K. 10. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от K до N. 11. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому элементов массива A с номерами от K до N. 12. Дан массив A размера N. Сформировать два новых массива B и C: в массив B записать все положительные элементы массива A, в массив C все отрицательные (сохраняя исходный порядок следования элементов). Вывести вначале размер и содержимое массива B, а затем размер и содержимое массива C. 13. Даны два массива A и B размера 5, элементы которых упорядочены по возрастанию. Объединить эти массивы так, чтобы результирующий массив C (размера 10) остался упорядоченным по возрастанию. 14. Даны три целочисленных массива A, B и C размера NA, N в, N C соответственно, элементы которых упорядочены по убыванию. Объединить эти массивы так, чтобы результирующий целочисленный массив D (размера NA + Nв + Nс) остался упорядоченным по убыванию. Задание №3 по вариантам (одномерные массивы): 1. Дан массив A размера N (< 6). Упорядочить его по возрастанию методом сортировки простым выбором: найти максимальный элемент массива и поменять его местами с последним (N-м) элементом; выполнить описанные действия (N-1) раз, каждый раз уменьшая на 1 количество анализируемых элементов и выводя содержимое массива. 2. Дан массив A размера N (< 6). Упорядочить его по возрастанию методом сортировки простыми вставками: сравнить элементы A1 и A2 и, при необходимости меняя их местами, добиться того, чтобы они оказались упорядоченными по возрастанию; затем обратиться к элементу A3 и переместить его в левую (уже упорядоченную) часть массива, сохранив ее упорядоченность; повторить этот процесс для остальных элементов, выводя содержимое массива после обработки каждого элемента (от 2го до N-го). При выполнении описанных действий удобно использовать прием «барьера», записывая очередной элемент перед его обработкой в дополнительный элемент массива A0. Задание №4 по вариантам (двумерные массивы (матрицы)): 1. Даны целые положительные числа M и N. Сформировать целочисленную матрицу размера MхN, у которой все элементы i-й строки имеют значение 10i (i=1,..M). 2. Даны целые положительные числа M и N. Сформировать целочисленную матрицу размера MхN, у которой все элементы j-го столбца имеют значение 5j (j=1,..N). 3. Даны целые положительные числа M, N и набор из M чисел. Сформировать матрицу размера MхN, у которой в каждом столбце содержатся все числа из исходного набора (в том же порядке). 4. Даны целые положительные числа M, N и набор из N чисел. Сформировать матрицу размера MхN, у которой в каждой строке содержатся все числа из исходного набора (в том же порядке). 5. Дана матрица размера MхN и целое число K (1 < K < M). Вывести элементы K-й строки данной матрицы. 6. Дана матрица размера MхN и целое число K (1 < K < N). Вывести элементы K-го столбца данной матрицы. 7. Дана матрица размера MхN. Вывести ее элементы, расположенные в строках с четными номерами (2, 4, ...). Вывод элементов производить по строкам, условный оператор не использовать. 8. Дана матрица размера MхN. Вывести ее элементы, расположенные в столбцах с нечетными номерами (1,3, ...). Вывод элементов производить по столбцам, условный оператор не использовать. 9. Дана матрица размера MхN. Вывести ее элементы в следующем порядке: первая строка слева направо, вторая строка справа налево, третья строка слева направо, четвертая строка справа налево и т. д. 10. Дана матрица размера MхN. Вывести ее элементы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх, третий столбец сверху вниз, четвертый столбец снизу вверх и т. д. Задание №5 по вариантам (двумерные массивы (матрицы)): 1. Дана матрица размера MхN и целое число K (1 < K < M). Найти сумму и произведение элементов K-й строки данной матрицы. 2. Дана матрица размера MхN и целое число K (1 < K < N). Найти сумму и произведение элементов Kго столбца данной матрицы. 3. Дана матрица размера MхN. Для каждой строки матрицы найти сумму ее элементов. 4. Дана матрица размера MхN. Для каждого столбца матрицы найти произведение его элементов. 5. Дана матрица размера MхN. Для каждой строки матрицы с нечетным номером (1, 3, ...) найти среднее арифметическое ее элементов. Условный оператор не использовать. 6. Дана матрица размера MхN. Для каждого столбца матрицы с четным номером (2, 4,...) найти сумму его элементов. Условный оператор не использовать. 7. Дана матрица размера MхN. В каждой строке матрицы найти минимальный элемент. 8. Дана матрица размера MхN. В каждом столбце матрицы найти максимальный элемент. 9. Дана матрица размера MхN. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы. 10. Дана матрица размера MхN. Найти номер ее столбца с наименьшим произведением элементов и вывести данный номер, а также значение наименьшего произведения. 11. Дана матрица размера MхN. Найти максимальный среди минимальных элементов ее строк. 12. Дана матрица размера MхN. Найти минимальный среди максимальных элементов ее столбцов. 13. Дана матрица размера MхN. В каждой ее строке найти количество элементов, меньших среднего арифметического всех элементов этой строки. 14. Дана матрица размера MхN. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца. 15. Дана матрица размера MхN. Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему значению всех ее элементов. Задание №6 по вариантам (двумерные массивы (матрицы)): 1. Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и выше побочной диагонали. Условный оператор не использовать. 2. Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали. Условный оператор не использовать. 3. Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно ниже главной диагонали (включая эту диагональ) и выше побочной диагонали (также включая эту диагональ). Условный оператор не использовать. 4. Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно ниже главной диагонали (включая эту диагональ) и ниже побочной диагонали (также включая эту диагональ). Условный оператор не использовать. | |