|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.11.2010, 18:08 | #1 |
Регистрация: 13.11.2010
Сообщений: 3
|
Входные и выходные данные!
Сегодня лектор помог написать программу но по прибытию домой стал разбиратся и ничего не понял.Прошу вас обьяснить мне что такое y,j,i,s я прост запутался что де обозначали где делители? и т.д
Код:
Последний раз редактировалось Stilet; 15.11.2010 в 19:02. |
15.11.2010, 19:17 | #2 |
Пользователь
Регистрация: 06.08.2007
Сообщений: 43
|
Попробую объяснить по простому.
y - это переменная типа word, которую ты передаешь в процедуру т.е procedure prost (y:word); В процедуру ты можешь передавать любую переменную типа word, т.е y - служит лишь для наименования этого типа в твоей процедуре. Так как ты передаешь параметры процедуре по значению, y и есть это значение, которое используется в твоей процедуре prost(X); - это передача Х в процедуру, т.е y=X, а y у тебя используется в цикле for i:=1 to y-1 do. j,i,s - те же переменные типа word, только они объявлены в самой процедуре и используются: i,j - для формирования цикла for j:=1 to trunc(i/2+1) do, а также для проверки условия if i mod j = 0 then. Сразу скажу что mod - это функция которая дает остаток от деления делимого на делитель. В данном случаи делимое у тебя i, а делитель j. s - служит лишь для результата вычислений s:=s+j;, а затем и для проверки твоих совершенных чисел - if s=i then writeln('совершенные числа = ',i); |
15.11.2010, 19:35 | #3 |
Регистрация: 13.11.2010
Сообщений: 3
|
Вот моя задача:Найдите все совершенные числа в диапазоне от 1 до 10000!
По твоему подробному обьяснению я понял так что во вх.данные у меня входит y,i,j,s,N а в выход.данные входит только x-т.е сам совершенные числа.я правелньо понял? |
15.11.2010, 20:18 | #4 |
Пользователь
Регистрация: 06.08.2007
Сообщений: 43
|
Результат твоей задачи :
совершенные числа = 1 совершенные числа = 6 совершенные числа = 28 совершенные числа = 496 совершенные числа = 8128 Наверное не надо было так объяснять, а то наверное запутал тебя. N - это собственный (ваш созданный )тип данных, который = стандартному типу word. В данном случае я вообще не понимаю зачем он нужен, так как он здесь нигде не фигурирует кроме объявления ( ну да Бог с ним), забудь за него. X - это твоя глобальная переменная, как раз она и является входным данным. Возможно лектор еще что-то задумал, но по сути выходными данными является переменная i, если она проходит условие if s=i then writeln('совершенные числа = ',i); Остальные лишь участвуют в организации цикла и его проверочных условиях. Объясняю : begin // начало тела функции clrscr; // очистка экрана writeln('введите целое число'); // на экране появляется надпись readln(x); // введенное число передается глобальной переменной x; prost(x); // вызов твоей процедуры с параметром х; readln; // ждеш нажатия любой кнопки end. // конец тела функции В принципе все. |
15.11.2010, 20:20 | #5 | ||
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
х это целое число, которое ты вводишь при старте программы
Цитата:
На выходе ты получаешь совершенное число т.е. i Цитата:
Хакинг - не преступление, а способ выживания.
|
||
15.11.2010, 20:41 | #6 |
Регистрация: 13.11.2010
Сообщений: 3
|
Все понял спасибо большое! А эту программу возможно ли переделатьв програму с функцией вместо процедуры .Если да то какими методами?
|
15.11.2010, 20:59 | #7 |
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
Это не имеет смысла
Хакинг - не преступление, а способ выживания.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сохранять на форме предидущие входные данные TextBox-e? | Natok | Общие вопросы C/C++ | 1 | 08.10.2010 06:35 |
Опишите входные и выходные данные программы | predator14 | Помощь студентам | 0 | 06.06.2010 20:08 |
Входные данные сайта | BALLIN | Помощь студентам | 3 | 13.05.2010 11:13 |
Входные и выходные данные | allsolovey | Общие вопросы C/C++ | 1 | 12.02.2009 20:10 |
Выделить выходные | gavrylyuk | Microsoft Office Excel | 5 | 01.08.2008 13:28 |