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

Ниже код одной и той же программы на двух языках программирования. си int main (void) { int a, b, x, y; scanf("%i%i", & a, & b); x = (a + 2*b) / 5; y = b - x; printf("%i %i", x, y); } паскаль var a, b, x, y: integer; begin read(a, b); x : = (a + 2*b) div (5); y : = b - x; write(x,' ',y); end. определите, какие значения указал пользователь в качестве входных данных, если известно, что программа в результате вывела два числа: 1 и 0 в указанном порядке.

👇
Ответ:
Идем по программе от конца к началу.
Программа выводит значения x=1 и y=0.
y = b-x ⇒ b = y+x=0+1 = 1
Значение b = 1 найдено.
x = (a+2*b) div 5; (a+2*1) div 5 = 1; (a+2) div 5 = 1
Отметим, что div - это операция целочисленного деления, которая отбрасывает остаток. Допустим, остаток был нулевой, тогда а+2 = 5 ⇒ a=3
Но остаток мог быть и ненулевым! При делении на 5 остатком могут быть числа от 0 до 4, следовательно, в числителе могло быть значение на 1,2,3 или 4 большее, т.е. значение а могло быть не только 3, но и 4,5,6,7.
ответ: a\in[3;7], \ a\in \mathbb N, \ b=1
4,4(2 оценок)
Ответ:
Ruslan0320
Ruslan0320
26.07.2020
Если программа вывела числа 1 и 0,то итоговым значение x будет x=1, а y=0.
Следовательно (a+2b) div 5 = 1   и    b-1=0
Из второго уравнения можно выразить b = 1
Подставим b =1 в первое уравнение: (a+2) div 5 = 1
a=3 b =1
4,6(56 оценок)
Открыть все ответы
Ответ:
Мила098
Мила098
26.07.2020
Сначала немного теории.
Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и).
Таблица истинности импликации(стрелочки):
0 0 1
0 1 1
1 0 0
1 1 1
Общее правило: если a<=b, тогда правда
Таблица истинности конъюнкции(/\):
0 0 0
0 1 0
1 0 0
1 1 1
Общее правило: если есть одна ложь-всё ложь.
Про НЕ и гуманитарий поймёт.
Про данный пример:
Нам нужен вариант, где оба выражения являются правдой, т.к. между ними стоит И
Подробно рассмотрим первый вариант:
Ирина
Первая буква гласная-правда
Вторая буква гласная-ложь
Значит, результат импликации-ложь, в чём можно убедиться взглянув на таблицу истинности, но, так как НЕ так же присутствует в данном условии, это выражение возвращает правду.
Последняя буква гласная-правда
Так как оба выражения при конъюнкции правда, всё выражение является правдой и удовлетворяет условию.
4,6(87 оценок)
Ответ:
ktvsl
ktvsl
26.07.2020
#include <cstdlib>
#include <ctime> 
#include <iostream>
using namespace std;

int main() {
    int n=10,k=0;
    int a[n];
    srand(time(NULL));
    cout<<"array:"<<endl;
    for (int i=0; i<n; i++)
    {
      a[i]=rand() % 50;
      cout<<a[i]<<" ";
    }
    cout<<endl;
    for (int i=0; i<n; i++)
    if (a[i]%2==0 && a[i]!=0)  {
       cout<<a[i]<<" ";
       k++;
    }
    cout<<endl;
    if (k>n-k) cout<<"четных больше";
    else if (k<n-k) cout<<"нечетных больше";
    else cout<<"равное количество";
    cout<<endl;
 
    system("pause");
    return(0);
}
4,7(19 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ