Урок 13.2 Задача 5

Урок 13.2 Задача 5

Задание: визуализируйте на счетах введенное пользователем число.

Примеры:

Пользователь вводит: 7
Получаем:
▶
?
1
2
3
4
5
6
7
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
+++++++---+++
Пользователь вводит: 28
Получаем:
▶
?
1
2
3
4
5
6
7
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
++---++++++++
++++++++---++
Пользователь вводит: 1984
Получаем:
▶
?
1
2
3
4
5
6
7
---++++++++++
---++++++++++
---++++++++++
+---+++++++++
+++++++++---+
++++++++---++
++++---++++++
Пользователь вводит: 2021
А наша программа отвечает:
?
1
2
3
4
5
6
7
---++++++++++
---++++++++++
---++++++++++
++---++++++++
---++++++++++
++---++++++++
+---+++++++++

program  u132z4;
var m, i, j, n: integer;
begin
  writeln('vvedite chislo 7 ili 28 ili 1984 ili 2021');
  readln(j);

  for n:=1 to 7 do
    begin

      for m:= 1 to 13 do
        begin
          if (j=7) then
          begin

            if (((m < 4) and (m > 0)) and (n < 7)) then
              write ('- ')
            else
              if (n = 7) and (( m < 11) and (m > 7)) then
                write('- ')
              else
                write ('+ ');
          end
          else

            if (j=28) then
            begin

              if (((m < 4) and (m > 0)) and (n < 6)) then
                write ('- ')
              else
                if (n =6) and (( m < 6) and (m > 2)) then
                  write('- ')
                else
                  if (n =7) and (( m < 14) and (m > 8)) then
                    write('- ')
                  else
                    write ('+ ');
            end;
              if (j=1984 ) then
              begin

                if (((m < 4) and (m > 0)) and (n < 4)) then
                  write ('- ')
                else
                  if (n =4) and (( m < 5) and (m > 1)) then
                    write('- ')
                  else
                    if (n =5) and (( m < 13) and (m > 9)) then
                      write('- ')
                    else
                      if (n =6) and (( m < 12) and (m > 8)) then
                        write('- ')
                      else
                        if (n =7) and (( m < 8) and (m > 4)) then
                          write('- ')
                        else
                         write ('+ ');
               end;
                 if (j=2021 ) then
              begin

                if (((m < 4) and (m > 0)) and (n < 4)) then
                  write ('- ')
                else
                  if (n =4) and (( m < 6) and (m > 2)) then
                    write('- ')
                  else
                    if (n =5) and (( m < 4) and (m > 0)) then
                      write('- ')
                    else
                      if (n =6) and (( m < 6) and (m > 2)) then
                        write('- ')
                      else
                        if (n =7) and (( m < 5) and (m > 1)) then
                          write('- ')
                        else
                         write ('+ ');
               end;


        end;
        writeln();
  end;
  readln();
end.
vedro-compota's picture

ждем решения предыдущей задачи

_____________
матфак вгу и остальная классика =)