Складываем число людей, знающих английский, немецкий, французский: 6 + 6 + 7 = 19. Однако в это число дважды вошли люди, знающие (только) два языка и трижды - три языка. Вычитаем людей, знающих (хотя бы) два языка: 19 - (4 + 3 + 2) = 10. Т.к. в каждое из трех вычтенных множеств включено множество людей, получается, мы вычли его три раза, и 10 - количество людей, знающих меньше трех языков. Еще раз прибавляем людей, знающих три языка: 10 + 1 = 11 человек в комнате всего. В итоге получилось: 1 человек знает только английский 3 человека знают только французский 0 человек - только немецкий 3 - только английский и немецкий 2 - только немецкий и французский 1 - только английский и французский 1 - все три языка Задача очень легко решается, если изобразить ее на диаграмме, даже без всех этих рассуждений про множества
var
i, n:integer;
price:real;
begin
n := 20;
price := 20.4;
for i := 1 to n do
writeln('Стоимость ', i:3, ' ед. товара составляет ', price * i:8:2, ' руб.');
end.
//вторая задача
var
i, f, n:integer;
begin
f := 453;
n := 10;
writeln('фунты граммы');
for i := 1 to n do
writeln(' ', i:2, i * f :11);
end.
//третья задача
var
i, n:integer;
k:real;
begin
n := 20;
writeln('Введите курс '); readln(k);
writeln('доллары рубли');
for i := 1 to n do
writeln(' ', i:2, i * k:13:2);
end.
В итоге получилось:
1 человек знает только английский
3 человека знают только французский
0 человек - только немецкий
3 - только английский и немецкий
2 - только немецкий и французский
1 - только английский и французский
1 - все три языка
Задача очень легко решается, если изобразить ее на диаграмме, даже без всех этих рассуждений про множества