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

(25б ) решить нужно 1)объясните как решать подобные в системе счисления с основанием а запись числа 74 оканчивается на 4 и содержит 3 цифры. чему равно а? 2) компьютер с ip-адресом 42.213.144.54 изначально был в сети с маской 225.248.0.0. потом его подключили к сети с маской 255.224.192.0. найдите, на какое количество единиц адрес сети во втором случае отличается от адреса сети в первом случае.

👇
Ответ:
Писинчик
Писинчик
10.01.2020

1)

A=5

Объяснение:

74 mod A = 4

Остаток меньше делителя, поэтому A>=5

Подставляем 5 в основание системы счисления и проверяем результат.

74/5=14 остаток   4

14/5=2 остаток   4

2/5=0 остаток   2

Десятичное число 27 в пятиричной системе счисления записывается как 244. Следовательно A=5

Как решать подобные задачи.

1.

Согласно правилу перевода десятичного числа M в A-ричную систему, в последний разряд A-ричного числа записывается остаток от M/A. То есть M mod A = R, где R – значение последнего разряда A-ричного числа. Вспоминаем что остаток всегда меньше делителя, поэтому A>=R+1. В рассматриваемой задаче A>=5.

Определение нижней границы значения A, позволяет сузить поиск. В рассматриваемой задаче мы с первого раза вышли на верное значение, но так бывает не всегда.

2.

Представим число M в следующем виде: M=A*B+R, где A - основание системы счисления, а R – остаток. В рассматриваемой задаче эта запись приобретает следующий вид: 74=A*B+4 или 70=A*B. То есть необходимо найти такие целые числа, чтобы их произведение равнялось 70.

Рассмотрим варианты A*B.

1*70

2*35

5*14

7*10

В первом пункте мы выяснили, что A>=5, поэтому первые два варианта отпадают. Остаются варианты 5*14 и 7*10.

Проверив истинность высказываний 74 mod 5 = 4 и 74 mod 7 = 4, убеждаемся, что A=5.

3.

Зная разрядность, также можно производить вычисления.

Обозначим разрядность через N.

N= [L]+1 , где L – значение логарифма от M по основанию A. Квадратные скобки – обозначают целое значение.

В рассматриваемой задаче, число M в A-ричной системе счисления трехзначное. То есть N=3.

3=[L]+1

[L]=2

Для проверки разрядности значения A*B в системе счисления A, следует проверить истинность выражения N= [L]+1.

В рассматриваемой задаче, это условие соблюдается только когда A принимает значения 5, 6, 7 или 8. Только при таких значениях A, число M в A-ричной системе счисления A будет трехзначным.  

Числа 6 и 8 не подходят, поскольку второй множитель B также должен быть целочисленным.

Остаются числа 5 и 7.

Проведя проверку на остаток от деления 74 mod 5 = 4 и 74 mod 7 = 4, получаем искомое значение A=5.

2)

В маске сначала идут единичные биты, затем нулевые. Поэтому 225.248.0.0 и 255.224.192.0 не могут быть масками.

4,7(59 оценок)
Открыть все ответы
Ответ:
МарвиСК
МарвиСК
10.01.2020
Массивы
Массив – это упорядоченная совокупность данных, обозначаемых одним именем, доступ к элементам массива осуществляется по их номерам (индексам). Элементами массива могут быть данные любого типа, включая структурированные, но в одном массиве могут храниться данные только одного типа (real, integer, string, char и пр.).
Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным,  одномерным или вектором.
Одномерные массивы

Объявление одномерных массивов
Описать одномерный массив можно несколькими
В разделе переменныхVar имя массива : Array [тип индекса] of тип элементов ;
В разделе описания типовType имя типа = Array [тип индекса] of тип элементов ;Var имя массива : имя типа ;
В разделе константConst имя массива : Array [тип индекса] of тип элементов = (список элементов);

Ввод данных в одномерный массив
1. Ввод массива с клавиатуры оператором Read.
For i:=1 to n do
Begin
Writeln('введите элемент массива');
Read (A[ i ]);
2. Заполнение массива с генератора  случайных чисел Random на интервале (a,b):
Randomize;
For i:=1 to n do
A[ i ] := Random (b-a)+a;
3. Ввод массива в разделе констант (производится вместе с объявлением).
Const N=5;
A:=array [1..N] of integer (-8,0,4,1,3);
Вывод данных в одномерном массиве
Вывод массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего.
Вывод в строку.
A: array [1..10] of integer;
i : integer ;
Begin
For i :=1 to 10 do
Write ( a [ i ],' ');
End
Вывод в столбец.
var
A: array [1..10] of integer;
i : integer ;
Begin
For i :=1 to 10 do
Writeln ( a [ i ]);
End
Пример 1: Ввести 2 вектора, размерностью n, найти сумму этих векторов.
Program summa;
Var
a, b, c: array [1..100] of integer;
i, n: byte;
Begin
Write (‘введите размерность массивов:’);
Readln(n);
For i:=1 to n do
Readln (a[i]);
For i:=1 to n do
Readln (b[i]);
For i:=1 to n do
C[i]:=a[i]+b[i];
For i:=1 to n do
write (c[i],’ ‘);
end.
Двумерные  массивы
Массивы, положение элементов в которых описывается двумя индексами, называютсядвумерными. Их можно представить в виде прямоугольной таблицы или матрицы.
Каждый элемент имеет свой номер, как у одномерных массивов, но сейчас номер уже состоит из двух чисел - номера строки, в которой находится элемент, и номера столбца. Таким образом, номер элемента определяется пересечением строки и столбца. Например, a12 - это элемент, стоящий в первой строке и во втором столбце.
Существуют несколько объявления двумерного массива.
В Паскале двумерный массив можно описать как одномерный, элементами которого являются одномерные массивы. Например, для матрицы А, приведённой выше:
Const n = 2; m = 3;Type omyarray = Array[1..m] Of <тип элементов >;dmyarray = Array[1..n] Of omyarray;Var v : omyarray;a : dmyarray;
В данном случае переменная v объявлена как одномерный массив из трёх элементов вещественного типа. Переменная а описана как двумерный массив из двух строк, каждую из которых включено по три элемента.
Описание массива А можно сократить, исключив определение типа omyarray в определении типа dmyarray:
Const n = 2; m = 3;Type dmyarray = Array[1..n, 1..m] Of <тип элементов>;Var a : dmyarray.
Ещё более краткое описание массива А можно получить, указывая имя массива и диапазоны изменения индексов для каждой размерности массива:
Const n = 2; m = 3;Type dmyarray = Array[1..n, 1..m] Of <тип элементов >;
Var a : dmyarray.
Если указанный тип используется для определения одного массива в программе, то удобно объявление массива в разделе описания переменных:
Var a: Array [1..n, 1..m] Of < тип элементов >.
Рассмотренные выше методы решения задач обработки одномерных массивов могут применяться для обработки двумерных массивов. Поскольку положение элемента в двумерном массиве описывается двумя индексами [первый - номер строки, второй - номер столбца], программы большинства матричных задач строятся на основе вложенных циклов. Обычно внешний цикл работает по строкам матрицы, то есть с его выбирается требуемая строка матрицы, а внутренний цикл - по столбцам матрицы, то есть здесь выбирается нужный элемент из выбранной уже строки.
Пример 2:
Program massiv;
Const n = 3; m = 4;
Type massiv = Array[1..n., 1..m] of integer;
Var A : massiv;
I,j:integer;
Begin
For i:=1 To n Do
For j:=1 To m Do
x[i,j]:=-25+Random(51);
For i:=1 To n Do
Begin
For j:=1 To n Do Write(x[i,j]:5);
Writeln;
End;
End.

P.S. Сможешь сам?
4,5(20 оценок)
Ответ:
happyga
happyga
10.01.2020
//PascalABC.Net 3.0, сборка 1052
var
  d:single;
begin
  Write('Введите угол в градусах: '); Read(d);
  Writeln('Угол в радианах: ',DegToRad(d))
end.

Тестовое решение:
Введите угол в градусах: 57.3
Угол в радианах: 1.00007364807695

Вариант с формулой вместо функции:
//PascalABC.Net 3.0, сборка 1052
var
  d:single;
begin
  Write('Введите угол в градусах: '); Read(d);
  Writeln('Угол в радианах: ',Pi*d/180)
end.

Вариант, если не хочется использовать константу Pi:
//PascalABC.Net 3.0, сборка 1052
var
  d:single;
begin
  Write('Введите угол в градусах: '); Read(d);
  Writeln('Угол в радианах: ',ArcTan(1)*d/45)
end.

Вариант для тех, кто не помнит, что arctg(1)=π/4:
//PascalABC.Net 3.0, сборка 1052
const
  Pi=3.14;
var
  d:single;
begin
  Write('Введите угол в градусах: '); Read(d);
  Writeln('Угол в радианах: ',Pi*d/180)
end.

Тестовое решение для этого случая:
Введите угол в градусах: 57.3
Угол в радианах: 0.999566653357612

Как видно, из-за значения π, заданного с низкой точностью, снизилась и точность результата.
4,6(45 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ