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

На языке паскаль напишите программу, решающую следующую : программе на вход подается последовательность символов, завершающаяся символом '.' (точка). идущие подряд последовательности цифр пятеричной системы счисления рассматриваются как числа. например, последовательность sdf812973j223k содержит три пятеричных числа: 12, 3 и 223. числа могут быть сколь угодно большими. знаки '+' и '-' не рассматриваются как части числа. напечатайте сумму всех таких чисел, которые не превосходят 2^19-1. можете предполагать, что сумма не превосходит 2^31-1. если чисел, удовлетворяющих условиям, в последовательности нет, сумма полагается равной - 1.

👇
Ответ:
Каримовка
Каримовка
21.03.2022
1. Современное решение

// PascalABC.NET 3.2, сборка 1488 от 21.06.2017
// Внимание! Если программа не работает, обновите версию!

function From5to10(Self:sequence of string):sequence of integer;
    extensionmethod;
// Перевод последовательности заданных на строках пятиричных чисел
// в последовательность целых десятичных чисел
begin
  foreach var s in Self do begin
    var r:=0;
    var pa:=1;
    foreach var c in s.Reverse do begin
      r+=c.ToDigit*pa; pa*=5
    end;
    yield r
    end
end;

begin
  var s:=ReadlnString('Введите строку:').MatchValues('[0-4]+').From5To10;
  if s.Count=0 then Writeln('S=-1')
  else Writeln('S=',s.Sum)
end.

Пример
Введите строку: sdf812973j223k
S=73

2. Решение на TurboPascal ("Так писали наши отцы и деды в 1983 году, так и нас сейчас учат в школе")

uses Crt;

function From5to10(n:string):integer;
{ Перевод из пятиричного числа в строковом представлении
  в целое десятичное }
var
  i,pa,s:integer;
begin
  s:=0;
  pa:=1;
  for i:=Length(n) downto 1 do begin
    s:=s+pa*(Ord(n[i])-Ord('0'));
    pa:=pa*5
    end;
  From5to10:=s
end;

var
  s,w:string;
  i,k,r:integer;
begin
  ClrScr;
  Write('Введите строку: ');
  Readln(s);
  w:='';
  r:=0;
  k:=0;
  for i:=1 to Length(s) do begin
    if Pos(s[i],'01234')>0 then begin
      if w='' then k:=k+1;
      w:=w+s[i]
      end
    else
      if w<>'' then begin
        r:=r+From5to10(w);
        w:=''
        end
    end;
  if k=0 then Writeln('S=-1')
  else Writeln('S=',r);
  ReadKey
end.
4,7(4 оценок)
Открыть все ответы
Ответ:
даша3549
даша3549
21.03.2022
1)
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str);
for (int i = 1; i < str.length(); i++)
{
if (i % 3 == 0)
{cout << str[i] << endl;}
}
_getch();
return 0;
}
2)
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int main()
{ string str;
getline(cin, str);
for (int i = 1; i < str.length(); i++)
{
 if (i % 2 == 0)
 { if (str[i] != 'a')
  { str[i] = 'a'; }
  if (str[i] != 'b')
  { str[i] = 'b'; }
  if (str[i] != 'c')
  { str[i] = 'c'; }
}
}
cout << str << endl;
_getch();
return 0;}
4,8(83 оценок)
Ответ:
diana22022005
diana22022005
21.03.2022
1.
0,5 Кбайт = 0,5*1024 байт = 512*8 бит
512*8/128 = 32

2.
Память для одного символа = log(2)64=6 бит
Объем текста = 10*32*64*6 бит = 10*32*64*6/8 байт =
10*4*64*6/1024 Кбайт = 15 Кбайт

3.
3 Кбайт = 3*1024 байт = 3*1024*8 бит
Память для одного символа = 3*1024*8/6144 = 4 бита
Количество символов в алфавите = 2^4 = 16

4.
Память для одного символа = log(2)128=7 бит
Объем сообщения = 10*7 = 70 бит

8.
a) 3 Кбайт=3*1024 Байт = 3072 бАЙТ
b) 2 Мбайт=2*1024 Кбайт = 2*1024*1024 байт = 2*1024*1024*8 бит = 16777216 бит
c) 4,5 Гигабайт=4,5*1024 Мбайт = 4,5*1024*1024 Кбайт = 4718592 Кбайт
4,4(83 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ