в Древнем Египте наряду со значками , обозначавшими целые понятия и слова, существовали и другие знаки, обозначавшие слоги и даже отдельные звуки . Потребность в таких знаках очевидна, так как не все можно выразить в виде изображений (прежде всего, это касается личных имен).
В этих случаях египтяне превращали слова иероглифы в буквы иероглифы, из которых и составлялись слова, подлежащие передаче на письме согласно их звучанию. Например иероглиф «хт» — изображение дома — сделался двухбуквенным иероглифом, обозначающим звук [хт], иероглиф «мн» — изображение шахматной доски — стал иероглифом, обозначающим два звука [мн] и т.д. На первых порах значение фонетических иероглифов было вс но со временем их роль все более возрастала, и в последние века существования египетской письменности значение фонетических иероглифов стало господствующим. Но к чисто фонографическому письму (то есть такому, где каждый знак обозначает отдельный звук или букву) египтяне так и не перешли . Это важное усовершенствование было сделано в письме других народов.
p - произведение
s - сумма
i - цикловая переменная
1. Цикл с предусловием While
var
p, s, i : longint; [или integer]
begin
p := 1;
s := 0;
i := 101;
while i < 200 do
begin
if i mod 5 = 0 then
begin
p := p * i;
s := s + i;
end;
i := i + 1; [или ing(i)]
end;
writeln(p);
writeln(c)
end.
2. Цикл с постусловием Repeat
var
p, s, i : longint; [или integer]
begin
p := 1;
s := 0;
i := 101;
repeat
if i mod 5 = 0 then
begin
p := p * i;
s := s + i;
end;
i := i + 1; [или ing(i)]
until i >= 200;
writeln(p);
writeln(c)
end.
3. Цикл For
var
p, s, i : longint; [или integer]
begin
p := 1;
s := 0;
for i := 101 to 199 do
begin
if i mod 5 = 0 then
begin
p := p * i;
s := s + i;
end;
end;
writeln(p);
writeln(c)
end.
Объяснение:
#include <iostream>
#include <cstdlib>
#include <cmath>
long double fact( const unsigned int a ) {
long double temp = 1;
for ( unsigned int i = 2; i <= a; i++ )
temp *= i;
return temp;
}
double fSinX( const double x, const unsigned int precision ) {
double tmp = 0;
for ( unsigned int n = 0; n < precision; n++ )
tmp += ( std::pow( -1., n ) / fact( 2 * n + 1 )) * std::pow( x, 2 * n + 1 );
return tmp;
}
int main( int argc, char** argv ) {
std::cout << fSinX( 2, 500 ) << std::endl; //своя функция
std::cout << std::sin( 2 ) << std::endl; //библиотечная функция
std::cout << std::endl;
std::system( "pause" );
return 0;
}