Логические выражения с учетом правильной последовательности выполнения логических операций: (a v ¬a) & b a & (a v b) & (c v ¬b) a & ¬b v b & c v ¬a & ¬b a v ¬a &
1. (A v ¬A) & B = (A + ¬A) * B = 1 * B = B; 2. A & (A v B) & (C v ¬B) = A * (A + B) * (C + ¬B) = A * (C + ¬B) = A & (C v ¬B) 3. A & ¬B v B & C v ¬A & ¬B = A * ¬B + B * C + ¬A * ¬B = A * ¬B + ¬A * ¬B + B * C = = ¬B * (A + ¬A) + B * C = ¬B * 1 + B * C = ¬B + B * C = ¬B + C = ¬B v C 4. A v ¬A & B = A + ¬A * B = A + B = A v B
Выбрать требуемую толщину линий и кривых.Окно Палитра отображает текущий основной цвет и цвет фона. Чтобы рисовать выбранным основным цветом, протащите указатель. Чтобы рисовать выбранным цветом фона, щелкните правой кнопкой мыши и, удерживая ее, протащите указатель по изображению. Чтобы изменить текущий основной цвет, щелкните любой из доступных цветов. Чтобы изменить цвет фона, щелкните правой кнопкой мыши любой из доступных цветов. Чтобы создать новый цвет, щелкните правой кнопкой мыши любой из цветов и нажмите кнопку Определить цвет. Инструмент Криваяпозволяет проводить сглаженную кривую линию. Выберите инструмент Кривая, выберите толщину линии под панелью инструментов, выберите в палитре требуемый цвет и протащите указатель по изображению. Когда линия проведена, щелкните область изображения, где требуется разместить изгиб, и протащите указатель для придания дуге нужного изгиба.Инструмент Линия позволяет проводить прямую линию. Выберите инструмент Линия, выберите толщину линии под панелью инструментов, выберите в палитре требуемый цвет и протащите указатель по изображению. Чтобы провести линию фонового цвета, щелкните правой кнопкой мыши и, удерживая ее, протащите указатель по изображению.
type cName = string[20]; RC = record position: byte; name: cName; nGold: byte; nSilver: byte; nBronze: byte; cTotal: byte end; tM = array[1..nMax, 1..2] of byte;
procedure Shell(var a: tM; n: integer); { Сортировка методом Шелла массива a[1..n, 1..2] по убыванию значений элементов второго столбца. } var i, j, step, t1, t2: integer;
begin step := n div 2; while step > 0 do begin for j := n - step downto 1 do begin i := j; while i <= n - step do begin if a[i, 2] < a[i + step, 2] then begin t1 := a[i, 1]; t2 := a[i, 2]; a[i, 1] := a[i + 1, 1]; a[i, 2] := a[i + 1, 2]; a[i + 1, 1] := t1; a[i + 1, 2] := t2 end; i := i + step end end; step := step div 2 end end;
{ Основная программа } var f: file of RC; a: tM; i, n: byte; s: cName; t: RC;
begin { Организуем ввод данных } Assign(f, 'Olympic.in'); Rewrite(f); n := 0; repeat Writeln('Введите наименование команды или * для окончания ввода'); Readln(s); if s[1] <> '*' then begin n := n + 1; Write('Количество медалей: золото, серебро, бронза: '); Readln(t.nGold, t.nSilver, t.nBronze); t.position := n; t.name := s; t.cTotal := t.nGold * cGold + t.nSilver * cSilver + t.nBronze * cBronze; Write(f, t); a[n, 1] := t.position; a[n, 2] := t.cTotal end until s[1] = '*'; Reset(f); { Выполняем сортировку заполненного массива a, определяя положение записей в файле } Shell(a, n); { Выводим результаты, используя прямой доступ к файлу } Writeln('Результаты олимпиады'); for i := 1 to n do begin seek(f, a[i, 1] - 1); Read(f, t); Writeln(i, ': ', t.name, '(', t.nGold, ' зол, ', t.nSilver, ' сер, ', t.nBronze, ' бронз), очков- ', t.cTotal) end; Close(f); end.
Тестовое решение: Введите наименование команды или * для окончания ввода Веселые медузы Количество медалей: золото, серебро, бронза: 4 6 10 Введите наименование команды или * для окончания ввода Юные сурки Количество медалей: золото, серебро, бронза: 2 0 5 Введите наименование команды или * для окончания ввода Черепашки-ниндзя Количество медалей: золото, серебро, бронза: 3 7 11 Введите наименование команды или * для окончания ввода * Результаты олимпиады 1: Черепашки-ниндзя(3 зол, 7 сер, 11 бронз), очков- 118 2: Веселые медузы(4 зол, 6 сер, 10 бронз), очков- 114 3: Юные сурки(2 зол, 0 сер, 5 бронз), очков- 39
2. A & (A v B) & (C v ¬B) = A * (A + B) * (C + ¬B) = A * (C + ¬B) = A & (C v ¬B)
3. A & ¬B v B & C v ¬A & ¬B = A * ¬B + B * C + ¬A * ¬B = A * ¬B + ¬A * ¬B + B * C =
= ¬B * (A + ¬A) + B * C = ¬B * 1 + B * C = ¬B + B * C = ¬B + C = ¬B v C
4. A v ¬A & B = A + ¬A * B = A + B = A v B