Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сборник лб.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Вариант 2.

Цель работы: научиться составлять таблицы истинности для логических формул и упрощать их используя законы алгебры логики.

  1. Логические основы устройства компьютера (кратко описать данную тему; объем информации по теме не более одной страницы).

  2. Укажите, какие из высказываний истинны, какие – ложны, а какие относятся к числу тех, истинность которых трудно или невозможно установить: а) «Биссектриса внутреннего угла треугольника делит противоположную сторону в отношении, равном отношению двух прилежащих сторон»; б) «прямая – это геометрическая фигура, которая имеет и начадо и конец».

  3. Постройте таблицу истинности для логической формулы, и упростите ее используя законы алгебры логики: (¬a^b^c)v(¬a^b^c).

Вариант 3.

Цель работы: научиться составлять таблицы истинности для логических формул и упрощать их используя законы алгебры логики.

  1. Логические основы устройства компьютера (кратко описать данную тему; объем информации по теме не более одной страницы).

  2. Укажите, какие из высказываний истинны, какие – ложны, а какие относятся к числу тех, истинность которых трудно или невозможно установить: а) «параллелограмм – это четырёхугольник с параллельными и равными противоположными сторонами»; б) «трапеция – это четырёхугольник с параллельными сторонами».

  3. Постройте таблицу истинности для логической формулы, и упростите ее используя законы алгебры логики: ¬ ((¬a^b^c))v(¬a^b^c).

Лабораторная работа №3 Построение блок-схем

Цель: ознакомиться с табличным процессором MS Ecxel; закрепить работу с таблицами и формулами в табличном процессоре.

Оборудование: ПК;

ПО: ОС Windows, Microsoft Excel.

Ход работы:

Время выполнения — 2 часа.

Цель работы:

  • Познакомиться с графическим способом построения алгоритма.

  • Научиться строить блок-схемы .

Средства обеспечения занятия

  • Оборудование: ПК;

  • Программное обеспечение: OS Windows, Openoffice.org Writer.

Задание

  • Выполнить задание в соответствии с установленным порядком;

  • Оформить отчет.

Пример 1. Составить программу для решения квадратного уравнения ax2 + bx + c = 0.

Составим алгоритм решения задачи.

Программа:

PROGRAM kvuravnenie;
VAR a,b,c,D,x,x1,x2:REAL; {описываем переменные}
BEGIN
WRITE(‘a=’); {Вводим с клавиатуры коэффициенты уравнения}
READLN(a);
WRITE(‘b=’);
READLN(b);
WRITE(‘c=’);
READLN(c);
D:= b*b – 4*a*c; {Вычисляем дискриминант}
WRITE (‘Корни уравнения: ‘);
{Вычисляем корни уравнения в зависимости от дискриминанта}
IF D>0 THEN
BEGIN
x1:=(–b+SQRT(D))/(2*a);
x1:=(–b–SQRT(D))/(2*a);
WRITELN (‘x1= ‘,x1:5:2,’x2= ‘,x2:5:2);
END
ELSE
IF D=0 THEN
BEGIN
x:= –b/(2*a);
WRITELN (‘x= ‘,x:5:2);
END
ELSE
WRITELN (‘Корней нет’);
END.

Пример 2. Пример программы с использованием оператора case, которая по введенному номеру дня недели выводит на экран его название на русском языке.

Program Day_Week;

Var

Day: byte;

Begin

Write('Введите номер дня недели: ');

Readln(Day);

Case Day of {Вычисление значения селектора и выбор}

1: writeln('Понедельник');

2: writeln('Вторник');

3: writeln('Среда');

4: writeln('Четверг');

5: writeln('Пятница');

6: writeln('Суббота');

Else

7: writeln('Воскресенье');

End;

End.

Пример 3. Вычислить сумму чисел S=1+2+3+…+n.

Program Summa;

Var s,a:integer;

I,n: integer;

Begin

Writeln(' Программа вычисления суммы S=1+2+3…n ');

Writeln(' Ввод количества слагаемых ');

Write('n = ');

Readln(n);

S:=0;

For i:=1 to n do

Begin

S:=s+i;

Writeln ('i= ',i, ' s= ',s);

End;

Writeln (' s= ',s);

Readln;

End.

Выполнение Выбрать вариант в соответствии с номером из списка в журнале и построить блок-схему.

Номер (Вариант)

Задание

1

1. Найти сумму первых 10 натуральных чисел.

Program Z11;

Var N,S: integer;

Begin

S:=0;

For N:=1 to 10 do S:=S+N;

Writeln (‘сумма первых 10 натуральных чисел равна ‘, S);

End.

2. Упорядочение двух значений по возрастанию

Program Z12;

Var
  X,y: integer;
  V: integer;
Begin
  Write('Введите x,y: ');
  Readln(x,y);
  If x>y then
  Begin
    V := x;
    X := y;
    Y := v
  End;
  Writeln('Результат упорядочения по возрастанию: ',x,' ',y);
End.

2

1. Найти сумму любых 10 вещественных чисел, введённых с клавиатуры.

Program Z21;

Var N,S: real;

I: integer;

Begin

S:=0;

For I:=1 to 10 do

Begin

Write (‘Введите ‘, I , ‘ число’);

Readln (N);

S:=S+N

End;

Writeln (‘сумма 10 любых вещественных чисел равна ‘, S);

End.

2. Проверка числа на двузначность

Program Z22;

Var x: integer;
Begin
  Write('Введите x: ');
  Readln(x);
  If (x>=10) and (x<=100) then
    Writeln('Двузначное число')
  Else writeln('Не двузначное число')    
End.

3

1. Найти сумму четных чисел из первых 10 натуральных чисел.

Program Z31;

Var N,S: integer;

Begin

S:=0;

For N:=1 to 10 do

If (N Mod 2)=0 Then S:=S+N;

Writeln (‘сумма чётных из первых 10 натуральных чисел равна ‘, S);

End.

2. Наименование сезона по номеру месяца

Program Z32;

Var
  Month: integer;
  Season: string;
Begin
  Write('Введите номер месяца: ');
  Readln(Month);
  If (Month=1) or (Month=2) or (Month=12) then
    Season := 'Зима'
  Else if (Month=3) or (Month=4) or (Month=5) then
    Season := 'Весна'
  Else if (Month=6) or (Month=7) or (Month=8) then
    Season := 'Лето'
  Else Season := 'Осень';
  Writeln('Это ',Season)
End.

4

1. Найти сумму отрицательных из 10 любых вещественных чисел, введённых с клавиатуры.

Program Z41;

Var N,S: real;

I: integer;

Begin

S:=0;

For I:=1 to 10 do

Begin

Write (‘Введите ‘, I , ‘ число’);

Readln (N);

If N<0 Then S:=S+N;

End;

Writeln (‘сумма отрицательных из 10 любых вещественных чисел равна ‘, S);

End.

2. Определение того, является ли символ цифрой или буквой

Program Z42;

Var
  Symbol: char;
Begin
  Write('Введите символ: ');
  Readln(Symbol);
  Case Symbol of
    'A'..'z': writeln('Это маленькая английская буква');
    'A'..'Z': writeln('Это большая английская буква');
    '0'..'9': writeln('Это цифра');
  End;
End.

5

1. Обмен значений двух переменных с использованием третьей

Program Z51;

Var x,y: real;
Begin
  Write('Введите x,y: ');
  Readln(x,y);
  Var v: real; // вспомогательная переменная
  V := x;
  X := y;
  Y := v;
  Writeln('Новые значения x,y: ',x,' ',y);
End.

2. Словесное наименование сезона по номеру месяца

Program Z 52;
Var
  Month: integer;
  Season: string;
Begin
  Write('Введите номер месяца: ');
  Readln(Month);
  Case Month of
    1,2,12: Season := 'Зима';
    3..5:   Season := 'Весна';
    6..8:   Season := 'Лето';
    9..11:  Season := 'Осень';
    Else    Season := 'Вы ввели неверный номер месяца';
  End;
  Writeln('Это ',Season)
End.

6

1. Состоит ли двузначное число из одинаковых цифр

Program Z61;

Var x: integer;
Begin
  Write('Введите двузначное число: ');
  Readln(x);
  Var c1 := x div 10;
  Var c2 := x mod 10;
  If c1=c2 then
    Writeln('Цифры числа совпадают')
  Else writeln('Цифры числа не совпадают');
End.

2. Вычисление n!

Program Z62;

Var
  N,fact: integer;
  I: integer;
Begin
  Write('Введите n (n<=13): ');
  Readln(n);
  Fact := 1;
  For i := 2 to n do
    Fact := fact * i;
  Writeln(n,'! = ',fact);
End.

7

1. Определение четности числа

Program Z71;

Var x: integer;
Begin
  Write('Введите x: ');
  Readln(x);
  If x mod 2 = 0 then
    Writeln('Это четное число')
  Else writeln('Это нечетное число');
End.

2. Алгоритм Евклида поиска НОД

Program Z72;

Var a,b,c: integer;
Begin
  Writeln('Введите a,b: ');
  Read(a,b);  
  While b<>0 do
  Begin
    C := a mod b;
    A := b;
    B := c;
  End;
  Writeln('Наибольший Общий Делитель = ',a);
End.

8

3. Минимум из двух значений

Program Z81;

Var
  X,y: integer;
  Min: integer;
Begin
  Write('Введите x и y: ');
  Readln(x,y);
  If x<y then
    Min := x
  Else min := y;
  Writeln('Минимум = ',min);
End.

2. Числа Фибоначчи

Program Z82;

Const n = 25;
Var
  A,b,c: integer;
  I: integer;  
Begin
  A := 1;
  B := 1;
  Write(a,' ',b,' ');
  For i := 3 to n do
  Begin
    C := a + b;
    Write(c,' ');
    A := b;
    B := c;
  End;
End.

9

1. Выделение цифр из двузначного числа

Program Z91;

Var
  X: integer;     // двузначное число
  C1,c2: integer; // первая и вторая цифры двузначного числа
Begin
  Write('Введите двузначное число: ');
  Readln(x);
  C1 := x div 10;
  C2 := x mod 10;
  Writeln('Первая и вторая цифры двузначного числа: ',c1,' ',c2);
End.

2. Минимум из введенных

Program Z92;

Const n = 10;
Var  
  Min: integer;
  X: integer;
  I: integer;
Begin
  Writeln('Введите ',n,' значений: ');
  Read(x);  
  Min := x;  
  For i := 2 to n do
  Begin
    Read(x);
    If x<min then
      Min := x;
  End;
  Writeln('Минимальное значение = ',min);
End.

10

1. Обмен значений двух переменных с использованием третьей

Program Z101;

Var
  X,y: real;
  V: real; // вспомогательная переменная
Begin
  Write('Введите x,y: ');
  Readln(x,y);
  V := x;
  X := y;
  Y := v;
  Writeln('Новые значения x,y: ',x,' ',y);
End.

2. Вывод букв английского алфавита

Program Z102;

Var c: char;
Begin
  For c := 'a' to 'z' do
    Write(c,' ');
  Writeln;  
  C := 'A';
  While c<='Z' do
  Begin
    Write(c,' ');
    C := succ(c);
  End;
End.

11

1. Бросание кубиков

Program Z111;

Var
  R1,r2: integer; // значения на верхних гранях кубиков
Begin
  R1 := Random(6)+1;
  R2 := Random(6)+1;
  Writeln('Очки, выыпавшие на кубиках: ',r1,' ',r2);
  Writeln('Сумма очков равна ',r1+r2);
End.

2. Вывод цифр числа

Program Z112;

Var x: integer;
Begin
  Write('Введите x: ');
  Readln(x);
  Write('Цифры числа x в обратном порядке: ');
  While x<>0 do
  Begin
    Write(x mod 10,' ');
    X := x div 10;
  End;
End.

12

1. Вычисление гипотенузы по катетам

Program Z121;

Var
  A,b: real; // катеты
  C: real;   // гипотенуза
Begin
  Write('Введите катеты прямоугольного треугольника: ');
  Readln(a,b);
  C := sqrt(a*a+b*b);
  Writeln('Гипотенуза = ',c);
End.

2. Вычисление An

Program Z122;

Var
  N,i: integer;
  A,p: real;
Begin
  Write('Введите a,n: ');
  Readln(a,n);
  P := 1;
  For i := 1 to n do
    P := p * a;
  Writeln(a,' в степени ',n,' = ',p);
End.

13

1. Вычисление расстояния между двумя точками на прямой

Program Z131;

Var
  A,b: real; // координаты точек
  R: real;   // расстояние между точками на прямой
Begin
  Write('Введите координату точки a: ');
  Readln(a);
  Write('Введите координату точки b: ');
  Readln(b);
  R := abs(a-b);
  Writeln('Расстояние между точками = ',r);
End.

2. Сумма и произведение введенных чисел

Program Z132;

Var
  I: integer;
  S,p: real;
  X: real;
Begin
  Writeln('Введите 10 чисел: ');
  S := 0;
  P := 1;
  For i := 1 to 10 do
  Begin
    Read(x);
    S := s + x;
    P := p * x;
  End;
  Writeln('Сумма введенных чисел = ',s);
  Writeln('Произведение введенных чисел = ',p);
End.

14

1. Вычисление A8

Program Z141;

Var a: real;
Begin
  Write('Введите a: ');
  Readln(a);
  Var a2,a4,a8: real; // вспомогательные переменные
  A2 := a * a;
  A4 := a2 * a2;
  A8 := a4 * a4;
  Writeln(a,' в степени 8 = ',a8);
End.

2. Определение простоты числа

Program Z142;

Var
  N: integer;
  Issimple: boolean;
Begin
  Writeln('Введите число: ');
  Readln(N);
  Issimple := True;
  For var i:=2 to round(sqrt(N)) do // если число составное, то один из его сомножителей <= sqrt(N)
    If N mod i = 0 then
    Begin
      Issimple := False;
      Break;
    End;
  If issimple then
    Writeln('Число ',N,' простое')
  Else writeln('Число ',N,' составное');  
End.

15

1. Вычисление площади круга

Program Z151;

Const Pi = 3.1415;
Var
  R: real; // радиус круга
  S: real; // площадь круга
Begin
  Write('Введите радиус круга: ');
  Readln(r);
  S := Pi*r*r;
  Writeln('Площадь круга равна ',S);
End.

2. Определение четверти, в которой находится точка

Program Z152;

Var
  X,y: integer;    // Координаты точки
  Quater: integer; // Номер четверти
Begin
  Write('Введите координаты точки: ');
  Readln(x,y);
  If x>0 then
    If y>0 then
      Quater := 1
    Else Quater := 4
  Else
    If y>0 then
      Quater := 2
    Else Quater := 3;
  Writeln('Номер четверти = ',Quater);
End.

Контрольные вопросы:

1. Способы представления алгоритма.

2. Что такое блок-схема?

Требования к отчету:

1. Название работы.

2. Цель работы.

3. Постановка задачи.

4. Скриншоты выполненных заданий.

5. Ответы на вопросы.

6. Выводы.

Литература:

ЛО4, 5