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

1. напишите программу которая будет запрашивать у пользователя 4 числа, первых три числа программа будет суммировать, а последнее вычитать и выводить на экран. на основании кода программы составьте блок схему не обяз.

2. напишите программу которая будет запрашивать у пользователя прогноз погоды на три дня и выводить его на экран. на основании кода программы составьте блок схему

Показать ответ
Ответ:
мопдркиопм
мопдркиопм
23.04.2021 09:48
Думаю, что-то типа того.

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    const int n = 100;
    char *C = new char[n];
    int p // позиция
    int l // длина
    int k // повторения

    cout << "String C: ";
    cin >> C;
    cout << "Pos: ";
    cin >> p; p--;
    cout << "Length: ";
    cin >> l;
    cout << "N: ";
    cin >> k;
    char *V = new char[l*k+1];

    if ((p >= 0) && (l > 0) && (k > 0) && ((strlen(C) - p) >= l) && (p <= strlen(C))) //проверка ввода
    {
        __asm
        {
            mov ebx, k;           // количество повторений
            mov edi, V         // адрес приёмника
            m1 : cmp   ebx, 0  // сравнение
                 je   exit1    // если EBX = 0, то переход на exit1
                 mov   ecx, l  // длина строки
                 mov   esi, C  // адрес источника
                 add   esi, p  // с заданной позиции
             m2 :
                mov al, [esi]    //из ESI
                mov [edi], al    // запись в EDI
                inc edi            // EDI+1
                inc esi            // ESI+1
                loop  m2        // цикл EСХ раз
                dec ebx         // EBX-1
                jmp m1             // переход на m1
            exit1 : mov[edi], 0
        }

        cout << "\nV: ";
        cout << V << endl;
    }

    else cout <<  "\nError " << endl;

    system("pause");
}
0,0(0 оценок)
Ответ:
Anrehah
Anrehah
16.02.2021 07:17
1)  Один байт = 8 бит, максимальное число 2^8 - 1 = 255, если числа без знака.  Для знаковых чисел старший бит отводится под знак числа, следовательно, минимальное число = - 2^7 - 1
 = - 127,  максимальное число = + 127
2)  Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит,  в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000  0110  0100  0111  и записываем в шестнадцатиричном виде 
0111(2) = 7(16)   0100(2) = 4(16)   0110(2) =6(16)   0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля  = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а)   будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное  01101001(2)  ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота