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

Написать программу на pascal. условие пусть имеется неотрицательное целое число, представленное в виде массива своих цифр. требуется возвести его в некоторую заданную степень. формат входного файла первая строка входного файла "input.txt" представляет собой десятичную запись длинного целого числа a. следующая строка содержит показатель степени n, в которую необходимо возвести указанное число. формат выходного файла выходной файл "output.txt" должен содержать результат возведения в степень, представленный в десятичной системе счисления. ограничения 0≤a≤10 в 50 степени, 0 примеры тестов входной файл (input.txt) 1) 10203756485819806252197658031528043601970 2 2) 55786 17 выходной файл (output.txt) 1) 104116646421909761950282879573175588809976767764774752111453905887721451787880900 2) 490827381405222212342433355512086149590506305271663102056527621790991920279453696

👇
Ответ:
Katerinkacat
Katerinkacat
01.06.2021
PROGRAM Power_Long;

var
    i:byte; // счетчик
    si, so:string; // числа в виде строк
    power:byte; //показатель степени

function readFile(filename:string):string;
var f:text;
    s:string;
begin
  assign(f,filename);  Reset(f);
  readln(f,s);
  readln(f,power);
  close(f);  
  readFile := Trim(s);
end;

function multiplyLong(s1:string; s2:string):string;
var
    i,j,k,l:byte; //счетчики
    z:boolean; //
    A,B,T,R:array [0..100] of byte; //массивы
    carry:byte; //перенос при умножении и суммировании
    rt:string;//результат
begin

  // первая строка чисел в массив
  l:=Length(s1);
//  A := new byte[l+1];
  A[0]:=l; //количество
  for i:=l downto 1 do
    A[l-i+1]:=ord(s1[i]) - 48;

  // вторая строка чисел в массив
  k:=Length(s2);
//  B := new byte[k+1];
  B[0]:=k; //количество
  for i:=k downto 1 do
    B[k-i+1]:=ord(s2[i]) - 48;
    
  i:=l+k; // 999*9999=9989001, т.е. максимум 7знаков
//  R := new byte[i+1]; //массив с результатом
  R[0]:=i;//количество
//  T := new byte[i+1];//temp - произведение A на один знак из B

  for i:=1 to A[0] do begin
    
    //T := умножение A на один знак из B
    carry:=0;
    for j:=1 to B[0] do begin
      k:= A[i] * B[j] + carry;
      carry := k div 10;
      T[j]:= k mod 10;
    end;
    j:=j+1;
    T[j]:=carry;
    T[0]:=j;
    
    // прибавление T к результату R
    carry:=0;
    for j:=1 to T[0] do begin
      k := T[j] + R[j+i-1] + carry;
      carry := k div 10;//перенос
      R[j+i-1] := k mod 10;
    end;
  end;

  rt:='';
  z:=false;//проверка на ведущие нули
  for i:= R[0] downto 1 do begin
    if (R[i]>0) then begin
      rt := rt + R[i];
      z:=true;//все последущие нули надо добавить в число
    end else
      if (R[i]=0) and z then
        rt := rt + R[i];
        
  end;
 
  multiplyLong := rt;
end;

BEGIN
  si := readFile('input.txt');
  so := multiplyLong(si, si); //возвели во вторую степень
 
  // возведение в степень от 3 и выше умножением
  for i:=3 to power do begin
    so := multiplyLong(si, so);
  end;

  writeln( si, '^',power,' = ',so );
END.
4,4(45 оценок)
Открыть все ответы
Ответ:
mishaklibashev
mishaklibashev
01.06.2021

ЭЕМ программалары екі топқа бөлінеді, олар:

1)  жүйелі программалық жасақ;

2)  қолданбалы (кәделі) программалық жасақ.

Жүйелі программалар ЭЕМ-нің аппараттық жабдықтар жұмысын басқарып, жүмыс істеп отырған а программалармен байланыстырады.

Жүйелі программалық жасақты бірнеше топқа жіктеуге болады:

1)  операциялық жүйелер;

2)  утилиттер;

3)  сервистік программалар.

Операциялық жүйелер - компьютерді басқаруға арналған және қолданбалы программалармен байланысы бар нақты программа. Дербес компьютерлер үшін кең тараган оиерациялық жүйелерге

МЗ (РС) DOS, Windows 95, Windows NT,OS/2, UNIX жатады,

Дербес компьютерлерлерге арналған операциялық жүйелердің барлығы да тек бір адамдық болып табылады. Расында да екі адамның бір мезетге бір компьютерде жұмыс істеуін елестету қиын ғой .

 

WINDOWS 95, WINDOWS NT, OS/2, UNIX көп мақсатты жүйелер болып саналады. Көп мақсаттылық — бір компьютерде бір уақытта қатарласа бірнеше есепті шығару мүмкіндігі немесе бірнеше әрекеттің қатар атқарылып жатуы. Мысалы, Сіз мәтін көшіріліп жатқан шақта ойнап та отыруыңызға боладь, өйткені бұл жұмыстарды әртүрлі қүрылғылар атқарады немесе ол қүрылғылардың жұмыс жылдамдығы адамның жылдамдығынан өте жоғары болып келеді.

Объяснение:

4,5(70 оценок)
Ответ:
Den0410
Den0410
01.06.2021

ЭЕМ программалары екі топқа бөлінеді, олар:

1)  жүйелі программалық жасақ;

2)  қолданбалы (кәделі) программалық жасақ.

Жүйелі программалар ЭЕМ-нің аппараттық жабдықтар жұмысын басқарып, жүмыс істеп отырған а программалармен байланыстырады.

Жүйелі программалық жасақты бірнеше топқа жіктеуге болады:

1)  операциялық жүйелер;

2)  утилиттер;

3)  сервистік программалар.

Операциялық жүйелер - компьютерді басқаруға арналған және қолданбалы программалармен байланысы бар нақты программа. Дербес компьютерлер үшін кең тараган оиерациялық жүйелерге

МЗ (РС) DOS, Windows 95, Windows NT,OS/2, UNIX жатады,

Дербес компьютерлерлерге арналған операциялық жүйелердің барлығы да тек бір адамдық болып табылады. Расында да екі адамның бір мезетге бір компьютерде жұмыс істеуін елестету қиын ғой .

 

WINDOWS 95, WINDOWS NT, OS/2, UNIX көп мақсатты жүйелер болып саналады. Көп мақсаттылық — бір компьютерде бір уақытта қатарласа бірнеше есепті шығару мүмкіндігі немесе бірнеше әрекеттің қатар атқарылып жатуы. Мысалы, Сіз мәтін көшіріліп жатқан шақта ойнап та отыруыңызға боладь, өйткені бұл жұмыстарды әртүрлі қүрылғылар атқарады немесе ол қүрылғылардың жұмыс жылдамдығы адамның жылдамдығынан өте жоғары болып келеді.

Объяснение:

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