|
Домашнім завданням було побудувати таблицю квадратів натуральних чисел від 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.
|