Нарисуйте таблиц истинности для следующих выражений и вычислите их значения. Пусть а,b,c- логические величины, которые имеют следующие значения: а=истина, b=ложь, с=истина. а или b и c
Program Nuli; uses Crt; const M=8; type Mat = array [1..M,1..M] of integer; var i,j: integer; A: Mat;
begin ClrScr; WriteLn ('Old Massiv:'); for i:=1 to M do begin for j:=1 to M do begin A[i,j]:=10+random(90); Write(A[i,j]:4); end; WriteLn; end; WriteLn; WriteLn ('New Massiv:'); for i:=1 to M do for j:=1 to M do if j<=(M-i) then A[i,j]:=0; for i:=1 to M do begin for j:=1 to M do begin Write(A[i,j]:4); end; WriteLn; end; WriteLn; ReadLn; end.
Механизмы поиска могут быть различными. Конкретный механизм зависит от различных факторов, таких как, количество планируемых поисков, объем текстового файла, условия поиска и т.д. 1. Однократный поиск в соответствии с условиями задачи. В этом случае нет смысла в использовании сложных алгоритмов и/или предварительной подготовке файла. Чем сложнее алгоритм, тем больше будут затраты труда и времени на написание и отладку программы. Наилучшее решение - последовательный просмотр строк файла с поиском первого вхождения в строку заданного контекста. Большинство языков программирования имеет встроенную функцию или процедуру поиска подстроки в строке, например Pos() в языке Паскаль, поэтому задача сводится к единственному циклу "Повторять пока не встретился конец файла: читать строку, искать в строке контекст и что-то с ним сделать". 2. Многократный поиск в файле различных контекстов. Здесь используются специально разработанные методы, основанные на предшествующем построении дополнительных структур, таких, как индексы, деревья поиска и т.д. Их общий смысл в том, что для поиска сначала просматриваются эти вс структуры (которые, к тому же, упорядочены для ускорения поиска) и зачастую к самому файлу можно вообще не обращаться. Для понимания аналогии можно вспомнить поиск нужного слова в словаре. Сначала мы выбираем первую букву, затем ищем страничку, которая содержит слова, между которыми находится наше искомое, а потом просматриваем найденную страницу.
uses Crt;
const M=8;
type Mat = array [1..M,1..M] of integer;
var i,j: integer;
A: Mat;
begin
ClrScr;
WriteLn ('Old Massiv:');
for i:=1 to M do
begin
for j:=1 to M do
begin
A[i,j]:=10+random(90);
Write(A[i,j]:4);
end;
WriteLn;
end;
WriteLn;
WriteLn ('New Massiv:');
for i:=1 to M do
for j:=1 to M do
if j<=(M-i) then A[i,j]:=0;
for i:=1 to M do
begin
for j:=1 to M do
begin
Write(A[i,j]:4);
end;
WriteLn;
end;
WriteLn;
ReadLn;
end.
1. Однократный поиск в соответствии с условиями задачи.
В этом случае нет смысла в использовании сложных алгоритмов и/или предварительной подготовке файла. Чем сложнее алгоритм, тем больше будут затраты труда и времени на написание и отладку программы. Наилучшее решение - последовательный просмотр строк файла с поиском первого вхождения в строку заданного контекста. Большинство языков программирования имеет встроенную функцию или процедуру поиска подстроки в строке, например Pos() в языке Паскаль, поэтому задача сводится к единственному циклу "Повторять пока не встретился конец файла: читать строку, искать в строке контекст и что-то с ним сделать".
2. Многократный поиск в файле различных контекстов.
Здесь используются специально разработанные методы, основанные на предшествующем построении дополнительных структур, таких, как индексы, деревья поиска и т.д. Их общий смысл в том, что для поиска сначала просматриваются эти вс структуры (которые, к тому же, упорядочены для ускорения поиска) и зачастую к самому файлу можно вообще не обращаться. Для понимания аналогии можно вспомнить поиск нужного слова в словаре. Сначала мы выбираем первую букву, затем ищем страничку, которая содержит слова, между которыми находится наше искомое, а потом просматриваем найденную страницу.