УРОК ИНФОРМАТИКИ И ИКТ, «ЦИКЛ «ПОКА», ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ», (9 КЛАСС, РАЗДЕЛ «АЛГОРИТМИЗАЦИЯ и ПРОГРАММИРОВАНИЕ»)


ЦИКЛ «ПОКА», СИСТЕМЫ СЧИСЛЕНИЯ САВЕЛЬЕВА Ж.Ф., МБОУ СОШ 27, КРАСНОЯРСК СУММА ЦИФР ЦЕЛОГО ЧИСЛА 10 0 2 25 10 2 20 5 0 0 A=25 S=0 1 25 mod 10 = 5 S=0+5 25 div 10 = 2 A=2 2 2 mod 10 = 2 S=5+2 2 div 10 = 0 A=0 СУММА ЦИФР ЦЕЛОГО ЧИСЛА НАЧАЛО A A<>0 S:=s+(a mod 10); A:=a div 10; да S КОНЕЦ нет АЛГОРИТМ ПЕРЕВОДА ДЕСЯТИЧНОГО ЧИСЛА В ДВОИЧНУЮ СИСТЕМУ АЛГОРИТМ ПЕРЕВОДА ДЕСЯТИЧНОГО ЧИСЛА В ДВОИЧНУЮ СИСТЕМУ 25 div2=12 25 mod 2=1 S=1*1 25 div2=12 25 mod 2=1 S=1*1 12 div2=6 12 mod 2=0 S=1+0*10 25 div2=12 25 mod 2=1 S=1*1 12 div2=6 12 mod 2=0 S=1+0*10 6 div2=3 6 mod 2=0 S=1+0*100 25 div2=12 25 mod 2=1 S=1*1 12 div2=6 12 mod 2=0 S=1+0*10 6 div2=3 6 mod 2=0 S=1+0*100 3 div2=1 3 mod 2=1 S=1+1*1000 25 div2=12 25 mod 2=1 S=1*1 12 div2=6 12 mod 2=0 S=1+0*10 6 div2=3 6 mod 2=0 S=1+0*100 3 div2=1 3 mod 2=1 S=1+1*1000 1 div2=0 1 mod 2=1 S=1001+1*10000 25 div2=12 25 mod 2=1 S=1*1 12 div2=6 12 mod 2=0 S=1+0*10 6 div2=3 6 mod 2=0 S=1+0*100 3 div2=1 3 mod 2=1 S=1+1*1000 1 div2=0 1 mod 2=1 S=1001+1*10000 S=11001 НАЧАЛО A, P A<>0 S:=s+(a mod p)*mn; A:=a div p; Mn:=mn*10; Mn:=1 да S КОНЕЦ нет АЛГОРИТМ ПЕРЕВОДА ДЕСЯТИЧНОГО ЧИСЛА В P - СИСТЕМУ РЕАЛИЗАЦИЯ АЛГОРИТМА. ПАСКАЛЬ program per10_p; uses crt; var a,s,mn,p:longint; begin readln(a,p); mn:=1; while a<>0 do begin s:=s+(a mod p)*mn; mn:=mn*10; a:=a div p; end; writeln(s); end. ИСХОДНЫЕ ДАННЫЕ:A=11001, p=2, mn:=1; 1.S:=s+(a mod 10)*mn=0+(11001 mod 10)*1=0+1*1=1, mn:=mn*p=1*2=2, a: =a div 10=11001 div 10=1100 2. S:=s+(a mod 10)*mn=1+(1100 mod 10)*2=1+0*2=1, mn:=mn*p=2*2=4, a: =a div 10=1100 div 10=110 3. S:=s+(a mod 10)*mn=1+(110 mod 10)*4=1+0*4=1, mn:=mn*p=4*2=8, a: =a div 10=110 div 10=11 4. S:=s+(a mod 10)*mn=1+(11 mod 10)*8=1+1*8=9, mn:=mn*p=8*2=16, a: =a div 10=11 div 10=1 5. S:=s+(a mod 10)*mn=9+(1 mod 10)*16=9+1*16=25, mn:=mn*p=16*2=32, a: =a div 10=1 div 10=0 S=25 ПОШАГОВОЕ ВЫПОЛНЕНИЕ АЛГОРИТМА11001(2)=1*1+0*2+0*4+1*8+1*16=1+8+16=25(10) НАЧАЛО A, P A<>0 S:=s+(a mod 10)*mn; A:=a div 10; mn:=mn*p; Mn:=1 да S КОНЕЦ нет АЛГОРИТМ ПЕРЕВОДА ЧИСЛА ИЗ P – СИСТЕМЫ В ДЕСЯТИЧНУЮ program P_10; var a,p,mn,s:longint; begin readln(a,p); mn:=1; while a<>0 do begin s:=s+(a mod 10)*mn; a:=a div 10; mn:=mn*p; end; writeln(s); end. РЕАЛИЗАЦИЯ АЛГОРИТМА. ПАСКАЛЬ