1.найти сумму и среднее значение элементов под главной диагональю (pascal) 2.составить программу нахождения суммы всех отрицательных элементов двумерного массива(скласти програму знаходження суми всіх від*ємних елементів двовимірного масиву) (pascal)
102
119
Ответы на вопрос:
Кортеж (tuple) - последовательный набор данных фиксированной длины. данные в кортеже могут быть разного типа, их количество обычно невелико (в pascal abc.net 3 - максимум 7). важно, что кортеж создается на этапе компиляции, поэтому его структура неизменна. данные в кортеже нельзя редактировать - они доступны только на чтение. внешне кортеж выглядит как список. например, список аргументов у функции или процедуры. и запись (record) в паскале - тоже своего рода кортеж. кортежи могут быть весьма полезны. например, в паскале обычно функция возвращает некоторое значение. а если надо, к примеру, два? процедуру делать? кортеж решает эту проблему. ниже пример работающей программы на pascalabc.net 3.3. напомню, что идентификаторы в программе могут содержать символы unicode из любых алфавитных наборов, поэтому имена переменных написаны кириллицей. function divmod(a,b: integer): =(a div b,a mod b); begin var (делимое,делитель): =readinteger2('делимое и делитель: '); var (частное,остаток): =divmod(делимое,делитель); writeln('частное = ',частное,', остаток = ',остаток) end. пример делимое и делитель: 356432 242 частное = 1472, остаток = 208 пример демонстрирует возможности, которые открывают кортежи. функция divmod возвращает кортеж из двух элементов. кортежу она состоит из единственного оператора и это позволило записать её в одну строку. содержимое кортежа определяется заданными выражениями, их тип - типом результата (integer). readinteger2 - это функция, возвращающая кортеж из двух элементов типа integer, принятых с клавиатуры. левая часть оператора присваивания var (делимое,делитель): = реализует так называемое кортежное присваивание. (делимое,делитель) - это запись кортежа, поскольку перечисление находится в круглых скобках. но именно в таком употреблении это одновременно две различные переменные, которым будет присвоено значение элементов кортежа. кортеж в правой части "распаковывается" так, что значение первого элемента кортежа попадает в первую переменную, а второе - во вторую. в результате оказалось достаточно одного оператора, заменяющего три: var делимое,делитель: integer; write('делимое и делитель: '); read(делимое,делитель); еще одно кортежное присваивание var (частное,остаток): =divmod(делимое,делитель); создает две переменные типа integer и распаковывает в них кортеж, возвращаемый функцией divmod. и только процедура вывода writeln() написана без кортежа. чтобы показать, как можно использовать элементы кортежа без распаковки, пример запишем иначе. function divmod(a,b: integer): =(a div b,a mod b); begin var (делимое,делитель): =readinteger2('делимое и делитель: '); var t: =divmod(делимое,делитель); writeln('частное = ',t[0],', остаток = ',t[1]) end. здесь t - кортеж типа (integer,integer). присваивание одного кортежа другому делается обычным способом. в обращении к элементам кортежа мы пользуемся синтаксисом, принятым для элементов массива, индексированных от нуля. понятно, что в кратком ответе невозможно описать все, что языку программирования кортежи. закончить хочу примером того, как кортеж позволят обменять местами значения двух переменных: (a,b): =(b,a); и, поскольку вы раньше задавали вопрос о лямбдах -вот она: begin var divmod: (integer,integer)-> (integer,integer): =(a,b)-> (a div b,a mod b); var (делимое,делитель): =readinteger2('делимое и делитель: '); var t: =divmod(делимое,делитель); writeln('частное = ',t[0],', остаток = ',t[1]) end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
susannamuratov131.03.2022 18:51
-
sagizovtoshtemi24.12.2020 23:20
-
hat345oxt28803.07.2022 22:11
-
мария208125.05.2022 07:46
-
vasilevamarin04.11.2020 11:35
-
liza023422.06.2020 11:12
-
лёванчик22811.05.2020 22:38
-
берик719.04.2022 23:01
-
Tupa1otdihayu01.06.2023 21:34
-
User528107.04.2020 16:31
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.