IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Пара задач (циклы for do ), .
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Доброго времени суток жителям форума,в изучении темы задался вопросом решения задач(2 штучки),свои варианты написал,но не уверен,правильно ли с точки зрения программирования
Задание 6.5.
Написать программу вычисления n! (факториал числа n), где n положительно. Определение факториала:
0! = 1
1! = 1
2! = 1*2
3! = 1*2*3
n! = 1 * 2 * 3 *.... * (n - 1) * n
Другими словами, n! — это произведение первых n натуральных чисел.
Каждый следующий результат (обозначим его Р) получается путем умножения предыдущего результата (предыдущего Р) на счетчик, который пробегает значения от 1 до n.
Обозначим значение счетчика буквой k.
Получаем общий вид выражения: Р = Р * k (то есть воспользуемся рекуррентной формулой вычисления факториала: n! = (n - 1)! * n).
Программа должна быть организована так: с клавиатуры вводится число n (n— положительно), а затем на экран выдается таблица факториалов чисел до n включительно.
____________________________________________________
Как я понял натуральные числа-все целые,не отрицательные числа(12,256,1),но не (-24.5 ; 45.6);
Тогда вот код:
Код
uses crt;
var p,k,n:integer;
begin
p:=1;
readln(n);
for k:=1 to n do
   p:=p*k;
writeln(p);
end.


Почему k:=1 ? ...Потому что если К будет =0 то P:=p*k = (P*0),а любое число,умнодженное на ноль - ноль),поэтому я взял k:=1
__________________________________
Задание 6.6.
Написать программу вычисления суммы ряда S=1 + 2 + 3 + 4 + 5 + 6. Нарисовать блок-схему и заполнить таблицу трассировки. Убедиться при трассировке, что сумма равна 21.
________________
Мое решение :
Код
uses crt;
var p,k,n:integer;
begin
p:=0;
readln(k);
for n:=1 to k do
p:=P+n;
writeln(p);
end.

Вот собственно,можете проверить,что я не так делаю?
Спасибо.


--------------------
Каждый программист - Творец (с)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Названия переменных - стандартные: S=сумма, P=произведение, i=управляющая переменная цикла. Алгоритм такой:
Цитата
Заметил тут лишь закономерность,в знаменателе идет три цифры,причем начинаются они с
N (а не с N+1). Значит, для того чтобы найти знаменатель на каждом шаге, достаточно перемножить 3 последовательных числа, начиная с N. Как это проще всего сделать? Правильно, написав вложенный цикл j = 0..2, и добавив переменную j к номеру текущего слагаемого. Тогда для i = 1 внутренний цикл переберет значения
j = (1+0), (1+1), (1+2) = 1, 2, 3
, для i = 2:
j = (2+0), (2+1), (2+2) = 2, 3, 4
и так далее... Ну, а перемножать 3 числа в цикле ты уже умеешь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Дмитрий Ильин   Пара задач (циклы for do )   25.12.2011 0:44
Krjuger   Зачем подключать crt, если вы его не используете,в…   25.12.2011 2:16
Дмитрий Ильин   Зачем подключать crt, если вы его не используете,…   25.12.2011 2:19
IUnknown   И что, таблица-таки выдается? :) PascalABC также …   25.12.2011 2:42
Дмитрий Ильин   Создал мини "таблицу" из двух столбиков …   25.12.2011 3:06
IUnknown   Я бы все-таки отформатировал, чтоб таблица на табл…   25.12.2011 3:28
Дмитрий Ильин   Я бы все-таки отформатировал, чтоб таблица на таб…   25.12.2011 3:47
Дмитрий Ильин   у меня к вам еше 2 вопроса 1) есть задача,в ней мы…   25.12.2011 18:11
IUnknown   Первый цикл - координата X изменяется от 1 до 80, …   25.12.2011 18:32
Дмитрий Ильин   Первый цикл - координата X изменяется от 1 до 80,…   25.12.2011 19:05
IUnknown   Неправда. Я ничего не говорил о том, что внутри ци…   25.12.2011 19:30
Дмитрий Ильин   Работает,работает... Вот только для понимания слож…   25.12.2011 20:12
IUnknown   Названия переменных - стандартные: S=сумма, P=прои…   25.12.2011 20:31


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.05.2024 14:01
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name