Построение таблиц истинности для логических выражений Для логического выражения можно построить таблицу истинности, показывающую, какие значения принимает выражение при всех наборах значений входящих в него переменных. Для построения таблицы истинности следует: 1. Подсчитать n — число переменных в выражении; 2. Подсчитать общее число логических операций в выражении; 3. Установить последовательность выполнения логических операций с учётом скобок и приоритетов; 4. Определить число столбцов в таблице: число переменных + число операций; 5. Заполнить шапку таблицы, включив в неё переменные и операции в соответствии с последовательностью, установленной в п. 3; 6. Определить число строк в таблице (не считая шапки таблицы): m=2 n ; 7. Выписать наборы входных переменных с учётом того, что они представляют собой целый ряд n-разрядных двоичных чисел от 0 до 2 n −1; 8. Провести заполнение таблицы по столбцам, выполняя логические операции в соответствии с установленной последовательностью.
В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.
1) Var n,m,max,min:integer; Begin write('Введите число: '); readln(n); min:=9; max:=0; while n>0 do begin m:=n mod 10; if m<min then min:=m; if m>max then max:=m; n:=n div 10; end; writeln('Максимальное число: ',max); writeln('Минимальное число: ',min); End. 2) var i,count: integer; n,s:string; begin writeln('Введите число: '); readln(s); writeln('Введите цифру: '); readln(n); for i:=1 to length(s) do if(s[i]=n)then count:=count+1; writeln('Количество раз, когда встречается цифра = ',count); end.
В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.
Код процедуры:
procedure print_fib(n: integer);
var a, b, t: integer;
begin
a := 0;
b := 1;
while n > 0 do
begin
write(b, ' ');
b := a + b;
a := b - a;
n := n - 1;
end;
end;
Пример основной программы:
begin
print_fib(10)
end.
Вывод:
1 1 2 3 5 8 13 21 34 55
Var
n,m,max,min:integer;
Begin
write('Введите число: ');
readln(n);
min:=9;
max:=0;
while n>0 do
begin
m:=n mod 10;
if m<min then min:=m;
if m>max then max:=m;
n:=n div 10; end;
writeln('Максимальное число: ',max);
writeln('Минимальное число: ',min);
End.
2)
var
i,count: integer;
n,s:string;
begin
writeln('Введите число: ');
readln(s);
writeln('Введите цифру: ');
readln(n);
for i:=1 to length(s) do
if(s[i]=n)then
count:=count+1;
writeln('Количество раз, когда встречается цифра = ',count);
end.