В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Dima7111
Dima7111
27.06.2020 14:47 •  Информатика

Написати в PascalABC програму переведення даного числа між десятковою та вісімковою системами числення.

Показать ответ
Ответ:
fdffxdf
fdffxdf
10.11.2020 00:09

Корректное задание смотри в приложении.

Первый решения это перевести данное число в десятичную систему счисления по формуле: \overline{a_n...a_2a_1a_0}_{\, k} =(a_n\cdot k^n+...+a_2\cdot k^2+a_1\cdot k^1+a_0\cdot k^0)_{10}

И выполнить деление.

Но можно и проще. Рассмотрим приведённую формулу для двоичной системы счисления:

\overline{a_n...a_2a_1a_0}_{\, 2} =(a_n\cdot 2^n+...+a_2\cdot 2^2+a_1\cdot 2^1+a_0\cdot 2^0)_{10} =(a_n\cdot 2^n+...+a_2\cdot 4+a_1\cdot 2+a_0)_{10}

Заметим, что каждое слагаемое, начиная c a₂ и левее, кратно 4. Т.к. далее будут a₃·8, a₄·16, a₅·32, ...

Алфавит двоичной системы счисления содержит только 0 и 1. Поэтому для кратности 4 две цифры с левого края должны быть нулями. Иначе при делении на 4 будет остаток 1, 2 или 2+1=3.

Таким образом подходят числа под 1 и 2 номерами.

ответ: 1) 10100₂; 2) 1110100₂


Отметьте все числа, которые делятся на 4. 1) 101002 2) 11101002 3) 1101012 4) 10110102 5) 11110102
0,0(0 оценок)
Ответ:
ekaterinka21041
ekaterinka21041
05.02.2023 08:45
Можешь "включить" подробный вывод, если объявишь макрос "#define DEBUG"

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace cool{
    class main
    {
        static void Main(string[] args)
        {
            int u1 = 1, u2 = 2;
            int l1 = 1, l2 = 1;
            double a = 0, eps = 0.001;
            int i = 2;
            int U, L;
            double A;

            U = u2 + u1;
            L = l2 + l1;
            A = (double)U / L;

            while (Math.Abs(A - a) > eps || i < 5)
            {
                a = A;
                i++;
                l1 = l2; u1 = u2;
                l2 = L; u2 = U;

                U = u2 + l2;
                L = l2 + l1;
                A = (double)U / L;
               
                #if DEBUG 
                Console.WriteLine("{0} -> {1}|{2}", i, U, L);
                #endif
                if (i == 5)
                    Console.WriteLine("Пятый элемент: {0}", A);
                if (Math.Abs(A - a) < eps)
                    Console.WriteLine("Элемент, отличающийся на менее чем {1}: {0}", A, eps);
            }
        }
    }
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота