Одномерные и двумерные массивы
При вводе исходного массива вначале следует ввести его размер (одно число для одномерных массивов, два числа — количество строк и столбцов — для двумерных массивов-матриц), а затем — все его элементы.
Если в задании явно не указывается размер одномерного массива, являющегося параметром процедуры или функции, то предполагается, что этот размер может меняться в пределах от 1 до 10. Для двумерных массивов-матриц также предполагается, что число их строк и столбцов может меняться от 1 до 10. Порядковые номера начальных элементов как одномерных, так и двумерных массивов всегда считаются равными 1. При описании процедур, выполняющих преобразование массива, не следует использовать вспомогательный массив того же размера.
Param1. Описать функцию MinInt(A, N) целого типа, находящую минимальный элемент целочисленного массива A размера N. С помощью этой функции найти минимальные элементы массивов A, B, C размера N_A, N_B, N_C соответственно.
Решение задачи, на языке: Паскаль
Param2. Описать функцию NMax(A, N) целого типа, находящую номер максимального элемента вещественного массива A размера N. С помощью этой функции найти номера максимальных элементов массивов A, B, C размера N_A, N_B, N_C соответственно.
Решение задачи, на языке: Паскаль
Param3. Описать процедуру NMiNMax(A, N, NMin, NMax), находящую номера минимального и максимального элемента вещественного массива A размера N. Выходные параметры целого типа: NMin (номер минимального элемента) и NMax (номер максимального элемента). С помощью этой процедуры найти номера минимальных и максимальных элементов массивов A, B, C размера N_A, N_B, N_C соответственно.
Решение задачи, на языке: Паскаль
Param4. Описать процедуру Invert(A, N), меняющую порядок следования элементов вещественного массива A размера N на противоположный (инвертирование массива). Массив A является входным и выходным параметром. С помощью этой процедуры инвертировать массивы A, B, C размера N_A, N_B, N_C соответственно.
Решение задачи, на языке: Паскаль
Param5. Описать процедуру Smooth_1(A, N), выполняющую сглаживание вещественного массива A размера N следующим образом: элемент A_K заменяется на среднее арифметическое первых K исходных элементов массива A. Массив A является входным и выходным параметром. С помощью этой процедуры выполнить пятикратное сглаживание данного массива A размера N, выводя результаты каждого сглаживания.
Решение задачи, на языке: Паскаль
Param6. Описать процедуру Smooth_2(A, N), выполняющую сглаживание вещественного массива A размера N следующим образом: элемент A_1 не изменяется, элемент A_K (K=2,…, N) заменяется на полусумму исходных элементов A_{K-1} и A_K. Массив A является входным и выходным параметром. С помощью этой процедуры выполнить пятикратное сглаживание данного массива A размера N, выводя результаты каждого сглаживания.
Решение задачи, на языке: Паскаль
Param7. Описать процедуру Smooth_3(A, N), выполняющую сглаживание вещественного массива A размера N следующим образом: каждый элемент массива заменяется на его среднее арифметическое с соседними элементами (при вычислении среднего арифметического используются исходные значения соседних элементов). Массив A является входным и выходным параметром. С помощью этой процедуры выполнить пятикратное сглаживание данного массива A размера N, выводя результаты каждого сглаживания.
Решение задачи, на языке: Паскаль
Param8. Описать процедуру RemoveX(A, N, X), удаляющую из целочисленного массива A размера N элементы, равные целому числу X. Массив A и число N являются входными и выходными параметрами. С помощью этой процедуры удалить числа X_A, X_B, X_C из массивов A, B, C размера N_A, N_B, N_C соответственно и вывести размер и содержимое полученных массивов.
Решение задачи, на языке: Паскаль
Param9. Описать процедуру RemoveForIN_C(A, N), удаляющую из вещественного массива A размера N «лишние» элементы так, чтобы оставшиеся элементы оказались упорядоченными по возрастанию: первый элемент не удаляется, второй элемент удаляется, если он меньше первого, третий — если он меньше предыдущего элемента, оставленного в массиве, и т. д. Например, массив 5.5, 2.5, 4.6, 7.2, 5.8, 9.4 должен быть преобразован к виду 5.5, 7.2, 9.4. Массив A и число N являются входными и выходными параметрами. С помощью этой процедуры преобразовать массивы A, B, C размера N_A, N_B, N_C соответственно и вывести размер и содержимое полученных массивов.
Решение задачи, на языке: Паскаль
Param10. Описать процедуру DoubleX(A, N, X), дублирующую в целочисленном массиве A размера N элементы, равные целому числу X. Массив A и число N являются входными и выходными параметрами. С помощью этой процедуры продублировать числа X_A, X_B, X_C в массивах A, B, C размера N_A, N_B, N_C соответственно и вывести размер и содержимое полученных массивов.
Решение задачи, на языке: Паскаль
Param11. Описать процедуру Sort(A, N), выполняющую сортировку по возрастанию вещественного массива A размера N. Массив A является входным и выходным параметром. С помощью этой процедуры отсортировать массивы A, B, C размера N_A, N_B, N_C соответственно.
Решение задачи, на языке: Паскаль
Param12. Описать процедуру SortIndex(A, N, I), формирующую для вещественного массива A размера N индексный массив I. — массив целых чисел того же размера, содержащий номера элементов массива A в том порядке, который соответствует возрастанию элементов массива A (сам массив A при этом не изменяется). Индексный массив I. является выходным параметром. С помощью этой процедуры создать индексные массивы для массивов A, B, C размера N_A, N_B, N_C соответственно.
Решение задачи, на языке: Паскаль
Param13. Описать процедуру Bell(A, N), меняющую порядок элементов вещественного массива A размера N на следующий: наименьший элемент массива располагается на первом месте, наименьший из оставшихся элементов — на последнем, следующий по величине располагается на втором месте, следующий — на предпоследнем и т. д. (в результате график значений элементов будет напоминать колокол). Массив A является входным и выходным параметром. С помощью этой процедуры преобразовать массивы A, B, C размера N_A, N_B, N_C соответственно.
Решение задачи, на языке: Паскаль
Param14. Описать процедуру Split1(A, N_A, B, N_B, C, N_C), формирующую по вещественному массиву A размера N_A два вещественных массива B и C размера N_B и N_C соответственно; при этом массив B содержит все элементы массива A с нечетными порядковыми номерами (1, 3,…), а массив C — все элементы массива A с четными номерами (2, 4,…). Массивы B и C и числа N_B и N_C являются выходными параметрами. Применить эту процедуру к данному массиву A размера N_A и вывести размер и содержимое полученных массивов B и C.
Решение задачи, на языке: Паскаль
Param15. Описать процедуру Split2(A, N_A, B, N_B, C, N_C), формирующую по целочисленному массиву A размера N_A два целочисленных массива B и C размера N_B и N_C соответственно; при этом массив B содержит все четные числа из массива A, а массив C — все нечетные числа (в том же порядке). Массивы B и C и числа N_B и N_C являются выходными параметрами. Применить эту процедуру к данному массиву A размера N_A и вывести размер и содержимое полученных массивов B и C.
Решение задачи, на языке: Паскаль
Param16. Описать процедуру ArrayToMatrix1(A, K, M, N, B), формирующую по вещественному массиву A размера K матрицу B размера M \times N (матрица заполняется элементами массива A по строкам). «Лишние» элементы массива игнорируются; если элементов массива недостаточно, то оставшиеся элементы матрицы полагаются равными 0. Двумерный массив B является выходным параметром. С помощью этой процедуры на основе данного массива A размера K и целых чисел M и N сформировать матрицу B размера M \times N.
Решение задачи, на языке: Паскаль
Param17. Описать процедуру ArrayToMatrix2(A, K, M, N, B), формирующую по вещественному массиву A размера K матрицу B размера M \times N (матрица заполняется элементами массива A по столбцам). «Лишние» элементы массива игнорируются; если элементов массива недостаточно, то оставшиеся элементы матрицы полагаются равными 0. Двумерный массив B является выходным параметром. С помощью этой процедуры на основе данного массива A размера K и целых чисел M и N сформировать матрицу B размера M \times N.
Решение задачи, на языке: Паскаль
Param18. Описать процедуру Chessboard(M, N, A), формирующую по целым положительным числам M и N матрицу A размера M \times N, которая содержит числа 0 и 1, расположенные в «шахматном» порядке, причем A_{1,1}=0. Двумерный целочисленный массив A является выходным параметром. С помощью этой процедуры по данным целым числам M и N сформировать матрицу A размера M \times N.
Решение задачи, на языке: Паскаль
Param19. Описать функцию Norm1(A, M, N) вещественного типа, вычисляющую норму вещественной матрицы A размера M \times N: Norm1(A, M, N)=max {|A_{1,J}|+|A_{2,J}| +…+ |A_{M,J}|}, где максимум берется по всем J от 1 до N. Для данной матрицы A размера M \times N найти Norm1(A, K, N), K=1,…, M.
Решение задачи, на языке: Паскаль
Param20. Описать функцию Norm2(A, M, N) вещественного типа, вычисляющую норму вещественной матрицы A размера M \times N: Norm2(A, M, N)=max {|A_{I,1}|+|A_{I,2}| +…+ |A_{I,N}|}, где максимум берется по всем I. от 1 до M. Для данной матрицы A размера M \times N найти Norm2(A, K, N), K=1,…, M.
Решение задачи, на языке: Паскаль
Param21. Описать функцию SumRow(A, M, N, K) вещественного типа, вычисляющую сумму элементов вещественной матрицы A размера M \times N, расположенных в K-й строке (если K>M, то функция возвращает 0). Для данной матрицы A размера M \times N и трех данных K найти SumRow(A, M, N, K).
Решение задачи, на языке: Паскаль
Param22. Описать функцию SumCol(A, M, N, K) вещественного типа, вычисляющую сумму элементов вещественной матрицы A размера M \times N, расположенных в K-м столбце (если K>N, то функция возвращает 0). Для данной матрицы A размера M \times N и трех данных K найти SumCol(A, M, N, K).
Решение задачи, на языке: Паскаль
Param23. Описать процедуру SwapRow(A, M, N, K_1, K_2), осуществляющую перемену местами строк вещественной матрицы A размера M \times N с номерами K_1 и K_2. Матрица A является входным и выходным параметром; если K_1 или K_2 больше M, то матрица не изменяется. Используя эту процедуру, поменять для данной матрицы A размера M \times N строки с данными номерами K_1 и K_2.
Решение задачи, на языке: Паскаль
Param24. Описать процедуру SwaP_Col(A, M, N, K_1, K_2), осуществляющую перемену местами столбцов вещественной матрицы A размера M \times N с номерами K_1 и K_2. Матрица A является входным и выходным параметром; если K_1 или K_2 больше N, то матрица не изменяется. Используя эту процедуру, поменять для данной матрицы A размера M \times N столбцы с данными номерами K_1 и K_2.
Решение задачи, на языке: Паскаль
Param25. Описать процедуру Transp(A, M), выполняющую транспонирование (то есть зеркальное отражение относительно главной диагонали) квадратной вещественной матрицы A порядка M. Матрица A является входным и выходным параметром. Используя эту процедуру, транспонировать данную матрицу A порядка M.
Решение задачи, на языке: Паскаль
Param26. Описать процедуру RemoveRows(A, M, N, K_1, K_2), удаляющую из вещественной матрицы A размера M \times N строки с номерами от K_1 до K_2 включительно (предполагается, что 1 < K_1 \le K_2). Если K_1>M, то матрица не изменяется; если K_2>M, то удаляются строки матрицы с номерами от K_1 до M. Двумерный массив A и числа M, N являются входными и выходными параметрами. Используя процедуру RemoveRows, удалить из данной матрицы A размера M \times N строки с номерами от K_1 до K_2 и вывести размер полученной матрицы и ее элементы.
Решение задачи, на языке: Паскаль
Param27. Описать процедуру RemoveCols(A, M, N, K_1, K_2), удаляющую из вещественной матрицы A размера M \times N столбцы с номерами от K_1 до K_2 включительно (предполагается, что 1 < K_1 \le K_2). Если K_1>N, то матрица не изменяется; если K_2>N, то удаляются столбцы матрицы с номерами от K_1 до N. Двумерный массив A и числа M, N являются входными и выходными параметрами. Используя процедуру RemoveCols, удалить из данной матрицы A размера M \times N столбцы с номерами от K_1 до K_2 и вывести размер полученной матрицы и ее элементы.
Решение задачи, на языке: Паскаль
Param28. Описать процедуру RemoveRowCol(A, M, N, K, L), удаляющую из вещественной матрицы A размера M \times N строку и столбец, которые содержат элемент A_{K,L} (предполагается, что M>1 и N>1; если K>M или L>N, то матрица не изменяется). Двумерный массив A и числа M, N являются входными и выходными параметрами. Дана матрица A размера M \times N и числа K, L. Применить к матрице A процедуру RemoveRowCol и вывести размер полученной матрицы и ее элементы.
Решение задачи, на языке: Паскаль
Param29. Описать процедуру SortCols(A, M, N), выполняющую сортировку по возрастанию столбцов целочисленной матрицы A размера M \times N (столбцы сравниваются лексикографически: если первые элементы столбцов различны, то меньшим считается столбец, содержащий меньший первый элемент; если первые элементы столбцов равны, то анализируются их вторые элементы и т. д.). Двумерный массив A является входным и выходным параметром. Используя процедуру SortCols, отсортировать столбцы данной матрицы A размера M \times N.
Решение задачи, на языке: Паскаль
Строки
Param30. Описать функцию IsIdent(S) целого типа, проверяющую, является ли строка S допустимым идентификатором, то есть непустой строкой, которая содержит только латинские буквы, цифры и символ подчеркивания «_» и не начинается с цифры. Если S является допустимым идентификатором, то функция возвращает 0. Если S является пустой строкой, то возвращается -1, если S начинается с цифры, то возвращается -2. Если S содержит недопустимые символы, то возвращается номер первого недопустимого символа. Проверить с помощью функции IsIdent пять данных строк.
Решение задачи, на языке: Паскаль
Param31. Описать функцию FillStr(S, N) строкового типа, возвращающую строку длины N, заполненную повторяющимися копиями строки-шаблона S (последняя копия строки-шаблона может входить в результирующую строку частично). Используя эту функцию, сформировать по данному числу N и пяти данным строкам-шаблонам пять результирующих строк длины N.
Решение задачи, на языке: Паскаль
Param32. Описать процедуру UP_CaseRus(S), преобразующую все строчные русские буквы строки S в прописные (остальные символы строки S не изменяются). Строка S является входным и выходным параметром. Используя процедуру UP_CaseRus, преобразовать пять данных строк.
Решение задачи, на языке: Паскаль
Param33. Описать процедуру LowCaseRus(S), преобразующую все прописные русские буквы строки S в строчные (остальные символы строки S не изменяются). Строка S является входным и выходным параметром. Используя процедуру LowCaseRus, преобразовать пять данных строк.
Решение задачи, на языке: Паскаль
Param34. Описать процедуру TrimLeftC(S, C), удаляющую в строке S начальные символы, совпадающие с символом C. Строка S является входным и выходным параметром. Дан символ C и пять строк. Используя процедуру TrimLeftC, преобразовать данные строки.
Решение задачи, на языке: Паскаль
Param35. Описать процедуру TrimRightC(S, C), удаляющую в строке S конечные символы, совпадающие с символом C. Строка S является входным и выходным параметром. Дан символ C и пять строк. Используя процедуру TrimRightC, преобразовать данные строки.
Решение задачи, на языке: Паскаль
Param36. Описать функцию InvertStr(S, K, N) строкового типа, возвращающую инвертированную подстроку строки S, содержащую в обратном порядке N символов строки S, начиная с ее K-го символа. Если K превосходит длину строки S, то возвращается пустая строка; если длина строки меньше K+N, то инвертируются все символы строки, начиная с ее K-го символа. Вывести значения функции InvertStr для данной строки S и каждой из трех пар положительных целых чисел: (K_1, N_1), (K_2, N_2), (K_3, N_3).
Решение задачи, на языке: Паскаль
Param37. Описать функцию PosSub(S_0, S, K, N) целого типа, возвращающую номер позиции, начиная с которой в строке S содержится первое вхождение строки S_0, причем анализируются только N символов строки S, начиная с ее K-го символа (таким образом, PosSub обеспечивает поиск в подстроке). Если K превосходит длину строки S, то возвращается 0, если длина строки меньше K+N, то анализируются все символы строки, начиная с ее K-го символа. Если в требуемой подстроке строки S вхождения S_0 отсутствуют, то функция возвращает 0. Вывести значения функции PosSub для данных строк S_0, S и каждой из трех пар положительных целых чисел: (K_1, N_1), (K_2, N_2), (K_3, N_3).
Решение задачи, на языке: Паскаль
Param38. Описать функцию PosLast(S_0, S) целого типа, возвращающую номер позиции, начиная с которой в строке S содержится последнее вхождение подстроки S_0. Считать, что перекрывающихся вхождений подстрок S_0 строка S не содержит. Если в строке S отсутствуют подстроки S_0, то функция возвращает 0. Вывести значения этой функции для пяти данных пар строк S_0 и S.
Решение задачи, на языке: Паскаль
Param39. Описать функцию PosK(S_0, S, K) целого типа, возвращающую номер позиции, начиная с которой в строке S содержится K-е вхождение подстроки S_0 (K>0). Если количество вхождений S_0 в строке S меньше K, то функция возвращает 0. Считать, что перекрывающихся вхождений подстрок S_0 строка S не содержит. Вывести значения этой функции для пяти данных троек: S_0, S и K.
Решение задачи, на языке: Паскаль
Param40. Описать функцию WordK(S, K) строкового типа, возвращающую K-е слово строки S (словом считается набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки). Если количество слов в строке меньше K, то функция возвращает пустую строку. Используя эту функцию, выделить из данной строки S слова с данными номерами K_1, K_2, K_3.
Решение задачи, на языке: Паскаль
Param41. Описать процедуру SplitStr(S, W, N), которая формирует по данной строке S массив W слов, входящих в S (массив W и его размер N являются выходными параметрами). Словом считается набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки; предполагается, что строка S содержит не более 10 слов. Используя функцию SplitStr, найти количество слов N, содержащихся в данной строке S, и сами эти слова.
Решение задачи, на языке: Паскаль
Param42. Описать функцию CompressStr(S) строкового типа, выполняющую сжатие строки S по следующему правилу: каждая подстрока строки S, состоящая из более чем четырех одинаковых символов C, заменяется текстом вида «С{K}», где K — количество символов C (предполагается, что строка S не содержит фигурных скобок «{» и «}»). Например, для строки S=«bbbccccce» функция вернет строку «bbbc{5}e». С помощью функции CompressStr сжать пять данных строк.
Решение задачи, на языке: Паскаль
Param43. Описать функцию DeCompressStr(S) строкового типа, восстанавливающую строку, сжатую процедурой CompressStr (см. задание Param42). Параметр S содержит сжатую строку; восстановленная строка является возвращаемым значением функции. С помощью функции DeCompressStr восстановить пять данных сжатых строк.
Решение задачи, на языке: Паскаль
Param44. Описать функцию DecToBin(N) строкового типа, возвращающую строковое представление целого неотрицательного числа N в двоичной системе счисления. Результирующая строка состоит из символов «0»-«1» и не содержит ведущих нулей (за исключением представления числа 0). Используя эту функцию, получить двоичные представления пяти данных чисел.
Решение задачи, на языке: Паскаль
Param45. Описать функцию DecToHex(N) строкового типа, возвращающую строковое представление целого неотрицательного числа N в 16-ричной системе счисления. Результирующая строка состоит из символов «0»-«9», «A»-«F» и не содержит ведущих нулей (за исключением представления числа 0). Используя эту функцию, получить 16-ричные представления пяти данных чисел.
Решение задачи, на языке: Паскаль
Param46. Описать функцию BinToDec(S) целого типа, определяющую целое неотрицательное число по его строковому представлению S в двоичной системе счисления. Параметр S имеет строковый тип, состоит из символов «0»-«1» и не содержит ведущих нулей (за исключением значения «0»). Используя эту функцию, вывести пять чисел, для которых даны их двоичные представления.
Решение задачи, на языке: Паскаль
Param47. Описать функцию HexToDec(S) целого типа, определяющую целое неотрицательное число по его строковому представлению S в 16-ричной системе счисления. Параметр S имеет строковый тип, состоит из символов «0»-«9», «A»-«F» и не содержит ведущих нулей (за исключением значения «0»). Используя эту функцию, вывести пять чисел, для которых даны их 16-ричные представления.
Решение задачи, на языке: Паскаль
Файлы
Param48. Описать функцию IntFileSize(S) целого типа, возвращающую количество элементов в файле целых чисел с именем S. Если файл не существует, то функция возвращает -1. С помощью этой функции найти количество элементов в трех файлах с данными именами.
Решение задачи, на языке: Паскаль
Param49. Описать функцию LineCount(S) целого типа, возвращающую количество строк в текстовом файле с именем S. Если файл не существует, то функция возвращает -1. С помощью этой функции найти количество строк в трех файлах с данными именами.
Решение задачи, на языке: Паскаль
Param50. Описать процедуру InvertIntFile(S), меняющую порядок следования элементов файла целого типа с именем S на противоположный. Если файл не существует или содержит менее двух элементов, то процедура не выполняет никаких действий. Обработать с помощью этой процедуры три файла с данными именами.
Решение задачи, на языке: Паскаль
Param51. Описать процедуру AddLineNumbers(S, N, K, L), добавляющую в начало каждой строки существующего текстового файла с именем S ее порядковый номер: первая строка получает номер N, вторая — N+1 и т. д. Номер отображается в K позициях, выравнивается по правому краю и отделяется от последующего текста L пробелами (K>0, L>0). Если строка файла является пустой, то она также нумеруется, но пробелы после номера не добавляются. Применить эту процедуру к данному файлу, используя указанные значения N, K и L.
Решение задачи, на языке: Паскаль
Param52. Описать процедуру RemoveLineNumbers(S), удаляющую из начала каждой строки существующего текстового файла с именем S ее порядковый номер, добавленный процедурой AddLineNumbers (см. задание Param51), а также пробелы, отделяющие номер от последующего текста. Если строки не содержат номеров, то процедура не выполняет никаких действий. Применить эту процедуру к файлу с данным именем.
Решение задачи, на языке: Паскаль
Param53. Описать процедуру SplitIntFile(S_0, K, S_1, S_2), копирующую первые K (\ge0) элементов существующего файла целых чисел с именем S_0 в новый файл целых чисел с именем S_1, а остальные элементы — в новый файл целых чисел с именем S_2. Один из созданных файлов может остаться пустым. Применить эту процедуру к файлу с данным именем S_0, используя указанные значения K, S_1 и S_2.
Решение задачи, на языке: Паскаль
Param54. Описать процедуру SplitText(S_0, K, S_1, S_2), копирующую первые K (\ge0) строк существующего текстового файла с именем S_0 в новый текстовый файл с именем S_1, A остальные строки — в новый текстовый файл с именем S_2. Один из созданных файлов может остаться пустым. Применить эту процедуру к файлу с данным именем S_0, используя указанные значения K, S_1 и S_2.
Решение задачи, на языке: Паскаль
Param55. Описать процедуру StringFileToText(S), преобразующую двоичный строковый файл с именем S в текстовый файл с тем же именем. Используя эту процедуру, преобразовать два данных строковых файла с именами S_1 и S_2 в текстовые.
Решение задачи, на языке: Паскаль
Param56. Описать процедуру TextToStringFile(S), преобразующую текстовый файл с именем S в двоичный строковый файл с тем же именем. Используя эту процедуру, преобразовать два данных текстовых файла с именами S_1 и S_2 в строковые.
Решение задачи, на языке: Паскаль
Param57. Описать процедуру EN_CodeText(S, K), которая шифрует текстовый файл с именем S, выполняя циклическую замену каждой русской буквы на букву того же регистра, расположенную в алфавите на K-й позиции после шифруемой буквы (0<K<10). Например, при K=3 «А» перейдет в «Г», «я» — в «в». Букву «ё» в алфавите не учитывать, считая, что за буквой «е» сразу идет «ж». Символы, не являющиеся русскими буквами, при шифровании не изменять. Используя эту процедуру и зная кодовое смещение K, зашифровать файл с указанным именем.
Решение задачи, на языке: Паскаль
Param58. Описать процедуру DecodeText(S, K), которая дешифрует текстовый файл с именем S, зашифрованный с использованием кодового смещения K (способ шифрования описан в задании Param57). Используя эту процедуру и зная кодовое смещение K, расшифровать файл с указанным именем.
Решение задачи, на языке: Паскаль
Записи
При вводе и выводе каждой даты в заданиях Param59-Param63 вначале указывается день, затем номер месяца, затем год. При вводе каждой точки в заданиях Param64-Param70 вначале указывается ее абсцисса (x-координата), затем ее ордината (y-координата).
Param59. Описать тип TDate — запись с полями целого типа Day (день), Month (месяц) и Year (год) — и функцию LeaP_Year(D) логического типа с параметром типа TDate, которая возвращает True, если год в дате D является високосным, и False в противном случае. Вывести значение функции LeaP_Year для пяти данных дат (предполагается, что все даты являются правильными). Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400.
Решение задачи, на языке: Паскаль
Param60. Используя тип TDate и функцию LeaP_Year (см. задание Param59), описать функцию DaysInMonth(D) целого типа с параметром типа TDate, которая возвращает количество дней для месяца, указанного в дате D. Вывести значение функции DaysInMonth для пяти данных дат (предполагается, что все даты являются правильными).
Решение задачи, на языке: Паскаль
Param61. Используя тип TDate и функцию DaysInMonth (см. задания Param59 и Param60), описать функцию CheckDate(D) целого типа с параметром типа TDate, которая проверяет правильность даты, указанной в параметре D. Если дата D является правильной, то функция возвращает 0; если в дате указан неверный номер месяца, то функция возвращает 1; если в дате указан неверный день для данного месяца, то возвращается 2. Вывести значение функции CheckDate для пяти данных дат.
Решение задачи, на языке: Паскаль
Param62. Используя тип TDate и функции DaysInMonth и CheckDate (см. задания Param59-Param61), описать процедуру PrevDate (D) с параметром типа TDate, которая преобразует дату D к предыдущей дате (если дата D является неправильной, то она не изменяется). Запись D является входным и выходным параметром. Применить процедуру PrevDate к пяти данным датам.
Решение задачи, на языке: Паскаль
Param63. Используя тип TDate и функции DaysInMonth и CheckDate (см. задания Param59-Param61), описать процедуру NexTDate(D) с параметром типа TDate, которая преобразует дату D к следующей дате (если дата D является неправильной, то она не изменяется). Запись D является входным и выходным параметром. Применить процедуру NexTDate к пяти данным датам.
Решение задачи, на языке: Паскаль
Param64. Описать тип TPoint — запись с полями вещественного типа X и Y (координаты точки на плоскости) — и функцию Leng(A, B) вещественного типа, находящую длину отрезка AB на плоскости по координатам его концов: |AB|=\sqrt{(A.X-B.X)^2+(A.Y-B.Y)^2} . (A и B — параметры типа TPoint). С помощью этой функции найти длины отрезков AB, AC, AD, если даны координаты точек A, B, C, D.
Решение задачи, на языке: Паскаль
Param65. Используя тип TPoint и функцию Leng (см. задание Param64), описать тип TTriangle — запись с полями A, B, C типа TPoint (вершины треугольника) — и функцию Perim(T) вещественного типа, находящую периметр треугольника T (T — параметр типа TTriangle). С помощью этой функции найти периметры треугольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.
Решение задачи, на языке: Паскаль
Param66. Используя типы TPoint, TTriangle и функции Leng и Perim (см. задания Param64 и Param65), описать функцию Area(T) вещественного типа, находящую площадь треугольника T (T — параметр типа TTriangle) по формуле Герона: S_{ABC}=\sqrt{p*(p-|AB|)*(p-|AC|)*(p-|BC|)}, где p — полупериметр. С помощью этой функции найти площади треугольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.
Решение задачи, на языке: Паскаль
Param67. Используя типы TPoint, TTriangle и функции Leng и Area (см. задания Param64-Param66), описать функцию Dist(P, A, B) вещественного типа (P, A, B — параметры типа TPoint), находящую расстояние D(P, AB) от точки P до прямой AB по формуле D(P, AB)=2*S_{PAB}/|AB|, где S_PAB — площадь треугольника PAB. С помощью этой функции найти расстояния от точки P до прямых AB, AC, BC, если даны координаты точек P, A, B, C.
Решение задачи, на языке: Паскаль
Param68. Используя типы TPoint, TTriangle и функцию Dist (см. задания Param64, Param65, Param67), описать процедуру Heights(T, h_1, h_2, h_3), находящую высоты h_1, h_2, h_3 треугольника T (T — входной параметр типа TTriangle, h_1, h_2, h_3 — выходные вещественные параметры), проведенные соответственно из вершин T.A, T.B, T.C. С помощью этой процедуры найти высоты треугольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.
Решение задачи, на языке: Паскаль
Param69. Используя тип TPoint и функцию Leng (см. задание Param64), описать функцию PerimN(P, N) вещественного типа, находящую периметр N-угольника, вершины которого (в порядке их обхода) передаются в массиве p размера N (>2) с элементами типа TPoint. С помощью этой функции найти периметры трех многоугольников, если дано число их сторон и координаты их вершин.
Решение задачи, на языке: Паскаль
Param70. Используя типы TPoint, TTriangle и функцию Area (см. задания Param64-Param66), описать функцию AreaN(P, N) вещественного типа, находящую площадь выпуклого N-угольника, вершины которого (в порядке их обхода) передаются в массиве p размера N (>2) с элементами типа TPoint. С помощью этой функции найти площади трех многоугольников, если дано число их сторон и координаты их вершин.
Решение задачи, на языке: Паскаль
Если вы хотите выложить решение для задач, но нет решения на нужном языке, или вообще к задаче нет решений. Можете разместить его в виде комментария к данной статье.
Другие задачи по программированию, для проверки своих знаний.
pls can you help with this problem using c++ language, though its familiar with param5 on your page.
Write a procedure Smooth1(A, N) that performs smoothing an array A of N real numbers as follows: each element AK is replaced with the average of initial values of K first elements of the given array A. The array A is an input and output parameter. Using five calls of this procedure, perform smoothing a given array A of N real numbers five times successively; out-put array elements after each smoothing.