Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ можете проверить на всякий случай ответы мои

Автор: maksimla 11.04.2008 22:38

1 задание
Даны логические примеры.Общетаите их значение когда х=12, у=14,а=true, b=false:
a) (x > 20) and ((y < 15) or a and not a);
b) a or b or (x <= 16) or (x = y);
c) not a and not b and not (x <> y);
d) b and (not (y = 14) or a and not a);
e) b and not (y = 14) or a and not a;
мои ответы
a)false;
b)true;
c)false;
d)false;
e)false;
2 задание
Написать логический пример,значение которого была бы true в одном случае когда:
a) один из двух данных цифр, есть данного числа делитель ;
b)когда два числа из трех есть 0 ;
мои ответы
a) (a mod b = 0) or (b mod a =0);
b) (a=0) and (b=0) or (a=0)and (c=0)or (b=0) and(c=0);
3 задание
целое число z последнею цифру выбросить написана такое предложение
if ... then z := z div 10.
какая бы лабы место точек написано уравнение если бы
a) положительное трехзначные
b) отрицательное пятизначное
c) имеет только один делитель
d) целого числа квадрат
мои ответы
a) if z>99
then z := z div 10;
b)if z>-9999
then z := z div 10;
c) if z=1
then z := z div 10;
d) if sqr(z)mod 1 =0
then z := z div 10;
4 задание
что компьютер выведет на экран выполнив программы фрагмент , когда m= 9:
a)

Код
for i := 1 to m do
begin
for j := 1 to m do
if (j = i) or (j = m – j + 1)
then write('*')
else write(' ');
writeln
end;

b)
Код
for i := m downto 1 do
begin
write('*');
for j := m downto 3 do
if (i = 1) or (i = m)
then write('*')
else write(' ');
writeln('*')
end;

мои ответы
a) пробел обозначал _
*___*____
_*__*____
__*_*____
___**____
____*____
____**___
____*_*__
____*__*_
____*___*

b)
*********
*_______*
*_______*
*_______*
*_______*
*_______*
*_______*
*_______*
*********
5 задание
смог бы компьютер выполнить эту программу
Код
program arTiesa;
var a, x: integer;
begin
read(x);
a := x mod 128;
writeln(a mod 11, ' ', a div 13)
end.

и на экран вывести такие результаты
a) 1 9;
b) 7 11;
c) 10 12?
мои ответы
a)да мог бы
b)нет
c)нет
6 задание
выполнив предложение
if a > b then a := a + b
else b := b – a;
получили такие результаты
a) a = 10; b = 4;
b) a = -5; b = 0;
c) a = 5; b = 5;
d) a = 0; b = 0;
e) a = 3; b = 10;
f) a = -3; b = -3;
какие первичные данные были?
мои ответы
a) a=6 и 10, b=4 и 14;
b) a= 5 и 5 b= 5 и 0;
c) a= 5 b=10;
d) a=0 b=0;
e) a=3 b=13;
f) a=0 b= -3;
7 задание
скоко раз выполняется внешние и внутренний цикл
a) for i := 1 to 10 do
for j := i to 2*i do
b) a := 0;
while a <= 30 do
while a <= 20 do
a := a + 1;
c) a := 0;
while a <= 20 do
while a <= 30 do
a := a + 1;
d) a := 0;
while a < 20 do
while a < 30 do
a := a + 1;
мои ответы
a)внешний цикл 10 раз внутренний 65 раз
b)внешний цикл 1 раз внутренний 31 раз
c)внешний цикл безконца внутренний 21 раз
d)внешний цикл 1 раз внутренний 30 раз
8 задание
дан тип записи и описание
type pirmas = record
r: real;
b: boolean
end;
antras = record
rr: real;
bb: boolean
end;
var a, b, c: pirmas;
x, y, z: antras;
определите в каком предложении неправильна
a) a := b;
b) if y = 0 then write('nulis');
c) write(b);
d) a.r := z.rr;
e) c := z;
f) read(a);
g) z := a + b;
h) c.b := bb.
мои ответы
a)правильна
b)неправильна надо if y.rr = 0 then write('nulis');
c)неправильна надо после b поставить точку и написать b или r
d)правильна
e)правильна
f)неправильна надо после az.rr:=a.r + b.r поставить точку и написать b или r
g)неправильна надо так az.rr:=a.r + b.r
h)неправильна надо так c.b := b.b
9 задание
компьютеру были задоны такие цифры
7.8 4
что будет видна на экране после этого
read (x, y);
write(' ',4,' ',y : 0 : 0,' ' );
x := x + x;
y := x + y;
writeln (x : 4 : 0,' ', y : 0 : 4);
пробелы подчеркните знакам _
мои ответ
_4_4__16_19.600
10 задание
даны четыре строчки они эквивалентные
a) a and not b and c or a and b and c;
b) a and c;
c) a and (not b and c or b);
d) not (not a or not c or not a and not c).
мои ответ
а и б эквивалентны
11 задание
начертите на языке паскала график этои функции
function Y(x: real): real;
begin
if (x > -4) and (x < 0)
then y := -4
else if x < 2
then y := x – 4
else if x < 4
then y := 3 * x – 8
else y := x
end;
мои ответы
как начертить непонял если графике не проходил вот что я зделал
X(-5:5);
X=-5 y=x-4=-9;
X=-4 y=x-4=-8;
X=-3 y=-4;
X=-2 y=-4;
X=-1 y=-4;
X=0 y=-4;
X=1 y=x-4=-3;
X=2 y=x-4=-2;
X=3 y=x*3-8=1;
X=4 y=x*3-8=4;
X=5 y=x;
12 задание
дана рекурсионная функция
Код
function Rek(x: integer): integer;
var r: integer;
begin
if (x = 1) or (x = 0)
then r := x
else r := Rek(x - 2) + x - x mod 2;
Rek := r
end;

общетайте этой функции значение
a) Rek(2);
b) Rek(4);
c) Rek(5).
мои ответы
a)2;
b)6;
c)7;