Определите, какие из указанных имен файлов удовлетворяют маске (? означает ровно один произвольный символ, * - означает любую, в том числе и пустую последовательность символов произвольной длины): ? ese*ie.? t*
var a,n,i,j,s:integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(a); for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 9 Введите 2 цифру из 5 2 Введите 3 цифру из 5 7 Введите 4 цифру из 5 3 Введите 5 цифру из 5 1 Натуральное число: 92731
Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)
//PascalABC.NET (версия 3.1, сборка 1198) var a,n,i,j,s:integer; mas:array[1..10]of integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(mas[i]); a:=mas[i]; for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 5 Введите 2 цифру из 5 4 Введите 3 цифру из 5 3 Введите 4 цифру из 5 2 Введите 5 цифру из 5 2 Натуральное число: 54322
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку: procedure G(n: integer);forward; Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы. После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:
Вызов процедуры F и выполнение * n = 12 * n = 12 Вызов процедуры G и выполнение * n = 11 * n = 11 Вызов процедуры F и выполнение * n = 9 * n = 9 Вызов процедуры G и выполнение * n = 8 * n = 8 Вызов процедуры Fи выполнение * n = 6 * n = 6 Вызов процедуры G и выполнение * n = 5 * n = 5 Вызов процедуры F и выполнение * n = 3 * n = 3 Вызов процедуры G и выполнение * n = 2 * n = 2 Вызов процедуры F и выполнение * n = 0
var a,n,i,j,s:integer;
begin
writeln('Введите количество цифр в числе');
readln(n);
for i:=1 to n do begin
writeln('Введите ',i,' цифру из ',n);
readln(a);
for j:=1 to n-i do a:=a*10;
s:=s+a;
end;
writeln('Натуральное число: ',s);
end.
Тестовое решение
Введите количество цифр в числе
5
Введите 1 цифру из 5
9
Введите 2 цифру из 5
2
Введите 3 цифру из 5
7
Введите 4 цифру из 5
3
Введите 5 цифру из 5
1
Натуральное число: 92731
Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)
//PascalABC.NET (версия 3.1, сборка 1198)
var a,n,i,j,s:integer;
mas:array[1..10]of integer;
begin
writeln('Введите количество цифр в числе');
readln(n);
for i:=1 to n do begin
writeln('Введите ',i,' цифру из ',n);
readln(mas[i]);
a:=mas[i];
for j:=1 to n-i do a:=a*10;
s:=s+a;
end;
writeln('Натуральное число: ',s);
end.
Тестовое решение
Введите количество цифр в числе
5
Введите 1 цифру из 5
5
Введите 2 цифру из 5
4
Введите 3 цифру из 5
3
Введите 4 цифру из 5
2
Введите 5 цифру из 5
2
Натуральное число: 54322
procedure G(n: integer);forward;
Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы.
После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:
Вызов процедуры F и выполнение
* n = 12
* n = 12
Вызов процедуры G и выполнение
* n = 11
* n = 11
Вызов процедуры F и выполнение
* n = 9
* n = 9
Вызов процедуры G и выполнение
* n = 8
* n = 8
Вызов процедуры Fи выполнение
* n = 6
* n = 6
Вызов процедуры G и выполнение
* n = 5
* n = 5
Вызов процедуры F и выполнение
* n = 3
* n = 3
Вызов процедуры G и выполнение
* n = 2
* n = 2
Вызов процедуры F и выполнение
* n = 0