Сформулировать условия запроса для вывода на экран всех подписчиков, выписавших: а) любую газету сроком от 3 до 6 месяцев; б) газету сроком на 6 месяцев или журнал сроком на 3 месяца;
// PascalABC.NET 3.2, сборка 1407 от 18.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ReadlnString('Вводите:').ToWords; var c:=a[0].Last; Writeln('Найдено ',a.Where(w->w.First=c).Count, ' слов, начинающихся с "',c,'"') end.
Пример Вводите: Туча дождь астроном баран арбуз зебра астра велосипед Найдено 3 слов, начинающихся с "а"
Вариант "а нас в школе учат так", который якобы "проще"
var s:string; c:char; i,k,l,p:integer; begin // Предполагается, что слова разделены ровно одним пробелом Write('Вводите: '); Readln(s); l:=Length(s); if l=1 then Writeln('Найдено одно слово') else begin p:=Pos(' ',s); if (p=0) and (s[1]=s[l]) then Writeln('Найдено одно слово') else begin c:=s[p-1]; if s[1]=c then k:=1 else k:=0; for i:=p+1 to Length(s)-1 do if (s[i]=' ') and (s[i+1]=c) then Inc(k); Writeln('Найдено ',k,' слов, начинающихся с "',c,'"') end end end.
1) var n:integer; begin n:=301; while n mod 19<>0 do n:=n+1; writeln(n,' / 19 = ',n div 19); end.
Пример: 304 / 19 = 16
2) var n,c,k1,k2,s,k3:integer; begin write('n = '); readln(n); k1:=0; k2:=0; s:=0; k3:=0; while n > 0 do begin c:=n mod 10; if c mod 2=0 then k1:=k1+1 else k2:=k2+1; s:=s+c; if c mod 3=0 then k3:=k3+1; n:= n div 10; end; writeln('количество цифр числа = ',k1+k2); writeln('их сумма = ',s); writeln('количество четных цифр = ',k1); writeln('количество нечетных цифр = ',k2); writeln('количество цифр, кратных 3 = ',k3); end.
Пример: n = 2745194 количество цифр числа = 7 их сумма = 32 количество четных цифр = 3 количество нечетных цифр = 4 количество цифр, кратных 3 = 1
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadlnString('Вводите:').ToWords;
var c:=a[0].Last;
Writeln('Найдено ',a.Where(w->w.First=c).Count,
' слов, начинающихся с "',c,'"')
end.
Пример
Вводите: Туча дождь астроном баран арбуз зебра астра велосипед
Найдено 3 слов, начинающихся с "а"
Вариант "а нас в школе учат так", который якобы "проще"
var
s:string;
c:char;
i,k,l,p:integer;
begin
// Предполагается, что слова разделены ровно одним пробелом
Write('Вводите: '); Readln(s);
l:=Length(s);
if l=1 then Writeln('Найдено одно слово')
else begin
p:=Pos(' ',s);
if (p=0) and (s[1]=s[l]) then Writeln('Найдено одно слово')
else begin
c:=s[p-1];
if s[1]=c then k:=1 else k:=0;
for i:=p+1 to Length(s)-1 do
if (s[i]=' ') and (s[i+1]=c) then Inc(k);
Writeln('Найдено ',k,' слов, начинающихся с "',c,'"')
end
end
end.