М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Машуня55
Машуня55
27.02.2023 03:27 •  Информатика

(pascal)что значат
tostring.toarray.
convertall(ch-> ch.todigit)
a.println
$ в начале строки

заранее ❤️

👇
Ответ:
DEADK1NG
DEADK1NG
27.02.2023

Объяснение:

Это методы языка PascalABC.NET. Они часто строятся в цепочку, соединяясь точками и тогда результат работы одного передается другому.

Вы привели код неполностью. ToString - это метод (не знаете что это, считайте что функция), который преобразует то, что стоит перед ним в строку символов. Например, если написать 13524703.ToString, на выходе получится строка '13524703'. Надеюсь, Вы понимаете, чем строка отличается от числа'.

ToString.ToArray передаст созданную строку методу ("функции") ToArray. Она разделит строку на отдельные символы и создаст из них массив нужного размера. В первый элемент массива попадет первый символ строки, во второй - второй и т.д. И мы получим (для нашего примера) массив из 8 элементов, содержащий символы '1', '3', '5', '2', '4', '7', '0', '3'.

Метод ConvertAll преобразует все элементы массива по указанному правилу и строит новый массив. В качестве правила казано так называемая лямбда-функция (не знаете что это - и не заморачивайтесь). Важно понимать суть. Суть такова, что каждый элемент, который условно тут назвали именем ch, преобразуется посредством ch.ToDigit, т.е. переводится из символа в однозначное число. И в результате мы получим массив, каждый элемент которого будет цифрой исходного числа (1, 3, 5, 2, 4, 7, 0, 3). С ними уже можно работать как с числами.

Итак вся цепочка

'13524703'.ToString.ToArray.ConvertAll(ch->ch.ToDigit) породила массив типа integer, содержащий в каждом элементе цифру исходного числа.

Теперь A.Println. Это тоже метод. Можно писать Writeln(A), Println(A) или A.Println. Для простых переменных любого типа разницы нет. Но есть для массивов. В PascalABC.NET можно вывести сразу целиком массив. Только Writeln(A), Println(A) выведут содержимое в квадратных скобках и через запятую [1,3,5,2,4,7,0,3], а A.Print - через пробел:

1 3 5 2 4 7 0 3

$ в начале строки - это надо строку смотреть. А вот еще есть конструкция, когда $ стоит перед строкой, т.е. $'тут что-то'.

Такая замечательнвя вещь притопала из языка C# и называется интерполированная строка. Незаменимая вещь для красивого вывода!

В общем пишем так: $'{a} бит = {a/8/1024} Кбайт' и не паримся: все, что в фигурных скобках написано, будет вычислено и встроено в строку.

Нужны еще подробности - спрашивай!

4,7(91 оценок)
Ответ:
ehot2004
ehot2004
27.02.2023

ToString:

(http://pascalabc.net/stati-po-pascalabc-net/osobennosti-yazika/17-vse-tipy-klassy)

а вообще это метод, который переводит число (целое и дробное) в строковую переменную. я например такое часто использую для отладки - вывожу значение переменной в заголовок окна

window.caption:=i.tostring;  

ToArray:

(ссылки на точное объяснение нет)

"мне нужно каждую цифру в отдельный элемент массива" "типа Integer"  

 

var s:string; a:array[1..255]of integer; j,n:integer;  

begin  

write('string? '); readln(s); n:=length(s);  

for j:=1 to n do a[j]:=ord(s[j])-48;  

for j:=1 to n do write(a[j]:2); readln  

end.

ConvertAll(ch->ch.ToDigit):

Всё, что нашёл - (http://www.cyberforum.ru/pascalabc-net/thread2536389.html)

A.Println:

print - такого нет, есть write/writeln

$ в начале строки:

Вообще не знаю, что это такое ¯\_(ツ)_/¯

4,6(17 оценок)
Открыть все ответы
Ответ:

0, 1, 2, 3, 4, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34, 40, 41, 42, 43, 44, 100, 101, 102, 103, 104, 110, 111, 112, 113, 114, 120, 121, 122, 123, 124, 130, 131, 132, 133, 134, 140, 141, 142, 143, 144, 200, 201, 202, 203, 204, 210, 211, 212, 213, 214, 220, 221, 222, 223, 224, 230, 231, 232, 233, 234, 240, 241, 242, 243, 244, 300, 301, 302, 303, 304, 310, 311, 312, 313, 314, 320, 321, 322, 323, 324, 330, 331, 332, 333, 334, 340, 341, 342, 343, 344, 400, 401, 402, 403, 404, 410, 411, 412, 413, 414, 420, 421, 422, 423, 424, 430, 431, 432, 433, 434, 440, 441, 442, 443, 444, 1000, 1001, 1002, 1003, 1004, 1010, 1011, 1012, 1013, 1014, 1020, 1021, 1022, 1023, 1024, 1030, 1031, 1032, 1033, 1034, 1040, 1041, 1042, 1043, 1044, 1100, 1101, 1102, 1103, 1104, 1110, 1111, 1112, 1113, 1114, 1120, 1121, 1122, 1123, 1124, 1130, 1131, 1132, 1133, 1134, 1140, 1141, 1142, 1143, 1144, 1200, 1201, 1202, 1203, 1204, 1210, 1211, 1212, 1213, 1214, 1220, 1221, 1222, 1223, 1224, 1230, 1231, 1232, 1233, 1234, 1240, 1241, 1242, 1243, 1244, 1300, 1301, 1302, 1303, 1304, 1310, 1311, 1312, 1313, 1314, 1320, 1321, 1322, 1323, 1324, 1330, 1331, 1332, 1333, 1334, 1340, 1341, 1342, 1343, 1344, 1400, 1401, 1402, 1403, 1404, 1410, 1411, 1412, 1413, 1414, 1420, 1421, 1422, 1423, 1424, 1430, 1431, 1432, 1433, 1434, 1440, 1441, 1442, 1443, 1444, 2000, 2001, 2002, 2003, 2004, 2010

4,5(93 оценок)
Ответ:
poli36914
poli36914
27.02.2023
2
Запишите десятичное число.
преобразуем десятичное число 98 в восьмеричное число.

3
Запишите степени 8. Запомните: в десятичной системе определенный разряд числа соответствует 10 в соответствующей степени. Например, есть разряд единиц, десятков и сотен. Вы можете указать эти разряды так: 100, 101, 102. В восьмеричной системе разряды числа соответствуют 8 в определенной степени. Запишите несколько разрядов в виде 8 в соответствующей степени, начиная с наибольшей. Обратите внимание, что эту запись вы делаете в десятичной системе счисления:
82 81 80
Возведите в степень:
64 8 1
Здесь мы ограничились 82, потому что 83 = 512, а это число больше данного нам числа (98), что противоречит правилам описываемого метода.

4
Разделите десятичное число на 8 в наибольшей степени. Нам дано число 98. В нем девять десятков, так как цифра 9 стоит в разряде десятков. Для преобразования числа в восьмеричную систему необходимо выяснить, сколько в нем 64; для этого разделите 98 на 64. Запишите операцию деления следующим образом:[2]
98
÷
64 8 1
=
1 ← - это первая цифра конечного восьмеричного числа.

5
Найдите остаток, если числа не делятся нацело. Запишите остаток в первой строке, но во втором столбце. В нашем примере: 98 ÷ 64 = 1 с остатком 34 (98 - 64 = 34).
98 34
÷
64 8 1
=
1

6
Разделите остаток на 8 в следующей по значению степени. То есть понизьте степень на единицу. Разделите остаток на полученное число; результат запишите во втором столбце.
98 34
÷ ÷
64 8 1
= =
1 4

7
Повторяйте описанный процесс до тех пор, пока не найдете окончательный ответ. Находите остаток и записывайте его в первой строке, но в новом столбце. Делите и находите остаток до тех пор, пока вы не разделите результат предыдущего деления на 80. В самой нижней строке вы получите число в восьмеричной системе счисления. Вот процесс вычисления в нашем примере (обратите внимание, что 2 — это остаток от 34 ÷ 8):
98 34 2
÷ ÷ ÷
64 8 1
= = =
1 4 2
ответ: 98 (в десятичной системе) = 142 (в восьмеричной системе). Вы можете записать ответ так: 9810 = 1428

8
Проверьте ответ. Для этого умножьте каждую цифру восьмеричного числа на 8 в соответствующей степени и сложите полученные результаты. В нашем примере:
2 x 80 = 2 x 1 = 2
4 x 81 = 4 x 8 = 32
1 x 82 = 1 x 64 = 64
2 + 32 + 64 = 98 — вы получили число, данное первоначально.

9
Решите следующую задачу: преобразуйте десятичное число 327 в восьмеричное. Получив ответ, выделите скрытый текст ниже, чтобы увидеть правильное решение.
Выделите пустые строки:
327 7 7
÷ ÷ ÷
64 8 1
= = =
5 0 7
ответ: 507.
(Кстати: в результате деления одного числа на другое вполне может получиться 0.)

Метод 2 из 2:
Остатки
Править

1
Возьмите любое десятичное число. Например, рассмотрим десятичное число 670.
При этого метода вы быстрее преобразуете десятичное число в восьмеричное, но его сложно понять (если это ваш случай, пользуйтесь методом 1).

2
Разделите десятичное число на 8. Сейчас игнорируйте десятичные значения. Мы покажем вам, насколько прост такой процесс вычисления.
В нашем примере: 670 ÷ 8 = 83.

3
Найдите остаток. Вы нашли, сколько 8 в данном вам числе, поэтому остаток — это цифра, которая записывается первой справа (разряд 80) в восьмеричном числе. Запомните: остаток всегда меньше 8.[3]
В нашем примере: 670 ÷ 8 = 83, остаток 6.
На данном этапе восьмеричное число имеет вид ???6.
Если в вашем калькуляторе есть функция (кнопка) mod, найдите это значение, нажав 670 mod 8.

4
Разделите результат предыдущего деления на 8. Забудьте про остаток и разделите результат предыдущего деления на 8. Запишите ответ и найдите остаток. Цифра остатка запишется второй справа (разряд 81 = 8) в восьмеричном числе.
В нашем примере результат предыдущего деления равен 83.
83 ÷ 8 = 10 остаток 3.
На данном этапе восьмеричное число имеет вид ??36.

5
Опять разделите результат предыдущего деления на 8. Запишите ответ и найдите остаток. Цифра остатка запишется третьей справа (разряд 82 = 64) в восьмеричном числе.
В нашем примере результат предыдущего деления равен 10.
10 ÷ 8 = 1 остаток 2.
На данном этапе восьмеричное число имеет вид ?236.
6
Найдите последнюю цифру. Для этого разделите результат предыдущего деления на 8. ответ будет равен 0, но вас интересует остаток. Цифра остатка запишется четвертой справа, и вы получите конечное восьмеричное число. [[[Image:Convert from Decimal to Octal Step 15 Version 2.jpg|center]]
В нашем примере результат предыдущего деления равен 1.
1 ÷ 8 = 0 остаток 1.
Конечное восьмеричное число: 1236. Вы можете записать его в виде 12368 (такая запись означает, что это число восьмеричной системы счисления) поняли изложенный процесс, читайте дальше.[4]
Представьте, что перед вами кучка из 670 спичек.
4,5(69 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ