1. Определите, к какому виду относятся следующие сложные суждения: 1) Живое существо является человеком только тогда, когда оно обладает
мышлением.
2) Человечество может погибнуть то ли от истощения земных ресурсов, то ли от
экологической катастрофы, то ли в результате третьей мировой войны.
3) Вчера он получил двойку не только по математике, но еще и по русскому.
4) Проводник нагревается, когда через него проходит электрический ток.
5) Окружающий нас мир либо познаваем, либо нет.
6) Или же он совершенно бездарен, или же полный лентяй.
7) Когда человек льстит, он лжет.
8) Вода превращается в лед лишь при температуре от 0 °С и ниже.
9) Две прямые, лежащие в одной плоскости, не имеют общих точек только тогда,
когда они параллельны.
10) Вместо того, чтобы пойти в университет, он пошел гулять.
11) Английский язык можно изучать либо в школе, либо на курсах, либо с
репетитором, либо самостоятельно.
12) То ли в мире действует всеобщая закономерность, то ли всеобщая случайность.
13) Он не готовился к занятиям или систематически прогуливал их.
14) Чем дальше в лес, тем больше дров.
15) Деревья качаются, потому что дует ветер.
16) Хотя на море разыгрался шторм, корабль неуклонно двигался своим курсом.
17) Глаза боятся, а руки делают.
18) Если с утра шел дождь, то к полудню прояснилось.
19) Кончил дело, гуляй смело.
20) Треугольник является равносторонним только тогда, когда все его углы равны
var s: string;
k, error, len: integer;
element: array[1..20] of real;
i, rez: real;
const N = -2;
begin
s := IntToStr(x);
len := length(s);
if len = 0 then writeln('Ошибка!')
else
begin i := 0;
rez := 0;
for k := 1 to len do val(s[k], element[k], error);
for k := 1 to len do
begin
i := element[k] * power( N, len - k );
rez := rez + i;
end;
writeln(rez);
end;
end;
var numeric: integer;
begin
write('Введите двоичное число для перевода в систему счисления с основанием (-2): ');
readln(numeric);
write('ответ: ');
convert(numeric);
end.
{
Получает в w слово из строки s, которое начинается не ранее позиции p.
Возвращает новое значение p, указывающее на первый разделитель delim,
который следует за найденным словом или 0, если такой разделитель не найден.
По умолчанию слова разделяются не менее чем одним пробелом
}
var
i,n:integer;
fBreak:boolean; { флажок для прерывания циклов }
begin
n:=Length(s); fBreak:=False;
{ищем первый символ, отличный от разделителя - начало слова }
while ((p<=n) and (not fBreak)) do
if (p=n) or (s[p]<>delim) then fBreak:=True
else Inc(p);
{ ищем очередной разделитель - конец слова }
if p<n then begin
i:=p; Inc(p); fBreak:=False;
while (p<=n) and (not fBreak) do begin
if (p=n) or (s[p]=' ') then fBreak:=True else Inc(p)
end;
{ теперь слово находится между позициями i и p }
w:=Copy(s,i,p-i)
end;
if p>=n then p:=0
end;
function CountG(w:string):integer;
{ возвращает количество гласных в слове w}
var
i,k:integer;
begin
k:=0;
for i:=1 to length(w) do
if w[i] in ['а','е','ё','и','о','у','ы','э','ю','я'] then Inc(k);
CountG:=k
end;
var
s,w,wmax:string;
p,k,gmax:integer;
begin
Writeln('Введите текст, разделяя слова пробелами');
Readln(s);
s:=LowerCase(s);
p:=1; gmax:=0;
while p>0 do begin
GetWord(s,p,w);
k:=CountG(w);;
if gmax<k then begin gmax:=k; wmax:=w end
end;
if gmax>0 then Writeln('В слове "',wmax,'" максимум гласных, равный ',gmax)
else Writeln('Во введенной строке гласных букв не найдено')
end.