Практикум по программированию на языке Turbo Pascal. Часть 1. Портнягина В.В - 97 стр.

UptoLike

i, j : 1..100;
Begin
ClrScr;
sum : = 0;
Textcolor (LightRed);
For i : = 1 To 100 Do Цикл по i
For j : = 1 To 50 Do Цикл по j
sum : = sum + 1/ (1 + sqr (j));
WriteLn (' Сумма равна ', sum);
ReadKey;
End.
Пояснения к задаче 6
Заданная сумма sum суть:
1/(1 + 1
2
) + 1/(1 + 2
2
) + ... + 1/(1 + 50
2
) + 1/(2 + 1
2
) + 1/(2 + 2
2
) + ... +
+ 1/(2 + 50
2
) + 1/(100 + 1
2
) + 1/(100 + 2
2
) + … + 1/(100 + 50
2
);
sum содержит 100 * 50 = 5 000 слагаемых, поэтому тип переменной, где
будет копиться сумма sum, объявим extended , иначе, если объявить Real, бу-
дет переполнение.
В программе идет перебор всех значений по индексу i, который меняет-
ся от 1 до 100 (внешний цикл), и перебор всех значений по индексу j, кото-
рый меняется от 1 до 50 (внутренний цикл). Обратите внимание, что до входа
в цикл начальное значение суммы приравнивается к нулю (sum : = 0).
4. Контрольные вопросы
1. Что такое массив?
2.
Что такое идентификатор массива?
3.
Что такое переменная с индексом?
4.
Какие значения принимает индекс у переменных массива на языке
Паскаль?
5.
Верно ли, что массивэто структурированный тип данных, состоя-
щий из фиксированного числа элементов, имеющих один и тот же тип?
6.
Какие типы данных недопустимы для компонентов массива? Почему?
7.
В каком разделе (разделах) программы допустимо описание данных
регулярного типа?
8.
Где и как определяется общее число элементов массива?
9.
Можно ли размерность массива определить с помощью типа диапа-
зонов?
10.
Дайте определение индекса. Какие типы данных можно использовать
при описании индекса?
11.
Может ли левая граница индексов массива быть меньше правой?
12.
Может ли левая граница индексов массива быть положительной?
13.
Может ли левая граница индексов массива быть равной нулю?
14.
Может ли левая граница индексов массива быть отрицательной?
15.
Как осуществляется доступ к каждому элементу массива?
97
      i, j : 1..100;
     Begin
         ClrScr;
         sum : = 0;
         Textcolor (LightRed);
             For i : = 1 To 100 Do        Цикл по i
             For j : = 1 To 50 Do         Цикл по j
             sum : = sum + 1/ (1 + sqr (j));
     WriteLn (' Сумма равна ', sum);
     ReadKey;
     End.
     Пояснения к задаче 6
     Заданная сумма sum суть:
      1/(1 + 12) + 1/(1 + 22) + ... + 1/(1 + 502) + 1/(2 + 12) + 1/(2 + 22) + ... +
         + 1/(2 + 502) + 1/(100 + 12) + 1/(100 + 22) + … + 1/(100 + 502);
     sum содержит 100 * 50 = 5 000 слагаемых, поэтому тип переменной, где
будет копиться сумма sum, объявим extended , иначе, если объявить Real, бу-
дет переполнение.
     В программе идет перебор всех значений по индексу i, который меняет-
ся от 1 до 100 (внешний цикл), и перебор всех значений по индексу j, кото-
рый меняется от 1 до 50 (внутренний цикл). Обратите внимание, что до входа
в цикл начальное значение суммы приравнивается к нулю (sum : = 0).
    4. Контрольные вопросы
    1. Что такое массив?
    2. Что такое идентификатор массива?
    3. Что такое переменная с индексом?
    4. Какие значения принимает индекс у переменных массива на языке
Паскаль?
    5. Верно ли, что массив – это структурированный тип данных, состоя-
щий из фиксированного числа элементов, имеющих один и тот же тип?
    6. Какие типы данных недопустимы для компонентов массива? Почему?
    7. В каком разделе (разделах) программы допустимо описание данных
регулярного типа?
    8. Где и как определяется общее число элементов массива?
    9. Можно ли размерность массива определить с помощью типа диапа-
зонов?
    10. Дайте определение индекса. Какие типы данных можно использовать
при описании индекса?
    11. Может ли левая граница индексов массива быть меньше правой?
    12. Может ли левая граница индексов массива быть положительной?
    13. Может ли левая граница индексов массива быть равной нулю?
    14. Может ли левая граница индексов массива быть отрицательной?
    15. Как осуществляется доступ к каждому элементу массива?
                                          97