:
糿
- 10      - Інформатика       - pp77gg

: Контрольна практична робота, тестування по темі розгалуження та цикли.

a

Домашнім завданням було побудувати таблицю квадратів натуральних чисел від 10 до 99. А також теоретичні обґрунтування використання вкладених циклів.

Тут подається пояснення розв'язання задачі з використанням циклів з післяумовою, хоча раціональніше вирішити задачу можна використовуючи цикли з параметром.

Пояснення.

Вивести на екран (в рядок) квадрати чисел від 10 до 99 можна так:

Program nat_kvadrat1;
    Var i,j: integer;
Begin
   i:=1;
     Repeat
         Write(i*i:7);
         i:=i+1;
      Until i=100;
End.

Нам,  же потрідно подати їх у вигляді прямокутної таблиці. Для цього і використаємо вкладений цикл двох параметрів i - в нас будуль одиниці та j - десятки. Число j- десятків та i - одиниць обчислюється так j*10+i. А (j*10+i)*(j*10+i) - це вже квадрат цього числа.

Program nat_kvadrat;
Var a,i,j,k: integer;
Begin
j:=1;
  Repeat
     Writeln;
     i:=1;
      Repeat
         Write((j*10+i)*(j*10+i):7);
         i:=i+1;
      Until i=10;
      j:=j+1;
 Until j=10;
End.

Отримана таблиця містить лише квадрати чисел. Нам корисно мати зверху рядок одиниць числа, що підноситься до квадрату а з ліва стовчик десятків цього числа. Для цього доповнимо програму циклом, що малює одиниці. (виділимо жирним) . Стовчик утворимо додавши перед кожним рядочком один символ (команду виділимо жирним курсивом)

Program nat_kvadrat;
Var a,i,j,k: integer;
Begin
   i:=0;
   Repeat
         Write(i:7);
         i:=i+1;
   Until i=10;


j:=1;
  Repeat
     Writeln;
     i:=1;
     write(j:7);
      Repeat
         Write((j*10+i)*(j*10+i):7);
         i:=i+1;
      Until i=10;
      j:=j+1;
 Until j=10;
 Writeln;
 Writeln;

End.