1. В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет. Запрос Найдено страниц
(в тысячах)
Линкор | Корвет 3400
Линкор & Корвет 1300
Линкор 2100
Какое количество страниц (в тысячах) будет найдено по запросу Корвет?
2. В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Запрос Найдено страниц
(в тысячах)
Кровать | Стул 2900
Кровать & Стул 800
Кровать 1600
Какое количество страниц (в тысячах) будет найдено по запросу Стул?
3. В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Запрос Найдено страниц
(в тысячах)
Руда 2200
Уголь 1300
Руда & Уголь 200
Какое количество страниц (в тысячах) будет найдено по запросу Руда | Уголь?
4. В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Запрос Найдено страниц
(в тысячах)
Скорпион 3300
Козерог 1900
Скорпион | Козерог 4300
Какое количество страниц (в тысячах) будет найдено по запросу Скорпион & Козерог?
5. В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети. Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Запрос Найдено страниц (в тысячах)
Евгений | Онегин 1700
Евгений 1600
Онегин 1200
Какое количество страниц (в тысячах) будет найдено по запросу Евгений & Онегин?
Объяснение кода №1;
var s, n: integer; //Объявление переменных
begin //Начало программы
s:=100 //Значение переменной S равняется 100
n:=300 //Значение переменной n равняется 300
while s+n <= 600 do
//Цикл while выполняется до тех пор, пока истинно условие s + n <= 600, т. е. сумма s и n определяет, сколько раз выполнится цикл.
begin
//Следовательно, два действия s := s + 40 и n := n − 20 можно объединить, так как цикл зависит от двух переменных. Таким образом, на каждом повторе (умными словами итерации) добавляется 20.
s:= s+40
n:=n-20
end
//Решим уравнение: 400 + x > 600.
Цикл остановится, когда x будет больше 200. Поскольку каждый раз добавляется по 20, будет 11 повтор.
По итогу, получится на 11-ой итерации: 100 + 40 * 11 = 540.
Объяснение кода №2;
//Объяснения немного короче напишу
var s, n: integer;
begin
s:=500
n:=200
//Цикл while выполняется до тех пор, пока истинно условие s div n >= 2, т. е. целочисленное деление s на n определяет, сколько раз выполнится цикл.
while s div n >= 2 do begin
s:= s+5
n:= n+5
end
//Следовательно, каждый раз к обеим переменным прибавляется по 5. Целочисленное деление s на n будет меньше 2 тогда, когда s примет значение 605, а n — значение 305.
Совет: Если ты вдруг 10 или 11 класс, и не понимаешь данные штуки, можешь не вникать уже в них, поздно. Изучай си, си++ в универе пригодится :)
Var
s,sr:string;
i,j,n:integer;
pr:array of char=('.',',',';',':','!','?');
begin
readln(s);
s:=s.Trim;
var ars:=s.ToWords();
s:='';
for i:=0 to ars.Length-1 do
s+=ars[i]+' ';
s:=s.Trim;
i:=0;
while i<>s.Length do
begin
inc(i);
if (s[i] in pr) and (s[i-1]=' ') then delete(s,i-1,1);
end;
i:=0;
while i<>s.Length-1 do
begin
inc(i);
if (s[i] in pr) and (s[i+1]<>' ') then insert(' ',s,i+1);
end;
s:=s.Trim;
writeln(s);
end.
Пример ввода:
Очень, очень ,очень , очень ,очень,очень много слов.
Пример вывода:
Очень, очень, очень, очень, очень, очень много слов.