1. а) Петя едет в автобусе, читает книгу и насвистывает. б) Петя насвистывает, когда едет в автобусе или читает книгу. в) Петя едет в автобусе и читает книгу или насвистывает. г) то же, что и а). д) Петя едет в автобусе или читает книгу и насвистывает. 2. а) Число 5-простое = 1. б) Луна-спутник Венеры = 0. в) Число 5-простое и Луна-спутник Венеры = 0. г) Число 5-простое или Луна-спутник Венеры = 1. д) Если число 5-простое, то Луна-спутник Венеры = 0. е) Число 5-простое тогда и только тогда, когда Луна-спутник Венеры = 0. 3. а) 1999<2000 и 1999>2000 б) Петя решил все задания контрольной работы и Петя не решил все задания контрольной работы в) Неверно, что луна спутник Земли и Неверно, что луна не является спутником Земли г) Мишень поражена не первым выстрелом и Неверно, что мишень поражена не первым выстрелом. 4. А=1, В=0, С=1, Д=0.
Procedure GetWord(s:string; var p:integer; var w:string; delim:string:=' '); { Получает в 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.