19427

Логические величины, операции, выражения. Логические выражения в качестве условий в ветвящихся и циклических алгоритмах

Реферат

Информатика, кибернетика и программирование

Логические величины операции выражения. Логические выражения в качестве условий в ветвящихся и циклических алгоритмах. Для того чтобы понять работу ветвящихся и циклических алгоритмов рассмотрим понятие логического выражения. В некоторых случаях выбор варианта де...

Русский

2013-07-12

44 KB

9 чел.

Логические величины, операции, выражения. Логические выражения в качестве условий в ветвящихся и циклических алгоритмах.

Для того чтобы понять работу ветвящихся и циклических алгоритмов, рассмотрим понятие логического выражения.

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

Например, расчёт корней квадратного уравнения производится по-разному в зависимости от дискриминанта (вспомните математику).

В результате сравнения значений двух выражений возможны два варианта ответа: сравнение истинно или ложно?

Например:

2+3 > 3+1 - да (истинно)

0 < -5 - нет (ложно)

Выражения такого вида мы будем называть логическими выражениями.

Логическое выражение, подобно математическому выражению, выполняется (вычисляется), но в результате получается не число, а логическое значение: истина (true) или ложь (false). Логическая величина – это всегда ответ на вопрос, истинно ли данное высказывание.

Нам известны шесть операций сравнения:

знак отношения

операция отношения

=

равно

<>

не равно

>

больше

<

меньше

>=

больше или равно

<=

меньше или равно


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

5 > 3

a < b

c <> 7

Как выполняются операции отношения для числовых величин понятно из математики. Как же сравниваются символьные величины? Отношение «равно» истинно для двух символьных величин, если их длинны одинаковы и все соответствующие символы совпадают. Следует учитывать, что пробел тоже символ.

Символьные величины можно сопоставлять и в отношениях >, <, >=, <=. Здесь упорядоченность слов (последовательности символов) определяется по алфавитному принципу.

«кот» = «кот»

«кот» < «лис»

«кот» > «дом»

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

Часто встречаются задачи, в которых используются не отдельные условия, а совокупность связанных между собой условий (отношений). Например, в магазине вам нужно выбрать туфли, размер которых r = 45, цвет color = белый, цена price не более 400руб.

Другой пример: школьник выяснил, что сможет купить шоколадку, если она стоит 3руб. или 3руб. 50коп.

В первом примере мы имеем дело с тремя отношениями, связанными между собой союзом "и" и частицей "не", во втором - с двумя отношениями, связанными союзом "или". Подобные условия назовём составными, и для их обозначения в алгоритме договоримся использовать союзы "и", "или", "не", которые будем рассматривать как знаки логических операций, позволяющих из простых условий создавать составные, подобно тому, как из простых переменных и констант с помощью знаков +, - и т. д. можно создавать алгебраические выражения.

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

первое: (r = 45) и (color = белый) и (не (price>400))

второе: (цена=3) или (цена=3.5)

Выражение, содержащее логические операции, будем называть сложным логическим выражением.

Объединение двух (или нескольких) высказываний в одно с помощью союза «и» называется операцией логического умножения или конъюнкцией.

В результате логического умножения (конъюнкции) получается истина, если истинны все логические выражения.

Объединение двух (или нескольких) высказываний с по мощью союза «или» называется операцией логического сложения или дизъюнкцией.

В результате логического сложения (дизъюнкции) получается истина, если истинно хотя бы одно логическое выражения.

Присоединение частицы «не» к высказыванию называется операцией логического отрицания или инверсией.

Отрицание изменяет значение логической величины на противоположное: не истина = ложь; не ложь = истина.

Если в сложном логическом выражении имеется несколько логических операций, то возникает вопрос, в каком порядке их выполнит компьютер. По убыванию старшинства логические операции располагаются в таком порядке:

  1.  отрицание (не);
  2.  конъюнкция (и);
  3.  дизъюнкция (или).

В логических выражениях можно использовать круглые скобки. Так же как и в математических формулах, скобки влияют на последовательность выполнения операций. Если нет скобок, то операции выполняются в порядке их старшинства.

Пример. Пусть a, b, c – логические величины, которые имеют следующие значения: a = истина, b = ложь, c = истина. Необходимо определить результаты вычисления следующих логических выражений:

  1.  a и b
  2.  a или b
  3.  не a или b
  4.  a и b или c
  5.  a или b и c
  6.  не a или b и c
  7.  (a или b) иили b)
  8.  не (a или b) иили b)
  9.  не ( a и b и c)

Получим в результате:

  1.  ложь
  2.  истина
  3.  ложь
  4.  истина
  5.  истина
  6.  ложь
  7.  истина
  8.  ложь
  9.  истина.

Пример. Составить алгоритм для вычисления:

Алгоритм Вычисление x
переменные a, c, x - вещественные
начало
ввод (а, c)
если (4*а – с >=0) и (а<>0) то
начало
x := корень(4*а – с)/(2*a)
вывод (х)
конец
иначе
вывод («нет решения»)
конец

Компьютер сначала проверит условие (4*а – с >=0) и (а<>0) и если оно окажется истинно, то вычислить x, иначе выведет сообщение «нет решения».

Пример. Составить алгоритм для вычисления суммы всех чисел от 1 до n.

Алгоритм Вычисление суммы чисел
переменные a, c, x - вещественные
начало
ввод (n)
x := 1
пока x<n повторять
начало
s := s + x
x := x +1
конец
вывод (s)
конец

До тех пор пока условие x<n будет истинно компьютер будет выполнять тело цикла – вычислять очередную сумму и увеличивать x на единицу.


 

А также другие работы, которые могут Вас заинтересовать

74193. Visual development languages and tools 43 KB
  Visul development lnguges nd tools. In the summer of 1991 Microsoft introduced development tool clled Visul Bsic. Visul Bsic revolutionized ll this tedious code. Insted of hving to write lengthy code to mke window respond to mouse Visul Bsic hndled ll of those ctions nd hid them from the progrmmer.
74194. Multiparadigm programming language – Python 50 KB
  Multiprdigm progrmming lnguge Python.1 Python is generlpurpose progrmming lnguge tht blends procedurl functionl nd objectoriented prdigms. Python is powerful multiprdigm computer progrmming lnguge optimized for progrmmer productivity code redbility nd softwre qulity. Python is populr open source progrmming lnguge used for both stndlone progrms nd scripting pplictions in wide vriety of domins.
74195. Version control software and tools 39 KB
  Version control softwre nd tools1 Version control lso clled subversion control or revision control helps lrge projects from spinning out of control by letting individul progrmmers writers or project mngers tckle project from different ngles without getting in ech others wy nd without doing dmge tht cnt be undone. Version Control lets you trck your files over time. Youve probbly cooked up your own version control system got ny files like this: Lb1_1. dd version number or dte: Document_V1.
74196. Cloud computing: programming models 35 KB
  Cloud computing: progrmming models1 Cloud computing is computing in which lrge groups of remote servers re networked to llow centrlized dt storge nd online ccess to computer services or resources. Clouds cn be clssified s public privte or hybrid. Cloud computing relies on shring of resources to chieve coherence nd economies of scle similr to utility like the electricity grid over network. t the foundtion of cloud computing is the broder concept of converged infrstructure nd shred services.
74197. History of programming languages and tools 242.5 KB
  History of progrmming lnguges nd tools. PreHistory The first progrmming lnguges predte the modern computer. Figure 1 Punch crd Like mny firsts in history the first modern progrmming lnguge is hrd to identify. To some people the nswer depends on how much power nd humnredbility is required before the sttus of ldquo;progrmming lngugerdquo; is grnted.
74198. Evolution of programming languages and tools 56.5 KB
  The earliest practical form of programming was probably done by Jaquard (1804, France). He designed a loom that performed predefined tasks through feeding punched cards into a reading contraption.
74199. Programming paradigms 45 KB
  Progrmming prdigms. The word progrmming prdigm is used in severl different lthough relted menings in computer science. Progrmming prdigm pttern tht serves s school of thoughts for progrmming of computers. Progrmming technique relted to n lgorithmic ide for solving prticulr clss of problems.
74200. Imperative programming languages and tools 78 KB
  Impertive progrmming lnguges nd tools. Progrmming lnguges bsed on the impertive prdigm hve the following chrcteristics: 1 The bsic unit of bstrction is the PROCEDURE whose bsic structure is sequence of sttements tht re executed in succession bstrcting the wy tht the progrm counter is incremented so s to proceed through series of mchine instructions residing in sequentil hrdwre memory cells. Typiclly given vrible my ssume mny different vlues of the course of the execution of progrm just s hrdwre memory cell my contin mny different vlues.1...
74201. Imperative programming languages and tools 56.5 KB
  LGOL gretly influenced mny other lnguges its mjor contribution is being the root of the tree tht gve rise to mny other progrmming lnguges including BCPL B Pscl PL I Simul C C nd Jv. Niklus Wirth bsed his own LGOL W on LGOL 60 before developing Pscl. This led to the doption of smller nd more compct lnguges such s Pscl...