Презентация, доклад на тему Комплексная задача по программированию Развлечения гномов

Гномы свободно владеют системами счисления с разными основаниями и достигли они этого ежедневными тренировками. Именно поэтому каждое утро у гномов начинается с того, что они текущую календарную дату переводят в другую систему счисления. Ваше задание такое

Слайд 1Развлечения гномов
Учитель информатики и ИКТ
МБОУ «Лицей «Дубна»
Жевтило Ирина Аскольдовна

Развлечения гномовУчитель информатики и ИКТМБОУ «Лицей «Дубна»Жевтило Ирина Аскольдовна

Слайд 2Гномы свободно владеют системами счисления с разными основаниями и достигли они

этого ежедневными тренировками. Именно поэтому каждое утро у гномов начинается с того, что они текущую календарную дату переводят в другую систему счисления. Ваше задание такое же: перевести заданную дату D/M/Y в систему счисления с основанием М+1.
Для обозначения цифр больших 9 используются большие латинские буквы в алфавитном порядке.
Входные данные
дата в формате D/M/Y в десятичной системе счисления (1 ≤ D ≤ 31, 1 ≤ M ≤ 12, 0 ≤ Y ≤ 9999).
Выходные данные
выведите одну строку – дату в формате D/M/Y в системе счисления с основанием М+1.

Гномы свободно владеют системами счисления с разными основаниями и достигли они этого ежедневными тренировками. Именно поэтому каждое

Слайд 3Разобьем задачу на подзадачи
Необходимо из даты в формате Д/М/Г тип данных

– строковый) выделить отдельно дату, месяц, год и превратить их в числовой формат.
Создать подпрограмму перевода числа в произвольную систему счисления (максимальное основание 13)
Вывести дату в новой системе счисления в формате Д/М/Г, если в месяце менее двух цифр, то в качестве первой использовать ноль.
Скомпоновать полную программу
Разобьем задачу на подзадачиНеобходимо из даты в формате Д/М/Г тип данных – строковый) выделить отдельно дату, месяц,

Слайд 4Решаем первую часть задачи 1 способ
var s1,s2:string;
d,m,y,i,j,k:integer;
begin
s2:='';
readln (s1);
i:=1;
repeat
s2:=s2+s1[i];
i:=i+1;
until s1[i]='/';
val(s2, d, k);
writeln

(i, s2:10, d:10);
i:=i+1;

s2:='';
repeat
s2:=s2+s1[i];
i:=i+1;
until s1[i]='/';
val(s2, m, k);
writeln (i, s2:10, m:8);
i:=i+1; s2:='';
for j:=i to length(s1) do
s2:=s2+s1[j];
val(s2, y, k);
writeln (i, s2:10, y:8);
end.

В этом цикле считываем дату

Переводим дату в числовой формат

Проверка для отладки программы

В этом цикле считываем месяц

Переводим дату в числовой формат

Проверка для отладки программы

В этом цикле считываем год

Решаем первую часть задачи 1 способvar s1,s2:string; d,m,y,i,j,k:integer;begins2:='';readln (s1);i:=1;repeats2:=s2+s1[i];i:=i+1;until s1[i]='/';val(s2, d, k);writeln (i, s2:10, d:10);i:=i+1;s2:='';repeats2:=s2+s1[i];i:=i+1;until s1[i]='/';val(s2, m,

Слайд 52 способ
var s, s1:string;
ds,ms,ys: string;
d,m,y,k,n: integer;
begin
readln (s1); S:=S1;
k:=pos('/',s);
writeln (k);
ds:=copy (s,1,k-1);
writeln (ds);
delete

(s,1,k);
writeln (s);
k:=pos('/',s);
writeln (k);
ms:=copy (s,1,k-1);
writeln (ms);
n:=length(s)-(k);
ys:=copy (s,k+1,n);
writeln (ys);
end.

Определяем позицию первого ‘/’

Копируем дату

Проверка

Удаляем из строки S дату и ‘/’

Проверка

Повторяем действия

Можно оформить в виде функции или процедуры одинаковые действия

2 способvar s, s1:string;ds,ms,ys: string;d,m,y,k,n: integer;beginreadln (s1); S:=S1;k:=pos('/',s);writeln (k);ds:=copy (s,1,k-1);writeln (ds);delete (s,1,k);writeln (s);k:=pos('/',s);writeln (k);ms:=copy (s,1,k-1);writeln (ms);n:=length(s)-(k);ys:=copy (s,k+1,n);writeln

Слайд 62 часть Создать программу перевода числа в произвольную систему счисления (максимальное

основание 13)

Var s1,s2: string;
n,k,x,a:integer;
begin
write('Введите десятичное число');
readln(a);
write('Введите основание системы счисления для перевода');
readln(n);
s1:= '';
x:=a;

While x>0 do begin
k:= x mod n;
if k<10 then str (k,s2)
else begin
if k=10 then s2:='A';
if k=11 then s2:='B';
if k=12 then s2:='C';
end;
s1:=s2+s1;
X:= x div n;
End;
writeln(a, s1:20);
end.

2 часть Создать программу перевода числа в произвольную систему счисления (максимальное основание 13)Var  s1,s2: string; n,k,x,a:integer;begin

Слайд 73 часть
perevod(d,m+1,s3);
perevod(m,m+1,s4);
perevod(y,m+1,s5);
writeln(s1);
write(s3, '/');
if length (s4)=1 then write('0',s4,'/',s5) else write(s4,'/',s5);

3 часть perevod(d,m+1,s3);perevod(m,m+1,s4);perevod(y,m+1,s5);writeln(s1);write(s3, '/');if length (s4)=1 then write('0',s4,'/',s5) else write(s4,'/',s5);

Слайд 8Полная программа
var s1, s2, s3, s4, s5: string;
d, m, y,

i, j, k:integer;
procedure perevod (a,n:integer; var s1:string);
var
s2: string;
k, x: integer;
begin
s1:= '';
x:=a;
While x>0 do begin
k:= x mod n;
if k<10 then str (k,s2)
else begin
if k=10 then s2:='A';
if k=11 then s2:='B';
if k=12 then s2:='C';
end;

s1:=s2+s1;
X:= x div n;
End;
writeln(a, s1:20);
end.
s1:=s2+s1;
X:= x div n;
End;
writeln(a, s1:20);
end;

Процедура перевода числа в произвольную систему счисления

Полная программаvar s1, s2, s3, s4, s5: string; d, m, y, i, j, k:integer;procedure perevod (a,n:integer; var

Слайд 9begin
s2:='';
readln (s1);
i:=1;
repeat
s2:=s2+s1[i];
i:=i+1;
until s1[i]='/';
val(s2, d, k);
i:=i+1;
s2:='';
repeat
s2:=s2+s1[i];
i:=i+1;
until s1[i]='/';
val(s2, m, k);
i:=i+1; s2:='';
for j:=i to

length(s1) do
s2:=s2+s1[j];
Val (s2, y, k);
perevod(d,m+1,s3);
perevod(m,m+1,s4);
perevod(y,m+1,s5);
writeln(s1);
write(s3, '/');
if length (s4)=1 then write('0',s4,'/',s5)
else write(s4,'/',s5);
end.
begins2:='';readln (s1);i:=1;repeats2:=s2+s1[i];i:=i+1;until s1[i]='/';val(s2, d, k);i:=i+1;s2:='';repeats2:=s2+s1[i];i:=i+1;until s1[i]='/';val(s2, m, k);i:=i+1; s2:='';for j:=i to length(s1) dos2:=s2+s1[j];Val (s2, y, k);perevod(d,m+1,s3);perevod(m,m+1,s4);perevod(y,m+1,s5);writeln(s1);write(s3, '/');if

Слайд 102 вариант программы
var d,m,y,l:string;
f,i,k:integer;
a:array[0..12] of string;
function perevod(d:string;k:integer):string;
var

s:string;
f,i,j:integer;
begin
val(d,i,f);
while i>0 do
begin
j:=i mod k;
s:=a[j]+s;
i:=i div k;
end;
perevod:=s;
end;
2 вариант программыvar d,m,y,l:string;  f,i,k:integer;  a:array[0..12] of string;function perevod(d:string;k:integer):string;var s:string;  f,i,j:integer;begin val(d,i,f); while i>0

Слайд 112 вариант программы
begin
readln(l);
i:=1;
while l[i]'/' do
inc(i);
d:=copy(l,1,i-1);

delete(l,1,i);
i:=1;
while l[i]<>'/' do
inc(i);
m:=copy(l,1,i-1);
delete(l,1,i);
y:=l;

a[0]:='0'; a[1]:='1'; a[2]:='2'; a[3]:='3'; a[4]:='4'; a[5]:='5'; a[6]:='6'; a[7]:='7'; a[8]:='8'; a[9]:='9'; a[10]:='A'; a[11]:='B'; a[12]:='C';
val(m, k, f);
k:=k+1;
d:=perevod(d, k);
m:=perevod(m, k);
y:=perevod(y, k);
writeln(d, '/', m, '/', y);
end.

2 вариант программыbegin readln(l); i:=1; while l[i]'/' do  inc(i); d:=copy(l,1,i-1); delete(l,1,i); i:=1; while l[i]'/' do

Слайд 12Развлечения гномов

Развлечения гномов

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть