Практическая работа №13 «Логические функции и схемы – основы элементной базы компьютера».
Цель работы: изучить основные логические элементы, научиться строить логические схемы по заданным логическим выражениям.
План работы:
Задание №1.
Построить логическую схему для логического выражения. Значения логического выражения выберите по таблице в соответствии с номером варианта, заданного преподавателем.
Варианта Логическое выражение
1 ¬(A & B) V (A & ¬B )
2 (A V B) & (A V ¬C)
3 (A V B V C) & (¬A V B)
4 A & C V C & (B V C)
5 A & (B V C) V ¬A
6 (¬A V C) ¬(& A & C)
7 (¬A V B) & (A V C)
8 A & ¬(B V C) V A &
9 ¬(A & C) & (B V C)
10 (A & B) V (¬A V B)
Алгоритм построения логических схем:
1. Определите число логических переменных.
2. Определите количество базовых логических операций и их порядок действий.
3. Изобразите для каждой логической операции соответствующий ей элемент (вентиль). Начните построение с последнего логического действия.
4. Соедините вентили в порядке выполнения логических операций.
Пример. Построить логическую схему, соответствующую логическому выражению
F = А & В V (В V А).
Вычислить значения выражения для А = 1, В = 0.
Переменных две: А и В; логических операций три: & и две V; А & В V (В V А).
Схему строим слева направо в соответствии с порядком логических операций.
Задание №2. По логической схеме, заданной в таблице, написать логическое выражение. Определить, чему будет равно значение на выходе логической схемы, если A = 1, B = 0.
Контрольные во Расскажите, что такое логический элемент (вентиль).
2. Поясните, что реализует логический элемент И.
3. Поясните, что реализует логический элемент ИЛИ.
4. Поясните, что реализует логический элемент НЕ.
Объяснение:
#include "pch.h"
#include <stdio.h>
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int num, k=0;
string str;
cout << "Введи многозначное число" << endl;
cin >> num;
while (num != 0)
{
k += 1;
num /= 10;
}
if(k==1)
{
cout << k << " цифра" << endl;
}
else if (k >= 2 && k <= 4) {
cout << k << " цифры" << endl;
}
else {
cout << k << " цифр" << endl;
}
system("pause");
return 0;
}
Var i, n: Integer;
Begin
Randomize;
n := Random(10);
For i := 1 To n Do
WriteLn(Random, ' ');
End.
Program TaskB;
Var i: Integer;
Begin
Randomize;
For i := 1 To 10 Do
WriteLn(Random, ' ');
End.
Program TaskC;
Var i: Integer;
Begin
Randomize;
For i := 1 To 10 Do
WriteLn(Random(11), ' ');
End.
Program TaskD;
Var i: Integer;
Begin
Randomize;
For i := 1 To 10 Do
WriteLn(Random(10), ' ');
End.
Program TaskE;
Var i: Integer;
Begin
Randomize;
For i := 1 To 10 Do
WriteLn(Random(20 + 10 + 1) - 10, ' ');
End.
Program TaskF;
Var i: Integer;
Begin
Randomize;
For i := 1 To 10 Do
WriteLn(Random(122 + 97 + 1) - 97, ' ');
End.
Program TaskG;
Var i, sum: Integer;
BeginRandomize;
For i := 1 To 10 Do
sum := sum + Random(11);
WriteLn(sum);
End.