М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
AVRORA444
AVRORA444
05.11.2022 02:51 •  Информатика

1: составить программу: поиск максимума, минимума и замена элементов > 1 на 0 в массиве, состоящем из 50 элементов (ввод через случайные числа). поиск и замену оформить в виде процедур.
программу отладить на компьютере.

2: составить программу: нахождения произведения и замены элементов > 5 на 1 в массиве, состоящем из 30 элементов (ввод через случайные числа). произведение оформить в виде процедур.
программу отладить на компьютере.

👇
Ответ:
era22222
era22222
05.11.2022

задача 1

program ProcArray;

procedure GetMax (A: array of Integer; var imax: Integer);

var

 i: Integer;

begin

 imax := Low (A);

 for i := Low (A) to High (A) do

   if A [i] > A [imax] then

     imax := i;

end;

procedure GetMin (A: array of Integer; var imin: Integer);

var

 i: Integer;

begin

 imin := Low (A);

 for i := Low (A) to High (A) do

   if A [i] < A [imin] then

     imin := i;

end;

procedure Repl (var A: array of Integer; OldValue, NewValue: Integer);

var

 i: Integer;

begin

 for i := Low (A) to High (A) do

   if A [i] > OldValue then

     A [i] := NewValue;

end;

var

 A: array [0..49] of Integer;

 i, imax, imin: Integer;

begin

 Randomize;

 for i := Low (A) to High (A) do begin

     A [i] := Random (21) - 10;

     Write (A [i] :3, ' ');

 end;

 WriteLn;

 GetMax (A, imax);

 WriteLn ('Максимальное значение = ', A [imax]);

 GetMin (A, imin);

 WriteLn ('Минимальное значение = ', A [imin]);

 Repl (A, 1, 0);

 WriteLn ('Замена >1 на 0');

 for i := Low (A) to High (A) do

     Write (A [i] :3, ' ');

 ReadLn;

end.

задача 2

program ProcArray1;

procedure Multi (A: array of Integer; var Prod: LongInt);

var

 i: Integer;

begin

 Prod := 1;

 for i := Low (A) to High (A) do

   Prod := Prod * A [i];

end;

procedure Repl (var A: array of Integer; OldValue, NewValue: Integer);

var

 i: Integer;

begin

 for i := Low (A) to High (A) do

   if A [i] > OldValue then

     A [i] := NewValue;

end;

var

 A: array [0..29] of Integer;

 i: Integer;

 p: LongInt;

begin

 Randomize;

 for i := Low (A) to High (A) do begin

     A [i] := Random (3) + 1;

     Write (A [i] :3, ' ');

 end;

 WriteLn;

 Multi (A, p);

 WriteLn ('Произведение = ', p);

 Repl (A, 5, 1);

 WriteLn ('Замена >5 на 1');

 for i := Low (A) to High (A) do

     Write (A [i] :3, ' ');

 ReadLn;

end.

Объяснение:

Во задаче №2 при заполнении массива значениями больше 5 начинает возникать переполнение LongInt из за чего значение произведения становится отрицательным

4,5(10 оценок)
Открыть все ответы
Ответ:
liker271
liker271
05.11.2022

3. B ∨ A

4. A & ¬(¬B ∨ C) ↔ A & B & ¬C (высказывания являются эквивалентными)

5. ложное

Объяснение:

3.

(¬A & B) ∨ (A & ¬B) ∨ (A & B) = (¬A & B) ∨ (A & B) ∨ (A & ¬B) = B & (¬A ∨ A) ∨ (A & ¬B) = B & 1 ∨ (A & ¬B) = B ∨ (A & ¬B) = (B ∨ A) & (B ∨ ¬B) = (B ∨ A) & 1 = B ∨ A

Согласно переместительному закону:

(¬A & B) ∨ (A & ¬B) ∨ (A & B) = (¬A & B) ∨ (A & B) ∨ (A & ¬B)

Согласно распределительному закону для логического сложения:

(¬A & B) ∨ (A & B) = B & (¬A ∨ A)

Согласно закону исключения третьего:

¬A ∨ A = 1

Согласно закону исключения констант для логического умножения:

B & 1 = B

Согласно распределительному закону для логического умножения:

B ∨ (A & ¬B) = (B ∨ A) & (B ∨ ¬B)

Согласно закону исключения третьего:

B ∨ ¬B = 1

Согласно закону исключения констант для логического умножения:

(B ∨ A) & 1 = B ∨ A

4.

A & ¬(¬B ∨ C) = A & ¬(¬B) & ¬C = A & B & ¬C

Согласно закону де Моргана:

¬(¬B ∨ C) = ¬(¬B) & ¬C

Согласно закону двойного отрицания:

¬(¬B) = B

A & ¬(¬B ∨ C) ↔ A & B & ¬C

(высказывания являются эквивалентными)

Составим таблицы истинности для доказательства эквивалентности (картинки)

5.

(¬(X < 5) ∨ (X < 3)) & (¬(X < 2) ∨ (X < 1)) при X = 1

Подставим значение X в высказывание, а затем определим истинность или ложность

(¬(1 < 5) ∨ (1 < 3)) & (¬(1 < 2) ∨ (1 < 1)) = (¬(истина) ∨ (истина)) & (¬(истина) ∨ (ложь)) = (ложь ∨ истина) & (ложь ∨ ложь) = истина & ложь = ложь

Общий порядок действий:  

1) скобки

2) НЕ (¬, черта над выражением) - значение противоположно исходному высказыванию  

3) И (&, ∧) - истинно, когда оба исходных высказывания истинны  

4) ИЛИ (∨) - ложно, когда оба исходных высказывания ложны


нужно упростить логическое выражение. Определить на эквивалентность. Определить истинность и ложност
нужно упростить логическое выражение. Определить на эквивалентность. Определить истинность и ложност
4,6(4 оценок)
Ответ:
СешМАНИ
СешМАНИ
05.11.2022

Линейными называются программы, состоящие из простых команд (операторов).

Простыми командами (простыми указаниями алгоритма) называются команды, которые не используют условия при своем исполнении. К числу простых операторов относятся команды (операторы) присваивания, ввода и вывода, вызова вс алгоритма (подпрограммы).Чаще для определения начальных значений удобнее пользоваться командой ввода, а не командой присваивания, потому что при необходимости использования программы с другими исходными данными не приходится менять текст программы.

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

На языке Паскаль процедура ввода данных имеет вид:

READ (список ввода);

READLN (список ввода).

При выполнении процедур READ и READLN программа переходит в состояние ожидания ввода данных. Если в списке ввода указано несколько переменных, то их можно вводить в одной строке, отделяя друг от друга символом «пробел», или в отдельных строках (в столбик), завершая ввод каждого значения клавишей Enter.

Оператор READLN отличается от оператора READ тем, что после введения необходимого числа данных курсор перемещается на следующую строку.

Если ввод данных осуществляется с клавиатуры, то список ввода - это список переменных, т.е. последовательность имен переменных, разделенных запятыми. Если ввод осуществляется из файла, то в списке ввода первая переменная - файловая, связана с именем реального файла.

Стандартные процедуры вывода результатов вычислений используются для вывода их значений на экран, принтер или в файл. На языке Паскаль процедуры вывода имеют вид:

WRITE (список вывода);

WRITELN (список вывода).Различие между WRITE и WRITELN заключается в том, что вывод оператором WRITE начинается с текущего местоположения курсора на экране монитора и курсор после окончания вывода остается в той же строке. Оператор WRITELN выводит значения с текущего места, а затем курсор перемещается на следующую строку. Можно использовать оператор WRITELN без списка вывода для перемещения курсора на новую строку.

4,6(99 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ