cosmetic89
?>

Всех ! если вам не сложно, то хотел бы попросить . необходимо решить на яп pascal с использованием подпрограмм, если можно, то с комментариями переменных и некоторых функций. системы счисления: 2, 8, 10 и 16. типа real чтобы число можно было записать с десятичной дробью пример: (2.25) . заранее .

Информатика

Ответы

viktoritut
// PascalABC.NET 3.3.5, сборка 1644 от 23.03.2018
// Внимание! Если программа не работает, обновите версию!

function aToDec(n:string;k:integer):string;
// Перевод из системы по основанию k в десятичную
begin
  var s:='0123456789ABCDEF';
  Result:='';
  var PointPos:=Pos('.',n);
  if PointPos>0 then begin // есть дробная часть
    var sFracPart:=n[PointPos+1:];
    var r:=0.0;
    var p:=k;
    foreach var c in sFracPart do begin
      r+=(Pos(c,s)-1)/p;
      p*=k;
      end;
    Result:=r.ToString[2:]
    end
  else PointPos:=n.Length+1;
  var pa:=1;
  n:=n[:PointPos];
  var p:=0;
  foreach var c in n.Reverse do begin
    p+=pa*(Pos(c,s)-1);
    pa*=k
    end;
  Result:=p.ToString+Result
end;

function DecToa(n:string;k:integer):string;
// Перевод из десятичной системы в систему по основанию k
begin
  var s:='0123456789ABCDEF';
  Result:='';
  var PointPos:=Pos('.',n);
  var IntPart:integer;
  if PointPos>0 then begin // есть дробная часть
    var FracPart:=Frac(n.ToReal);
    var m:=0;
    while True do begin
      var r:=FracPart*k;
      Result+=s[Trunc(r)+1];
      FracPart:=Frac(r);
      m+=1;
      if (m=15) or (FracPart=0) then break
      end;
    IntPart:=n[:PointPos].ToInteger;
    end
  else IntPart:=n.ToInteger;
  if Result<>'' then Result:='.'+Result;
  while IntPart>0 do begin
    Result:=s[IntPart mod k+1]+Result;
    IntPart:=IntPart div k
    end;
  if Result='' then Result:='0';
  if Result[1]='.' then Result:='0'+Result
end;

function AtoB(s:string;A,B:integer):string;
// Перевод из системы по основанию A в систему по основанию B
begin
  if A=10 then Result:=DecToa(s,B)
  else
    if B=10 then Result:=aToDec(s,A)
    else Result:=DecToa(aToDec(s,A),B)
end;
   
begin
  var n:=ReadlnString('Какое число перевести?');
  var (a,b):=ReadInteger2('Исходное и результирующее основания:');
  Writeln(n,'(',a,') = ',AtoB(n,a,b),'(',b,')');
end.

Пример
Какое число перевести? 345.653
Исходное и результирующее основания: 8 16
345.653(8) = E5.D58(16)
rukodelnizza1

1. Вспомните, как в используемом вами языке программирования

выделить в памяти массив A из N элементов и заполнить его нулями:

Место для ввода текста.

заполнить массив натуральными числами от 1 до N:

Место для ввода текста.

заполнить массив случайными числами в диапазоне [50,100]:

Место для ввода текста.

найти сумму всех элементов массива:

Место для ввода текста.

найти сумму чётных элементов массива:

Место для ввода текста.

найти количество отрицательных элементов массива:

Место для ввода текста.

найти максимальный элемент массива:

Место для ввода текста.

2. Представьте себе, что в кофейной чашке налит сок, а в стакане – кофе, и вы хотите, чтобы было наоборот. Что вы сделаете?

1)

2)

3)

3. Требуется поменять местами соседние элементы массива A, в котором чётное число элементов N. (1-й элемент меняется со 2-м, 3-й – с 4-м и т.д.) Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).

for i in range(N):

поменять местами A[i] и A[i+1]

Заполните пропуски в таблице:

Почему этот алгоритм не сработал так, как нужно:

Место для ввода текста.

Какая ошибка произошла на последнем шаге выполнения цикла:

Место для ввода текста.

4. Предложите другое решение задачи из предыдущего задания, записав нужные операторы в теле цикла.

i = 1

while i < N:

5. Требуется выполнить реверс массива, то есть переставить элементы массива из N элементов в обратном порядке, так чтобы первый элемент стал последним, а последний – первым. С каким элементом нужно поменять местами

элемент A[0] c

элемент A[1] c

элемент A[i] c

6. Требуется выполнить реверс массива A, в котором N элементов. Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).

for i in range(N):

поменять местами A[i] и A[N-1-i]

Заполните пропуски в таблице:

Почему этот алгоритм не сработал так, как нужно:

Место для ввода текста.

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

for i in range(N // 2):

8. Запишите в тетради другое решение задачи реверса, которое использует цикл с условием (пока, while):

Место для ввода текста.

9. Катя торопилась и написала такой алгоритм поиска значения X в массиве:

i = 0

while A[i] != X:

i += 1

print( "A[", i, "]=", X )

Проверьте, используя ручную прокрутку, правильно ли сработает алгоритм, если искать в массиве {1, 2, 3} число 2? число 4?

10. Запишите фрагмент программы для поиска номера минимального элемента массива (он должен быть записан в переменную nMin):

nMin = 0

for j in range( ):

if then

11. Запишите в тетради фрагмент программы, который меняет местами элементы A[i] и A[nMin]. Используйте вс переменную c.

Место для ввода текста.

12. Нарисуйте в тетради интеллект-карту параграфа «Обработка массивов»

13. В переменных записаны значения a = 1, b = 2 и с = 3. Как изменятся значения переменных после выполнении алгоритма:

a b c

1 2 3

c = a

b = a

a = c

Исправьте один символ в программе так, чтобы получился правильный алгоритм обмена значений переменных a и b.

c = a

b = a

a = c

14. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:

for i in range(N-1):

A[i] = A[i+1]

Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:

15. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:

for i in range(N-1):

A[i+1] = A[i]

Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:

16. Что произойдет с массивом [1, 2, 3, 4, 5, 6] (N = 6) при выполнении следующего фрагмента программы:

i = 0

while i < N-2:

c = A[i]

A[i] = A[i+1]

A[i+1] = A[i+2]

A[i+2] = c

i += 3

Покажите, как меняются элементы массива, а также переменные i и c после выполнения каждого оператора:

Объяснение:

StudioArtNails

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

Трансля́ция програ́ммы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке.

Некоторые люди называют некоторые вещи трансляторами, а некоторые транспилерами или транспиляторами.

Так вот, мне стало интересно, в чём разница, и кто больше прав, если это разные слова для обозначения одного и того же?

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Всех ! если вам не сложно, то хотел бы попросить . необходимо решить на яп pascal с использованием подпрограмм, если можно, то с комментариями переменных и некоторых функций. системы счисления: 2, 8, 10 и 16. типа real чтобы число можно было записать с десятичной дробью пример: (2.25) . заранее .
Ваше имя (никнейм)*
Email*
Комментарий*