Поиск по этому блогу

пятница, 17 сентября 2021 г.

Числовое или строковое: какое решение лучше

 Рассмотрим две задачи на линейный алгоритм, которые решим числовым и строковым методами используя возможности языка программирования PascalABC.NET

Задачи:

  1. Даны натуральные числа М и N. Вывести старшую цифру дробной части и младшую цифру целой части числа M/N.
  2. Дано действительное число R вида nnn. ddd (три цифровых разряда в дробной и целой частях). Поменять местами дробную и целую части числа и вывести полученное значение числа.
Решение первой задачи.

{числовой метод}

var m,n,sd,mc:integer;

    d:real;

begin

  writeln('Введите два целых числа');

  readln(m,n);

  d:=m/n;

  mc:=trunc(d)mod 10;

  sd:=trunc(d*10)mod 10;

  write(d,sd:5,mc:5);

end.  

{строковый метод}

var m,n,p:integer;

    d:real;

    s:string;

begin

  writeln('Введите два целых числа');

  readln(m,n);

  d:=m/n;

  str(d,s);

  p:=pos('.',S);

  write(s,' ',s[p+1],' ',s[p-1]);

 end.

Решение второй задачи

{числовой метод}

var n,n1:real;

 a,b:integer;

 begin

   writeln('Введите число формата nnn.ddd');

   readln(n);

   a:=trunc(n);

   b:=trunc(n*1000)mod 1000;

   n1:=b+a/1000;

   write(n:8,n1:8);

 end.

{строковый метод}

var n:real;

    s:string;

begin

  writeln('Введите число формата nnn.ddd');

   readln(n);

   str(n,s);

   s:=RightStr(s,3)+'.'+leftstr(s,3);

   Write(n,' ',s);

end.


Комментариев нет:

Отправить комментарий