Архив рубрики: Информатика

Напишите программу вычисления наибольшего общего делителя двух натуральных чисел. Используйте оператор repeat, while

напишите программу вычисления наибольшего общего делителя двух натуральных чисел.
Используйте оператор repeat,while.

  •    
        В программе Му8_1 определяется, является ли данное число простым. Мы ищем делители числа п в интервале от 2 до п div 2, хотя можно было бы ограничиться интервалом от 2 до целой части Ön (почему?).
    Program My8_l;
        Var i, n : LongInt;
        Begin
            WriteLn (‘Введите натуральное число’);
            ReadLn (n);
            i : = l;
            Repeat
               Inc(i)
            Until (i > n div 2) Or (n mod i = 0);
            If i > n div 2 Then Writeln (‘ Число ‘,n, ‘ простое ‘}
            Else WriteLn (‘Число ‘ ,i, ‘ — первый делитель числа’ ,n, ‘, больший 1’);
            ReadLn
        End.
       
       Подсказка. Логическое выражение в операторе Repeat … Until упростится, в нем останется только условие i > n div 2, а в теле цикла появится оператор If n mod i = 0 Then WriteLn (…, i).    Основная теорема арифметики. Всякое натуральное число п > 1 разлагается на произведения простых чисел. Это разложение однозначно с точностью до порядка записи простых чисел в произведении.    Выберите интервал чисел (не очень большой, например, от 101 до 120) и, используя модифицированную программу Му1_8, найдите разложения этих чисел на произведения простых. Ваши записи должны иметь вид:n = p1a1 • p2a2 • … • pqaq— где (ai >= 0), рi — простые числа, например, 168= 23 • 31 • 50 • 71.
        2. Наибольший общий делитель (НОД) двух целых чисел а и b — это наибольшее целое число, которое делит нацело оба числа. Далее мы будем рассматривать лишь неотрицательные числа, но это не влияет на общность рассуждений. Для нахождения НОД чисел а и b можно представить оба числа в виде:
    a = p1a1 • p2a2 • … • pqaq и b = p1b1 • p2b2 • … • prbr— а затем найти НОД (а, b) в виде: p1min(a1,b1) • p2min(a2,b2) • … • pmmin(am,bm).Отложим исследование этого метода нахождения НОД и рассмотрим другой способ, который называется алгоритмом Евклида. Пусть а и b одновременно не равные нулю целые неотрицательные числа и a >= b. Если b= 0, то НОД (а, b) = a, а если b  0, то для чисел а, b и r, где r — остаток от деления а на b, выполняется равенство НОД (а, b) = НОД (b, r). Действительно, r = a mod b = а — (a div b) • b. Если какое-то число делит нацело и а, и b, то из приведенного равенства следует, что оно делит нацело и число r.Например, пусть а = 48, а b = 18. Приведем ручную трассировку алгоритма Евклида.аbРезультаты4818—48 mod 18 =1218НОД (48, 18) = НОД (12, 18)1218 mod 12 = 6НОД (12, 18) = НОД (12, б)12 mod 6 = 06НОД (12, 6) = НОД (0, 6)06НОД (0, 6) = 6    Таким образом, НОД(48, 18) = б.
        Программная реализация алгоритма Евклида с использованием оператора Repeat … Until имеет вид:
    Program My8_2;
        Var a, b: LongInt;
        Begin
            WriteLn (‘Введите два числа’);
            ReadLn (a, b) ;
            Repeat
              If a>b Then a:=a mod b Else b:=b mod a
            Until (a=0) or (b=0) ;
            WriteLn (‘НОД=’, а+b) ;
            ReadLn
    End.
        Измените программу так, чтобы вместо оператора Repeat . . . Until использовался оператор While. Какое ограничение в этом случае можно убрать?
        Элементы еi последовательности
        е1 = 1 + 1 = 2,
        е2 = 2 + 1 = 3,
        е3 = 2 • 3 + 1 = 7,
        е4 = 2 • 3 • 7 + 1 = 43,
        е5 = 2 • 3 • 7 • 43 + 1 = 1807,
        е6 = 2 • 3 • 7 • 1807 + 1 = 3263443,
        е7 = 2 • 3 • 7 • 1807 • 3263443 + 1 = 547 • 607 • 1033 • 31051 и т.д.
    называют числами Евклида. По первым четырем числам кажется, что числа Евклида простые. Однако это не так, уже е5 является составным — 1807 = 13 • 139. Известно, что евклидовы числа взаимно простые — НОД(ei, еj) = 1 при i  j. Проверьте этот факт с помощью программы Му8_2 для первых шести чисел Евклида. Используя программу Му8_1, покажите, что число е6 простое.
        3. В теории чисел доказывается следующая теорема. Если а и b одновременно не равны нулю, то существуют целые числа х и у, такие, что НОД(а, b) = а • х + b • у. Теорема не утверждает, что х и у определены однозначно, в ней лишь говорится о том, что НОД(а, b) может быть выражен в таком виде. Например, 
        6 = НОД (12, 30)= 12 • 3 + 30 • -1.
        Рассмотрим последовательность:
        a0 = a • x0 + b • y0, где x0 = 1, y0 = 0;
        a1 = a • x1 + b • y1, где x1 = 0, y1 = 1;
        a2 = a0 — a1• q1, где q1 = a0 div a1;
    подставляя значения a0 и a1 получаем:
        a2 = a • x0 + b • y— (a • x1 + b • y1) • q= a • (x— x• q1) + b • ( y—  y• q1) = a • x2 + b • y2
       a3 = a— a• q2, где q2 = a1 div a2
    подставляя значения a1 и a2 получаем:
       a3 = a • x1 + b • y— (a • x2 + b • y2) • q2 = a • (x— x• q2) + b •(y— y• q2) = a • x+ b • y3;
        …
       ai = ai-2 — ai-
    • qi-1, где qi-1 = ai-2 div ai-1,
        
    ai = a • xi-2 + b • yi-2 — (a • xi-1 + b • yi-1) • qi-1 = a • x+ b • yi;
        …
       0 = ak-1 — a• qk, где q= ak-1 div ak, … 0 = a • xk+1 + b • yk+1.
        Таким образом, значения qi, ai, x, yi, определяются рекуррентными соотношениями:
       qi-1 = ai-2 div ai-1;
       ai = qi-2 — ai-1 • qi-1;
        
    xi = xi-2 — xi-1 • qi-1;
       y= yi-2 — yi-1 • qi-1;
        Рассмотрим данный процесс на примере чисел а = 48 и b= 18.iaixi yiqi04810—11801—2121—2236-13240———     Итак, d = НОД(48,18) = 6 и 6 = 48 • (-1)+18 • 3.
        Описанный алгоритм реализован в программе My 8_3.
    Program Му8__3;
        Var a, b, a0, a1, x0, x1, y0, y1, q, t : Integer;
        Begin
        WriteLn(‘Введите два числа, первое должно быть больше второго ‘);
        ReadLn(а, b) ;
        a0:=a; a1:=b; x0:=1; x1:=0; у0:=0; у1:=1;
        Repeat
            q:=a0 div a1;
            t:=a0; a0:=a1; a1:=t-a1*q;
            t:=x0; x0:=x1; x1:=t-x1*q;
            t:=y0; y0:=y1; y1:=t-y1*q
        Until a1=0;
        WriteLn (a0, ‘=’,а, ‘*(‘, x0,’) + ‘,b,’ * (‘, y0, ‘) ‘);
        ReadLn
    End.
        Сравните результаты, полученные с помощью ручной трассировки, с результатами работы программы при тех же исходных данных.

Паскаль: Дано n чисел, найти среднее арифметическое положительных из них

Паскаль: Дано n чисел, найти среднее арифметическое положительных из них

  • var
      i,n, pol: integer;  //pol — количество положительных чисел, n — количество всех чисел
     a,s: real;  //a- вводимое число, s — сумма положительных чисел

    begin
      pol:= 0;  //обнуляем счетчик
      s:= 0;  
      writeln(‘Введите количество чисел’);
      readln(n);
      for i:= 1 to n do
      begin
        writeln(‘Введите число’);
        readln(a);
        if a > 0 then
        begin
          s:= s + a;
          pol:= pol + 1;  
        end;
      end;
      writeln(‘Среднее арифметическое положительных чисел:  ‘, s / pol);  {среднее арифметическое равно сумме чисел делить на их количество}
    end.

Написать в виде сочинения на 1 лист про операционные системы ! заранее !

Написать в виде сочинения на 1 лист про операционные системы !!!! Спасибо заранее !!!

  • Среди всех системных программ, с которыми приходится иметь дело пользователям компьютеров, особое место занимают операционные системы. Операционная система управляет компьютером, запускает программы, обеспечивает защиту данных, выполняет различные сервисные функции по запросам пользователя и программ. Каждая программа пользуется услугами ОС, а потому может работать только под управлением той ОС, которая обеспечивает для неё эти услуги.Операционная система предоставляет интерфейсы и для выполняющихся приложений, и для пользователей. Программы пользователей, да и многие служебные программы запрашивают у операционной системы выполнение тех операций, которые достаточно часто встречаются практически в любой программе. К таким операциям, прежде всего, относятся операции ввода-вывода, запуск или остановка какой-нибудь программы, получение дополнительного блока памяти или его освобождение и многие другие. Подобные операции невыгодно каждый раз программировать заново и непосредственно размещать в виде двоичного кода в телепрограммы, их удобнее собрать вместе и предоставлять для выполнения по запросу из программ. Это и есть одна из важнейших функций операционных систем.

Умаляю ! Переведите число Умаляю ! Переведите число из десятичной системы счисления в двоичную.840 Отметьте и последователь

Умаляю Помогите!!!1. Переведите число Умаляю Помогите!!!1. Переведите число из десятичной системы счисления в двоичную.840 
2. Отметьте и последовательно соедините на координатной плоскости точки, координаты которых приведены в двоичной системе счисления.
№ точки Двоичный код Десятичный код(101, 101)(101, 101000)31010, 101000)(1010, 1111)(10100, 1111)(10100, 101000)(11001, 101000)(11001, 101)(101, 101)
3. Декодируйте текстовые сообщения.1) Сообщение в кодировке ASCII: 01001000 01000001 01010010 01000100.
Декодированное сообщение: ____________________________________________ .2) Сообщение в кодировке Windows: 11010100 11000000 11001001 11001011.
Декодированное сообщение: ____________________________________________ .4. Постройте черно-белое изображение, которому будет соответствовать указанные двоичные коды (закрасьте клетки):Двоичный кодРисунок1100000111000011101001011001100110000001100000011000000110000001

  • http://i.imgur.com/Bcl9D30.png написал одну программу и теперь только использую для всх подряд)

Решить в паскале. Создайте двухмерный массив Х, имеющий четыре строки и три столбца, и найдите в нем максимальный по абсолютному з

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

  • Program vadim_Loh;
    uses crt;
    const
    N = 10;
    var m,o,max,i,j:integer;
    A:array [1..4,1..3] of integer;
    begin
    max:=0;
    randomize;
    for i:=1 to 4 do
    begin
    for j:=1 to 3 do
    begin
    A[i,j]:=random(100);
    end;
    end;
    for i:=1 to 4 do
    begin
    for j:=1 to 3 do
    begin
    write(a[i,j]:5);
    end;
    writeln;
    end;
    for i:=1 to 4 do
    for j:=1 to 3 do
    if A[i,j] > max then
    begin
    max:=A[i,j];
    o:=i;
    m:=j;
    end;
    writeln(‘CTOLBI= ‘,m,’ ‘,’STROKI= ‘,o,’ MAX= ‘,max);
    end.

Как вывести индекс массива в данной задаче? program gdiagle — uses crt-vari, j, max:integer-a:array[5,10] of integer-s:array[10] of integer-begin

Как вывести индекс массива в данной задаче?


program gdiagle ;

uses crt;
var
i,j,max:integer;
a:array[1..5,1..10] of integer;
s:array[1..10] of integer;
begin
for i:=1 to 5 do
begin
for j:=1 to 10 do
begin
a[i,j]:=random(50);
write (a[i,j],’ ‘ )
end;
writeln
end;
writeln (»);
for i:=1 to 5 do
begin
for j:=1 to 10 do
begin
if j=i then
begin
if max<a[i,j] then
max:=a[i,j];
end;
end;
end;
writeln(‘Максимум: ‘, max);
end.

  • Нужно сделать отдельную переменную, которая будет запоминать i и j у максимального, а потом их вывести

С массивом! for i:=1 to 10 doA[i]:=5*i-for i:=1 to 10 do begink:=A[i]-2-a[10-i+1]:=k-end

помогите пожалуйста с массивом!

for i:=1 to 10 do
A[i]:=5*i;
for i:=1 to 10 do 
begin
k:=A[i]-2;
a[10-i+1]:=k;
end

  • если нужна программа, меняющая ячейки местами
    1 2 3 4 5
    5 4 3 2 1

    вот код

    var a:array[1..10] of integer;   
          i,k:integer;
    begin 
       for i:=1 to 10 do   
          begin
             A[i]:=5*i;     
             write (a[i]:3);   
          end;
       writeln; 
       for i:=1 to 5 do    
          begin   
             k:=A[i];     
             A[i]:=A[10-i+1];     
             A[10-i+1]:=k;   
          end; 
       for i:=1 to 10 do   
          write (A[i]:3);
    end.

В программе Microsoft Ехсе1 выполните задания: Используя формулы нахождениядискриминанта и неизвестных, решите квадратноеуравнение 12х^2+5х-2=0

В программе Microsoft Ехсе1 выполните задания: 

Используя формулы нахождения
дискриминанта и неизвестных,

решите квадратное
уравнение 12х^2+5х-2=0 












 

  • Ответ расписан в приложенном документе, можешь проверить при разных значениях дискреминанта