Ответ:Язык здесь действительно не имеет значения. Как сказал Никлаус Вирт, "Мы должны учить программированию, а не программированию на конкретном языке". Цикл с предусловием применяют, если необходимо, чтобы в каком-нибудь случае тело цикла не выполнилось ни разу. Ц. с постусловием выполнится как минимум 1 раз.
Объяснение:
а) для логического умножения: А & В = Ᾱ v В(инверсия):
А В А & В (А & В)(инверсия) Ᾱ В(инверсия) Ᾱ v В(инверсия)
0 0 0 1 1 1 1
0 1 0 1 1 0 1
1 0 0 1 0 1 1
1 1 1 0 0 0 0
б) для логического сложения: A v В = Ᾱ & В(инверсия):
А В A v В (A v В)(инверсия) Ᾱ В(инверсия) Ᾱ & В(инверсия)
0 0 0 1 1 1 1
0 1 1 0 1 0 0
1 0 1 0 0 1 0
1 1 1 0 0 0 0
Программа работает для строк, состоящих только из английских букв и пробелов.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
cout << "s = ";
getline (cin, s);
if (s[0]!=' ') s[0]=s[0]-32;
for(int i=0; i<s.length()-1 ;i++)
if ((s[i]==' ') && (s[i+1]!=' ')) s[i+1]=s[i+1]-32;
cout << s << endl;
return 0;
}
// PascalABC.NET 3.1, сборка 1192 от 07.03.2016
begin
var a:=ArrRandom(10,-10,10); a.Println;
Writeln('s=',a.Where(x->x<0).Sum)
end.
<u><em>Тестовое решение:</em></u>
3 4 -10 4 0 -1 1 -8 1 10
s=-19