Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 31.07.2014
Сообщений: 23
1

Узнать количество стульев

18.09.2016, 12:30. Показов 1637. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В одном амфитеатре есть ряды со стульями. В первом ряду n стульев, каждый ряд увеличивается на 2 стула. Узнать количество стульев в последнем ряду. Узнать количество стульев в амфитеатре.

Вот что я уже собрал.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var i,sum:integer;
c,r,s,n:integer;
begin
writeln('Количества рядов');
readln(r);
writeln('Количества стульев в первом ряду');
readln(c);
sum:=c;
n:=1;
for i := 2 to r do
begin
sum := sum + 2;
end;
writeln('количество стульев в последнем ряду',sum);
 
end.
Вопрос в том, как узнать обшее количество стульев.
Заранее спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2016, 12:30
Ответы с готовыми решениями:

В ряд стоят N стульев
В ряд стоят N стульев. Время от времени подходит человек и садиться на один из свободных стульев....

Задача про партию стульев
Вероятность того, что взятый наугад продавцом со склада торгового центра стул из некоторой партии...

Сколькими способами можно осуществить обивку стульев?
Имеется пять различных стульев и семь рулонов обивочной ткани различных цветов. Сколькими способами...

Сколькими возможными способами можно рассадить на n стульев n человек?
Нужна помощь. Есть код, но не уверен что сделал как надо. В комнате n стульев. Определить,...

10
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.09.2016, 13:11 2
Лучший ответ Сообщение было отмечено N1ceBoy как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var i,sum:integer;
    c,r,s,n:integer;
begin
writeln('Количества рядов');
readln(r);
writeln('Количества стульев в первом ряду');
readln(c);
n:=c;
sum:=c;
for i:=2 to r do
 begin
  n:=n+2;
  sum:=sum+n;
 end;
writeln('количество стульев в последнем ряду=',n);
writeln('всего стульев=',sum)
end.
1
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
18.09.2016, 14:12 3
А если прогрессию взять, то и цикл не понадобится...
0
0 / 0 / 0
Регистрация: 31.07.2014
Сообщений: 23
18.09.2016, 16:37  [ТС] 4
Можно по подробнее? про прогрессию?
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
18.09.2016, 16:48 5
Данная задача расчитана на закрепление знаний по теме. Если тема с названием "циклы", то решение уже приведено.
А если просто решать, то достаточно понимать, что такое https://ru.wikipedia.org/wiki/... прогрессия
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.09.2016, 16:49 6
https://ru.wikipedia.org/wiki/... прогрессия
Там есть формулы последнего члена и суммы.
0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
18.09.2016, 16:52 7
Цитата Сообщение от N1ceBoy Посмотреть сообщение
Можно по подробнее? про прогрессию?
а что, в школе не проходил?
an = a1+ d · (n - 1)
d=2
an - это количество стульев в n-ном ряду
s=(a1+an)/2*n
или
s=(2*a1+d*(n-1))/2*n

Добавлено через 2 минуты
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Данная задача расчитана на закрепление знаний по теме. Если тема с названием "циклы", то решение уже приведено.
Только глупые преподы учат своих учеников или студентов решать задачи нерациональными способами, когда есть рациональные
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
18.09.2016, 17:08 8
Да, согласен. Но "чудеса и в таких местах случаются" (песня "Маршрутка").

Немного почитав темы на форуме видел, как выход из лабиринта искался не волновым методом, а рекурсией, а если и волновым - то без реализации очереди. И всё по программе обучения. Но не оптимальным способом. Хотя, если брать тему "лабиринт", то уже поясняя её нормальное решение.

Думаю, и в данном случае так. Хотя этот вопрос может разрешить топикстартер, который не знает о прогрессии.
0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
18.09.2016, 17:56 9
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
как выход из лабиринта искался не волновым методом, а рекурсией
Волновой метод, в отличие от обычных формул, не всегда присутствует в программе. Скажем, в школьной программе базового курса его нет (там и рекурсия лишь вскользь упоминается), так что это не ошибка, а вот заменять формулу циклом - это есть нерациональный путь решения, за который преподу надо давать по шее. Я могу привести простой пример. Один препод учил находить максимум из трёх чисел с помощью трёх if:
if (a>b)and(a>c)then max:=a;
if (b>a)and(b>c)then max:=b;
if (c>a)and(c>b)then max:=c;
а другой, объяснив этот способ, заставлял учеников найти решение с двумя if. Несложно догадаться, чьи ученики в итоге добились больших успехов в программировании...
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
18.09.2016, 18:31 10
Хорошо, когда есть кому учить. Да и кого учить.
Наверное из-за того, что на форум приходят с проблемами, создаётся впечатление об упадке образования (в поликлинике всё с болезнями )

Есть смысл добавить код с логичным решением - всё-таки не в каменном веке живём.
0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
18.09.2016, 18:54 11
Так наверное:
Pascal
1
2
3
4
5
6
7
8
9
10
11
var sum,c,r,n:integer;
begin
write('Количество рядов=');
readln(r);
write('Количество стульев в первом ряду=');
readln(c);
n:= c+ 2*( r- 1);
sum:=((c+n)*r)div 2 ;
writeln('количество стульев в последнем ряду=',n);
writeln('всего стульев=',sum)
end.
1
18.09.2016, 18:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2016, 18:54
Помогаю со студенческими работами здесь

Узнать из текста в файле количество строк и наибольшее количество слов в строке
Помогите пожалуйста, подсчет строк я вроде сделал, а вот строку с наибольшим количеством слов не...

Узнать количество строк в текстовом файле и записать количество в Label
Здравствуйте! Как знать количество строк в текстовом файле(.txt) и записать это количество в...

Как узнать количество комбинаций пароля, если известно количество допустимых и вводимых символов?
№1 Условия: 1) Существует: 20 символов (которые доступны для создания пароля) 2) В табло...

Сколькими способами можно разместить 8 человек за столом, у которого стоит 8 стульев?
Сколькома способами можно разместить 8 человек за столом, у которого стоит 8 стульев?

В зале ожидания парикмахерской с одним рабочим местом с n стульев для клиентов
Помогите пожалуйста решить задачу срочно, так как не учил Java В зале ожидания парикмахерской с...

Сколько надо сделать стульев и столов, чтобы получить максимальную прибыль?
Нужна помощь в решении данных задач


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru