aza2103
?>

;) с .надо сделать такую же, только на тему "while" грубо говоря заменить "for' на "while". var a, n, k: integer; begin write('vvedite chislo '); readln(n); if (n=1) or (n=0) then write( n, ' ne sostavnoe i ne '); for a: =2 to n div 2 do if n mod a=0 then k: =k+1; if k=0 then write('prostoe') else writeln('sostovnoe'); end. (вводится число с клавы, узнать простое или состовное) буду

Информатика

Ответы

maxchuev
Var a,n,k: integer; begin write('vvedite chislo '); readln(n); if (n=1) or (n=0) then write( n, ' ne sostavnoe i ne '); a: =2; while a< =n  div 2 do   begin   if n mod a=0 then k: =k+1;   a: =a+1;   end; if k=0 then write('prostoe') else writeln('sostovnoe'); end.p.s. не помешает.
Ивановна_Маликова1549

var a,b: integer;         - говорит программе, что будут использовать целые числа в переменных                        

                                          а и в 

begin                             - начало программы

a: =0;                             - а = 0

b: =2364;                       -  b = 2364;

while b> 0  do begin       - пока b > 0   делать

f b mod 10< 5 then       - если b разделить на 10 в остатке получится число меньше 5 тогда

a: =a+b mod 10;           - а = а + b разделить на 10 и найти остаток (этот остаток и прибавить

b: =b div 10;                 -  b = b разделить на 10 и найти целую часть, на эту целую часть 

                                          заменить старое значение переменной b

end;                             - конец цикла

writeln(a);                     - напечатать а

end.                             - конец программы

 

работает так:

1)  a  = 0

b = 2364

2364 > 0 да

2364 / 10 = 236 ост 4

4< 5 да тогда а = 0 + 4 = 4

b = 2364 / 10 = 236   - находим только целую часть числа

 

2) проверяем снова условие

236 > 0   да

236 / 10 = 23 ост 6

6 < 5 нет - ничего не делаем ( а осталось равно 4)

b = 236 / 10 = 23    - находим только целую часть числа

 

3) проверяем снова условие

23 > 0 да

23 / 10 = 2 ост 3

3< 5   да тогда а = 4 + 3 = 7

b = 23 / 10 = 2 -    находим только целую часть числа

 

4) проверяем снова условие

2 > 0 да

2/10 = 0 ост 2

2< 5 да, тогда а = 7 + 2 = 9

b = 2 / 10 = 0    -    находим только целую часть числа

5) проверяем снова условие

0 > 0 нет

 

закончили цикл

 

напечатать а = 9

конец алгоритма

 

алгоритм считает сумму цифр в числе в, которые меньше 5

srvsm

есть две переменные а и бизначально а=0, б=2364

 

пока б будет больше 0 он будет выполнять следующие действия:

если остаток от б/10 меньше нуля тогда к а прибавляется этот остаток.  б делим на 10 и повторяем

 

вывод а

 

сама вычисляет сумму цифр в числе которые меньше 5.дано б = 2364.

смотрит остаток от 2364 mod 10 = 4

4 меньше пяти соответственно в а=4

далее 2364/10=236

 

теперь 236 mod 10 = 6

6 больше пяти поэтому ниче не делаем

236 div 10 = 23

 

теперь 23 mod 10 = 3

3 меньше пяти соответственно а=а+3 = 4+3 = 7

23 див 10 = 2

 

теперь 2 mod 10 = 2

2 меньше 5 соответственно а=а+3 = 7+2 = 9

2 див 10 = 0

 

так как б=0 программа выходит из цикла и выводит а, т.е. число 9

 

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

;) с .надо сделать такую же, только на тему "while" грубо говоря заменить "for' на "while". var a, n, k: integer; begin write('vvedite chislo '); readln(n); if (n=1) or (n=0) then write( n, ' ne sostavnoe i ne '); for a: =2 to n div 2 do if n mod a=0 then k: =k+1; if k=0 then write('prostoe') else writeln('sostovnoe'); end. (вводится число с клавы, узнать простое или состовное) буду
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Artyukhin545
inj-anastasia8
Alyona
Sinelnikov1650
lele4kass
NikonA83
О. Карпов1691
Eduard Popik
Чиркина999
Нана_Елена
vsemvsego306
keykov35
Валуева
vera4
reznikvi