Николаевич1033
?>

Для какого из указанных значений x истинно высказывание > 56)=> (x> 198))& & (x< 369)?

Информатика

Ответы

ALLA1868
С1965 года нам известно о так называемом  законе мура: «количество , размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца, что приводит к появлению новых технологий, росту производительности и прорывам в области электроники». излагая этот закон общественности, один из отцов intel не мог предположить, что инженеры на протяжении целых пятидесяти лет смогут придерживаться его. не мог он и предположить, что в 2014 году сложности с соблюдением этого закона начнутся и в самой компании intel. ведь для увеличения количества в процессоре нужно уменьшать технический процесс производства. по-простому, уменьшать размер и увеличивать их плотность.
vodoleytatyana

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

для этого разберёмся, что же такое число и выражение, и какие они бывают.

понятия и определения:

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

число : - строка вида /[0-9]+(.[0-9]+)? / или число на паскале

2) у выражения можество определений. во-первых, число само по себе тоже является выражением, возвращающим само себя. во-вторых число {+*,итд} выражение тоже являются выражением.

набор рекурсивных определений:

выражение : - число

выражение : - -число

выражение : - (выражение)

выражение : - число + выражение

выражение : - число - выражение

выражение : - число * выражение

выражение : - число \ выражение

список можно продолжить и для других операций.

используя эти определения можно написать программу, которая реализует предикаты (функции) число() и выражение() (функции называй, как хочешь). особенно удобно это делать на логических языках программирования по типу prolog, так как её код похож на то, что записано выше.

для паскаля же (или того же c++) нужно писать рекурсивную программу.

далее псевдокод:

void вывестиошибку(){

print("у тебя что-то не то с перепиши! ");

}

real число(string numb){

    if(/[0-9]+(.[0-9]+)? /.ismatch(numb) < > true) вывестиошибку();

    return strtoint(numb);

}

real число(real numb){

    return numb;

}

real выражение (string expr) {

    if(/[0-9]+(.[0-9]+)? /.ismatch(expr)){

          // вариант: число

          return число(expr);

    }

    else if(/-[0-9]+(.[0-9]+)? /.ismatch(expr)){

          // вариант: -число

          return -число(expr);

    }

    else if(/+)\)/.ismatch(expr)){

          // вариант: (выражение)

          return выражение(/+)\)/.match(expr)[1]); //используя группы регулярных выражений вытаскиваем содержимое из скобок

    }

    else if(/([0-9]+-9]++(.+)/.ismatch(expr)){

          // вариант: число + выражение

          real numb = /([0-9]+-9]++(.+)/.match(expr)[1]; // вытаскиваем число

          expr = /([0-9]+-9]++(.+)/.ismatch(expr)[2]; // вытаскиваем выражение

          return число(numb) + выражение(expr); // складываем

    } else if для остальных *,/) {}

    else {

          //если ничего не подошло, значит ошибка в выражении.

        вывестиошибку();

    }

}

p.s. в выражении не может быть пробелов. если нужна поддержка пробелов, подкорректируй регулярки.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Для какого из указанных значений x истинно высказывание > 56)=> (x> 198))& & (x< 369)?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

f-d-a-14
ЮлияДаниил520
Эдгеева219
AlekseiMardanova
amxvel7596
mail66
iburejko7
myudanova631
avdeevo
edvlwork15
Хохлова Иванович
ustinovda14
narkimry134
borisova-valeriya
ИринаАлександровна