В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
nikitacRon
nikitacRon
26.05.2020 17:06 •  Информатика

Информация что мне не надо тип доклад
например :
мне не надо знать сколько людей болеют короновирусом

Показать ответ
Ответ:
sssooonnnyyyaaa1
sssooonnnyyyaaa1
10.04.2021 12:03
Кортеж (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.
0,0(0 оценок)
Ответ:
romankomarov1
romankomarov1
23.01.2021 15:56
Определение через род и видовое отличие состоит из двух понятий: определяемого и определяющего, а сама операция включает в , себя два приема: 1) подведение определяемого понятия под более широкое по объему родовое понятие (род) и 2) указание видового отличия, т.е. признака, отличающего определяемый предмет (вид этого рода) от других видов, входящих в данный род. Например:«Чеком признается ценная бумага, содержащая ничем не обусловленное письменное распоряжение чекодателя банку уплатить держателю чека указанную в нем сумму». Здесь определяемое понятие «чек» является видом родового понятия «ценная бумага», которое содержит некоторые признаки понятия «чек»; остальная часть определения – видовое отличие – отличает чек от облигации, векселя, акции и других документов, выпускаемых в соответствии с законодательством в качестве ценных бумаг'.Определение через род и видовое отличие выражается символически: А=Вс, где А – определяемое понятие, Be – определяющее понятие (В – род, с – видовое отличие). Или: Dfd = Dfn, где = – знак эквивалентности.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота