Не могу после того, как вводишь значение n - программа зависает и ничего не делает (pascal abc). в чём проблема?
uses crt;
var s,n,i,x: integer;
a: array[1..100] of integer;
function factorial (a: integer): integer;
var x,z: integer;
begin
x: =a;
x: =a-1;
repeat
z: =x*a;
a: =z;
x: =x-1;
until x=1;
factorial: =a;
end;
begin
readln (n);
for i: =1 to n do
a[i]: =i;
for i: =1 to n do begin
a[i]: =factorial (a[i]);
end;
for i: =1 to n do
s: =0+a[i];
write (s);
end.
Данная задача представляет из себя таблицу с полями, в которых указаны данные о учениках.
Посмотрев на таблицу, можно увидеть, что есть следующие поля:
- Фамилия (Surname)
- Имя (Name)
- Возраст (Age)
- Класс (Grade)
Теперь необходимо посчитать количество записей в таблице, то есть количество строк. Для этого нужно просмотреть каждую строку в таблице. В данном случае нам предоставлена только часть таблицы, поэтому мы видим только 8 строк.
Таким образом, количество полей в базе данных "Учащиеся" равно 4, а количество записей равно 8.
Обоснование: Мы определяем количество полей, исходя из названий колонок в таблице, а количество записей - исходя из количества строк.
Пошаговое решение:
1. Прочитать названия полей в таблице. В данном случае, это фамилия, имя, возраст и класс.
2. Просмотреть каждую строку в таблице и подсчитать их количество.
3. Количество полей равно количеству названий полей в таблице, т.е. 4.
4. Количество записей равно количеству строк в таблице, т.е. 8.
Изначально задано y: =x+5. Это означает, что значение переменной y будет равно значению переменной x плюс 5.
Далее выполняется операция x: =y, то есть значение переменной x станет равным значению переменной y.
И затем происходит операция y: =x+y. Это означает, что значение переменной y будет равно значению переменной x плюс значение переменной y.
Дано, что после выполнения данного фрагмента переменная y приняла значение 14. Подставим это значение и найдем значение переменной x.
14 = x + y
14 = x + (x + 5)
14 = 2x + 5
2x = 14 - 5
2x = 9
x = 9 / 2
x = 4.5
Таким образом, значение переменной x перед входом в данный фрагмент программы равно 4.5.
№ 6. Ответ: 4.5
№ 8. Для определения количества раз, которое тело цикла выполняется в данном фрагменте программы, нам нужно рассмотреть условие цикла.
Условие цикла в данном фрагменте программы - пока d >= b. Это означает, что тело цикла будет выполняться до тех пор, пока значение переменной d больше или равно значению переменной b.
Дано, что b = 10 и d = 40.
Посмотрим на выполнение тела цикла пошагово:
1. Итерация: d = 40, b = 10. Условие выполнено, тело цикла выполняется. Выполняется операция d := d - b = 40 - 10 = 30.
2. Итерация: d = 30, b = 10. Условие выполнено, тело цикла выполняется. Выполняется операция d := d - b = 30 - 10 = 20.
3. Итерация: d = 20, b = 10. Условие выполнено, тело цикла выполняется. Выполняется операция d := d - b = 20 - 10 = 10.
4. Итерация: d = 10, b = 10. Условие выполнено, тело цикла выполняется. Выполняется операция d := d - b = 10 - 10 = 0.
В этот момент значение переменной d становится равным 0, что означает, что условие цикла d >= b больше не выполняется. Тело цикла будет выполняться 4 раза.
№ 8. Ответ: 4 раза
№ 9. Чтобы определить вид вывода результатов в данном фрагменте программы, мы должны внимательно прочитать инструкцию вывода.
x: = 5 означает, что переменная x принимает значение 5.
z: = 7 означает, что переменная z принимает значение 7.
Затем производится вывод с помощью команды вывода. В предложении вывода указываются значения переменных x и z, а также их сумма z + x.
Таким образом, вывод будет иметь вид "x=5 x=7 12".
№ 9. Ответ: x=5 x=7 12.