slava90100
13.02.2022 13:29

Составьте программу рисования узора, изобра- ясенного на рисунке, используя в качестве вс алгоритма алгоритм рисования квадрата с заданной стороной.​


Составьте программу рисования узора, изобра- ясенного на рисунке, используя в качестве вс алгоритма

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
klimov200293
01.06.2021 01:38

Тип переменной задает вид того значения, которое ей присваивается и правила, по которым операторы языка действуют с переменной, например:

Если переменные A и B целочисленного типа, то программа:

A:=3.14; 
B:=2.71; 
WRITELN(A,’ ‘,B,’ ‘,A+B);

Выведет на экран строку: “3.14 2.71 5.85”

Если же они строкового типа, то программа:

A:=’3.14’; 
B:=’2.71’; 
WRITELN(A,’ ‘,B,’ ‘,A+B);

Выведет: “3.14 2.71 3.142.71”, так как оператор сложения просто добавит строку B в конец строки A.

Тип константы определяется записи ее значения:

Const 
C1=17; 
C2=3.14; 
C3='A'; 
C4=False; 
C5=C2+C1;

Можно использовать выражения. Выражения должны в качестве операторов содержать только константы, в том числе ранее объявленные, а так же знаки математических операций, скобки и стандартные функции.

В Паскале предопределены следующие простейшие типы переменных:

BYTEцелое число от 0 до 255, занимает одну ячейку памяти (байт).BOOLEANлогическое значение (байт, заполненный единицами, или нулями), true, или false.WORDцелое число от 0 до 65535, занимает два байта.INTEGERцелое число от –32768 до 32767, занимает два байта.LONGINTцелое число от –2147483648 до 2147483647, занимает четыре байта.REALчисло с дробной частью от 2.9*10-39.до 1.7*1038, может принимать и отрицательные значения, на экран выводится с точностью до 12-го знака после запятой, если результат какой либо операции с REAL меньше, чем 2.9*10-39, он трактуется как ноль. Переменная типа REAL занимает шесть байт.DOUBLEчисло с дробной частью от 5.0*10-324.до.1.7*10308, может принимать и отрицательные значения, на экран выводится с точностью до 16-го знака после запятой ,если результат какой либо операции с DOUBLE меньше, чем 5.0*10-324, он трактуется как ноль. Переменная типа DOUBLE занимает восемь байт.CHARсимвол, буква, при отображении на экран выводится тот символ, код которого хранится в выводимой переменной типа CHAR, переменная занимает один байт.STRINGстрока символов, на экран выводится как строка символов, коды которых хранятся в последовательности байт, занимаемой выводимой переменной типа STRING; в памяти занимает от 1 до 256 байт – по количеству символов в строке, плюс один байт, в котором хранится длина самой строки.

При обьявлении переменной строкового типа можно заранее указать ее длину в байтах – X:

MyString:STRING[X]; 
При присвоении этой переменной строки длиннее X, присваиваемая строка будет обрезана с конца после X-того символа.

Размер переменной типа STRING в памяти можно узнать следующим
Size:=SizeOf(MyString); 
Функция SizeOf() возвращает размер, занимаемый переменной, служащей параметром. Параметром может служить и тип переменной; строка: 
Writeln(SizeOf(STRING)); 
Выведет на экран число 256, так как по умолчанию под все строки отводится по 256 байт.

Кроме того, можно узнать, сколько символов в строке (индекс последнего непустого символа в строке): 
Size:=Ord(MyString[0]); 
Используется ибращение к нулевому элементу (символу) строки, в котором хранится ее длина, но MyString[0] – значение типа CHAR, тоесть символ, код которого равен длине строки, нужный нам код – число возвращает функция Ord()Таким же образом можно обратиться к любому N – тому элементу строки: 
MyChar:=MyString[N]; 
{MyChar:CHAR}

0,0(0 оценок)
Ответ:
ismailismailov11
12.11.2020 20:54
В задаче имеется "топорное решение" — посчитать напрямую. Получившееся число будет восьмизначным, что не так уж и страшно, если в голову не приходят другие решения.

Рассмотрим, однако, решение, которое позволит делать подобные задачи без прямого подсчёта. Для этого, прежде всего, переведём всё в степени тройки:

98328316+35+35+35−9−32−32==
9
8
+
3
5
−9 =
3
2
8
+
3
5

3
2
=
3
16
+
3
5

3
2

Как представляется число 3n в троичной системе счисления? Давайте подумаем, как мы переводим из десятичной системы в троичную? Сначала делим на 3, затем частное делим на 3, затем новое частное на 3 и т.п. Что получится в случае деления 3n на 3? Очевидно, что 3n-1. А если его поделить дальше на 3, то получится 3n-2. Если так сделать n раз, то в конце останется 30, то есть. Таким образом, это будет число 100..00, где количество нулей равно n.

То есть, например, 8-ая степени тройки в троичной системе представима в виде 1000000003. А 35 — это 1000003.

Вернёмся теперь к нашей сумме. Давайте сначала в столбик сложим 316 и 35 в троичной системе счисления.

100…000000016100000100…0⏟10100000 1
00

0000000

16
100000 1
00

0

10
100000

Теперь остаётся из этого вычесть 32. Для этого придётся "занять" разряд. Но принцип тут такой же, как и в обычной, десятичной системе счисления, только 0 будут превращаться не в 9, а в 2 (самую большую цифру в троичной системе счисления:

100…0⏞10100000−100100…0⏟10022200 1
00

0

10
100000 −100 1
00

0

10
022200

Таким образом, количество двоек в указанной сумме получилось равным 3.

ответ: 3 двойки в троичной записи.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота