11 / 11 / 2
Регистрация: 17.02.2014
Сообщений: 947
1

Вычисление факториала с использованием функции

07.02.2016, 15:58. Показов 509. Ответов 1
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function fact(n:byte):integer;
var
 k : longint;
 j : byte;
begin
 k:= 1;
 for j:= 2 to n do
 k:= k*j;
 fact:= k;
end; {fact}
 
var
 j : byte;
begin
 Writeln (' Таблица факториалов');
 Writeln;
 for j:= 0 to 12 do
 Writeln (j:2,'! = ',fact(j));
end.
В данном случае переменные k и j являются локальными, хотя j используется в главной программе, значит она фактическая? А переменная n какая, которая является параметром функции. Что то я запутался.

Прочитал сейчас в википедии: По зоне видимости различают локальные и глобальные переменные. Первые доступны только конкретной подпрограмме, вторые — всей программе. С распространением модульного и объектного программирования, появились ещё и общие переменные (доступные для определённых уровней иерархии подпрограмм). Область видимости иногда задаётся классом памяти. Ограничение видимости может производиться путём введения пространств имён.

Ограничение зоны видимости придумали как для возможности использовать одинаковые имена переменных (что разумно, когда в разных подпрограммах переменные выполняют похожую функцию), так и для защиты от ошибок, связанных с неправомерным использованием переменных (правда, для этого программист должен владеть и пользоваться соответствующей логикой при структуризации данных).


Добавлено через 8 минут
Как в данном случае называются переменные, которые объявляются перед главной программой? Ведь для подпрограммы эти переменные уже не видны?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2016, 15:58
Ответы с готовыми решениями:

Вычисление факториала с использованием рекурсии
function Factrl (n: integer): longint; begin if n = 0 then Factrl:= 1; if n = 1 then ...

Вычисление факториала числа с использованием рекурсии
Очень срочно нужно, помогите если кто знает. Задача 11 Вычисление факториала числа с...

Вычислить с использованием функции вычисления факториала количество сочетаний
Составьте программу решения задачи на языке Паскаль. Вычислить с использованием функции вычисления...

Вычисление факториала с использованием рекурсивной функции
Нужна помощь с написанием программы. 1.Напишите программу для вычисления факториала с...

1
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
08.02.2016, 10:17 2
Цитата Сообщение от jestero Посмотреть сообщение
Как в данном случае называются переменные, которые объявляются перед главной программой?
В данном случае-глобальные
Сидоров М. Е. , Трушин О. В.
Школа работы на IBM PC. Часть 2. Уфа, 1996.
...
В процедуре можно использовать локальные метки, константы и переменные,
описав их в разделе описания процедуры. Локальные имена не должны совпадать с именами
формальных параметров, а их значения не передаются во внешнюю программу. Метки,
константы и переменные, описанные во внешней программе раньше, чем сама процедура,
называются глобальными по отношению к вызываемой процедуре. Если локальные и глобальные имена совпадают, то в процедуре используются локальные значения, а во внешней
программе -глобальные значения, т. е. локальные и глобальные идентификаторы независимы. Если имя глобальной переменной уникально (в процедуре не описывается переменная
с таким же именем) и ее значение в процедуре изменяется, то оно изменяется и во внешней
программе. Вызывая в программе процедуру программист использует ее имя и параметры не
анализируя, а часто и не зная содержимого процедуры. Поэтому в целях универсальности
процедур следует все значения в процедуру передавать через список параметров, а переменные внутри процедуры описывать, т. е. делать их локальными.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2016, 10:17
Помогаю со студенческими работами здесь

Вычисление факториала с использованием оператора цикла с параметром
Напишите программу для вычисления факториала с использованием оператора цикла с параметром.

Вычисление факториала числа f=10! записать с использованием операторов цикла
Вычисление факториала числа f=10! записать с использованием операторов цикла for, while.

Вычисление факториала с использованием рекурсии - найти ошибку в коде
Что я не так делаю, когда вычисляю факториал введенного числа в текстовое поле? Получается 5!=20,...

Билет к экзамену. Функции. Вычисление факториала
Народ помогите пожайлуста,срочно нужна ваша помощь–завтра экзамен по С++. Вопрос билета звучит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru