Написать программу для вычисления примера Х1(10)*Х2(8) - Х3(2), где (10,8,2) - системы счисления - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

В общем дан пример Х1(10)*Х2(8) - Х3(2)=, где (10,8,2) - системы счисления. Надо написать программу для его решения, где х1-вещественное, х2-х3-целые..В общем, даже не знаю, как объяснить. Надо сделать так, чтобы сначала, все 3 числа задались в 10 Сист.Счисления, выполнился пример Х1(10)*Х2(10) - Х3(10)=, и после, ответ полученный в 10 с.с, был переведен в 8 с.с. и 2 с.с

Решение задачи: «Написать программу для вычисления примера Х1(10)*Х2(8) - Х3(2), где (10,8,2) - системы счисления»

textual
Листинг программы
  1. program test;
  2. var x1,x2,x3,p:integer;
  3. function ItoS(val:integer):string;
  4. var
  5. _r:string;
  6. begin
  7. Str(val,_r);
  8. ItoS:=_r;
  9. end;
  10. function ConvertToCS(val:integer;CS:integer):string;
  11. var
  12. _r,_r1:string;
  13. _m,i:integer;
  14. begin
  15. _r:='';
  16. if CS>16 then exit;
  17. repeat
  18. _m:=val mod CS;
  19. val:=val div CS;
  20. if _m<10 then
  21. _r:=_r+ItoS(_m)
  22. else
  23. _r:=_r+chr(ord('A')+_m-10);
  24. until val=0;
  25. _r1:='';
  26. for i:=length(_r) downto 1 do
  27. _r1:=_r1+_r[i];
  28. ConvertToCS:=_r1;
  29. end;
  30. begin
  31. writeln ('Введите значение x1:');
  32. readln (x1);
  33. writeln ('Введите значение x2:');
  34. readln (x2);
  35. writeln ('Введите значение x3:');
  36. readln (x3);
  37. p:=x1*x2-x3;
  38. writeln('Ответ 10-я:',p);
  39. writeln('Ответ 8-я:',ConvertToCS(p,8));
  40. writeln('Ответ 2-я:',ConvertToCS(p,2));
  41. end.

Объяснение кода листинга программы

  1. Создается программа test.
  2. Объявляются переменные x1, x2, x3 и p типа integer.
  3. Создается функция ItoS, которая принимает целочисленный аргумент val и возвращает строку, представляющую это число в виде строки.
  4. Создается функция ConvertToCS, которая принимает два аргумента: целочисленное значение val в десятичной системе счисления и целочисленную систему счисления CS. Эта функция возвращает строку, представляющую значение val в системе счисления CS.
  5. В функции ConvertToCS инициализируется пустая строка _r и проверяется, что CS больше 16. Если это условие выполняется, то функция завершается.
  6. Затем в функции начинается цикл, который повторяется, пока значение val не станет равным нулю.
  7. Внутри цикла значение val делится на CS, а оставшееся значение _m сохраняется в виде остатка от деления.
  8. Затем строка _r инициализируется пустой строкой.
  9. Далее, для каждого символа в строке _r, начиная с конца строки, добавляется соответствующий символ из строки _r1.
  10. После завершения цикла значение _r1 заменяет значение _r.
  11. В функции вызываются функции readln для ввода значений x1, x2 и x3.
  12. Вычисляется значение выражения x1 * x2 - x3 и сохраняется в переменной p.
  13. Выводятся результаты вычислений: значение p, значение ConvertToCS(p,8) и значение ConvertToCS(p,2).
  14. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы