г) по крайней мере одна из логических переменных a или b имеет значение true




Вариант №2

Задание 1: Закодировать свою фамилию имя отчество кодом Шеннона–Фано с мощностью кода 4.

Петров Павел Алексеевич

 

Буква Вероятность Шаг 1 Шаг 2 Шаг 3 Итог
Е 5/23        
В 3/23        
_ 2/23      
А 2/23        
П 2/23      
Л 2/23      
О 1/23        
Р 1/23      
Т 1/23    
К 1/23      
С 1/23    
И 1/23      
Ч 1/23    
                                             
П е т р о в   П а в е л   А л е к с е е в и ч

 

Ответ: 21 00 311 310 30 10 11 21 20 10 00 22 11 20 22 00 320 321 00 00 10 330 331

 

Задание 2: Номер студенческого билета (последние 4 цифры) в прямом и обратном порядке перевести в двоичную систему, восьмеричную, шестнадцатеричную. Произвести сложение и вычитание полученных значений.

Номер студенческого билета: 3572, наоборот 2753

357210=1101111101002

275310=1010110000012

357210=67648

275310=53018

357210=DF416

275310=AC116

 

Сложение:

Десятичная:357210 + 275310 = 632510

Двоичная: 1101111101002 +1010110000012 = 1100011001001012

Восьмеричная: 67648 + 53018 = 614458

Шестнадцатеричная: DF416 + AC116 = 632516

Вычитание:

Десятичная:357210 - 275310 = 81910

Двоичная: 1101111101002 -1010110000012 = 11001100112

Восьмеричная: 67648 - 53018 = 14638

Шестнадцатеричная: DF416 - AC116 = 33316

N Выражение Варианты значений переменных a, x и P
  (ln(x)<x) и не Р и (sqrt(x)>x*x) или (2*x=x) истинно х=2.5 Р=нет х=2.5 Р=да х=0.5 Р=да х=0.5 Р=нет х=2 Р=нет
               

Задание 3.1:Записать выражение с помощью логических функций и определить, при каких значениях переменных (числовой и логической) выражение истинно (или ложно)

 


Решение:
1) Для x = 2.5 и P = нет. выражение (ln(x)<x) и не Р и (sqrt(x)>x*x)или (2*x=x) ложно

2) Для x = 2.5 и P = да. выражение (ln(x)<x) и не Р и (sqrt(x)>x*x)или (2*x=x) ложно

3) Для x = 0.5 и P = нет. выражение (ln(x)<x) и не Р и (sqrt(x)>x*x)или (2*x=x)истина

4) Для x = 0.5 и P = да. выражение (ln(x)<x) и не Р и (sqrt(x)>x*x)или (2*x=x) ложно

5) Для x = 2и P = нет. выражение (ln(x)<x) и не Р и (sqrt(x)>x*x)или (2*x=x) ложно


Задание 3.3: Решить следующие задачи (один вариант для всех):

Указать порядок выполнения операций

А) aandbornotcandd

б) a or b and not a or c and not d

2. Указать при каких значениях параметров выражение, истинное при выполнении указанного условия и ложное в противном случае (записать диапазон значений параметров):

а) 0<x<1

б) x=max(x,y,z)

в) x≠max(x,y,z) (операцию not не использовать)

г) по крайней мере одна из логических переменных a или b имеет значение true

д) только одна из логических переменных a или b имеет значение true

е) обе логические переменные a и b имеет значение true

ж) только одна из логических переменных a, b, с имеет значение true

з) целые числа n и k имеют одинаковую четность

Жирным выделены правильные варианты ответа

 

Задание 4: Составить блок-схему и алгоритм решения задач. Упростить выражение при помощи дополнительной переменной. Значения параметров выбрать самостоятельно таким образом, чтобы не было деления на ноль и отрицательного подкоренного выражения (для корня четной степени)


Блок-схема:

 

Листинг Задачи:

program zadanie4; var A: integer = 3; B: integer = 5; C: integer = 4; x,sqrx,y:real;   begin   WriteLn('Введите значение для A, B, C'); readln(A,B,C);   x:= A+B+C; sqrx:= sqr(A) + sqr(B) + sqr(C); ifsqrx = 0 thenWriteLn('При данных значениях A,B,C происходит деление на 0!') else begin y:=B * exp(0.5 * (x/sqrx))*(abs(x) - x/sqrx); end;   Writeln(y); readln();   end.

 


 

Задание 5: Вывести сумму чисел x+y+z, определить четная ли она, если четная, то найти значение произведения x*y*z.


Блок-схема:

Листинг Задачи:

program zadacha5;   var x, y, z, s, p: integer; begin readln(x, y, z); s:= x + y + z; writeln(s); if s mod 2 = 0 then begin p:= x * y * z; writeln(p); end; end.

 

 

Задание 6: Составить блок – схему алгоритма и программу для следующих задач: Ввести три действительных числа. Наименьшее из них заменить их средним арифметическим значением, а наибольшее их удвоенным произведением.

 


Блок-Схема:

Листинг Задачи:

program zadanie6; var a,b,c:Integer; min, max:Double; begin writeln('Введитетричисла:'); readln(a,b,c);   min:= a; max:= a; if b > max then max:= b; if b < min then min:= b; if c > max then max:= c; if c < min then min:= c;   writeln('Наименьшее число:', min); min:= (a+b+c)/3; writeln('Средне арифметическое значение:', min);   writeln('Наибольшее число:', max); max:= (a*b*c)*2; writeln('Удвоенное произведение:', max);   end.

 

Задание 7: Составить блок – схему алгоритма и программу, используя три различных цикла, определить значение:

 


 

 

Блок-схема:

Листинг кода:

program zadanie7; var p1,p2,p3:integer; n1,n2,n3:integer; x:integer; begin p1:=1; p2:=1; p3:=1; writeln('Введитечисло x:'); readln(x);   for n1:=1 to 4 do p1:= p1 * (sqr(n1)+x);   while n2<= 4 do begin p2:= p2 * (sqr(n2)+x); Inc(n2); end;   repeat p3:= p3 * (sqr(n3)+x); Inc(n3); until n3 < 4;   writeln('Значение произведения через цикл for:' + p1); writeln('Значение произведения через цикл while:' + p1); writeln('Значение произведения через цикл until:' + p1); end.

 

Задание 8: Используя три различных цикла, трижды протабулироватьфункцию:

Блок-схема:

Листинг задачи:

 

program zadanie8; var a, upper, down, x1, x2, x3: integer; p1:Double; begin writeln('Введите значение переменной a:'); readln(a);   x2:= -4; x3:= -4;   for x1:=-4 to 5 do begin upper:= 2 * x1 + a; down:= (x1*x1*x1 - 2 * sqr(x1) - x1 + 2); ifdown = 0 thenwriteln('Невозможно вычислить выражение! Деление на ноль! x=' + x1 + ' a=' + a) else p1:= upper/down; end;   while x2 <= 5 do begin upper:= 2 * x2 + a; down:= (x2*x2*x2 - 2 * sqr(x2) - x2 + 2); ifdown = 0 thenwriteln('Невозможно вычислить выражение! Деление на ноль! x=' + x2 + ' a=' + a) else p1:= upper/down;   Inc(x2); end;   repeat begin upper:= 2 * x3 + a; down:= (x3*x3*x3 - 2 * sqr(x3) - x3 + 2); ifdown = 0 thenwriteln('Невозможно вычислить выражение! Деление на ноль! x=' + x3 + ' a=' + a) else p1:= upper/down;   Inc(x3); end; until x3 > 4; end.

 


Задание 9: Определить n первых членов рекуррентной последовательности:

 



Блок-схема:


ЛистингЗадачи:

program zadacha9; var n:integer; a:array [1..4] of real; s:real; i:integer; begin read(n); a[1]:= 0; a[2]:= 0; a[3]:=2; s:=2; if (n <= 3) then writeln(s) else begin for i:=4 to n do begin a[4]:= (a[i-2]*sqrt(a[i-1])) + (2 * i * a[i-3]); a[1]:=a[2]; a[2]:=a[3]; a[3]:=a[4]; s:= s * a[3]; end; writeln(s); end; end.

Задание 10: Составить блок – схему алгоритма и программу для следующих задач:
Ввести одномерный массив A из 12 элементов. Определить в нём произведение чётных элементов

 


Блок-схема:

Листинг задачи:

program zadanie10;   const n = 12; var a: array[1..n] of integer; p, i: integer; begin writeln('введитемассив='); for i:= 1 to n do begin readln(a[i]); end; p:= 1; for i:= 1 to n do begin if a[i] mod 2 = 0 then begin p:= p * a[i]; end; end; writeln('произведение четных элементов=', p); readln; end.

 

Задание 11: Составить блок – схему и разработать алгоритм решения следующих задач:
Ввести одномерный массив A из N элементов. Каждый четный элемент массива нацело разделить на два. Массив вывести до и после преобразования.


Блок-схема:

program zadanie11; const n = 11; var a: array[0..n] of integer; i: integer; begin for i:= 0 to n do begin writeln('Введите a[' + i + '] элемент:'); readln(a[i]); end; writeln('Массивдопреобразования:'); for i:= 0 to n do begin writeln('a[' + i + ']:' + a[i]); end; writeln('Массив после преобразования:'); for i:= 0 to n do begin if a[i] mod 2 = 0 then a[i]:= a[i] div 2; writeln('a[' + i + ']:' + a[i]); end; end.

Листинг задачи:

 


 

 

Задание 12: Составить блок – схему алгоритма и разработать программу решения следующих задач: Ввести двумерный массив A 4х3. Определить в нём среднее геометрическое элементов, значения которых лежат в диапазоне [2;10].

 


Блок-схемы:

 

 

Листингкода:

program zadanie12; const n = 3; m = 4; var a: array[1..n, 1..m] of integer; i, j: integer; s: integer; geom: real; begin s:= 1; for i:= 1 to n do begin for j:= 1 to m do begin Writeln('Введите a[' + i + ',' + j + '] элементмассива:'); readln(a[i, j]);   if (a[i, j] >= 2) and (a[i, j] <= 10) then s:= s * a[i, j];   end; end; geom:= power(s, 1 / 9); writeln('Среднеегеометрическое = ', geom: 8: 2);   end.

Задание 13: Составить блок – схему алгоритма и разработать программу решения следующих задач:
Ввести двумерный массив ANхM Все элементы, которые не кратны 2 и лежат вне диапазона [-2; 6] увеличить на 5. Массив вывести до и после преобразования.

 


Блок-схема:

 

Листинг кода:

program zadanie13;   const n = 3; m = 4; var a: array[1..n, 1..m] of integer; i, j: integer;   begin for i:= 1 to n do begin for j:= 1 to m do begin Writeln('Введите a[' + i + ',' + j + '] элементмассива:'); readln(a[i, j]);   Writeln('До изменения a[' + i + ',' + j + '] элемента массива:' + a[i, j]);   if (a[i, j] mod 2 <> 0) and ((a[i, j] < -2) or (a[i, j] > 6)) then a[i, j]:= a[i, j] + 5;   Writeln('Послеизменения a[' + i + ',' + j + '] элементамассива:' + a[i, j]); end; end;   end.

 

Задание 14: Составить блок – схему и алгоритм решения следующих задач:
Ввести файл F из 14 элементов. Определить в нём произведение элементов, квадрат которых меньше 16.


Блок-Схема:

 

Листинг-кода:

program zadanie14; type fint = file of integer;   var b,i:integer; p: longint; f: fint; begin assign(f,'file.txt'); rewrite(f); writeLn('Введите 14 компонентовфайла F:'); for i:=1 to 14 do begin readLn(b); write(f,b); end; reset(f); p:= 1; while not EOF(f) do begin read(f,b); if sqr(b) < 16 then p:= p * b; end; close(f); writeln('Произведение элементов, квадрат которых меньше 16 = ', p); readln(); end.

 

-

Дополнительное задание 16: Составить блок – схему алгоритма и разработать программу решения следующих задач:
Ввести одномерный массив A целых чисел, вывести его. Найти произведение первых трѐх отрицательных элементов. Произведением заменить все нечетные элементы, если это невозможно, то сообщить об этом.

 

Дополнительное задание 17: Составить блок – схему алгоритма и разработать программу решения следующих задач:Ввести двумерный массив ANхM, вывести его. Найти максимальный по значению элемент массива и увеличить его в два раза. Все остальные элементы массива уменьшить на значение минимума последней строки массива.

 

Дополнительное задание 18: Составить блок – схему алгоритма и разработать программу решения cледующих задач: дважды вычислить значение выражения, первый раз используя процедуру, а второй – функцию.

 

Дополнительное задание 19: Составить блок – схему алгоритма и разработать программу решения cледующих задач:
Ввести матрицы XNXxMX, YNYxMY. В матрицах найти максимумы, которые вывести. Преобразовать каждую матрицу, уменьшив еѐ положительные элементы на значение максимума другой матрицы. Исходные и преобразованные матрицы вывести на экран. (При решении реализовать процедуры ввода и вывода массивов: Vvod2m(A,N,M,Name), Vivod2m(A,N,M,Name) и Zamena(A,N,M,Vichet) – уменьшение положительных элементов матрицы на величину Vichet, а также функцию Maximum(A,N,M):<тип массива> – поиск максимума)

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: