Решение задачек на Turbo Pascal

Дошкольникам, школьникам, студентам и абитуриентам
FreemanNow
Сообщения: 30077
Зарегистрирован: 02 окт 2006, 09:23
Настоящее имя: Виталий
Откуда: г.Смоленск
Благодарил (а): 0
Поблагодарили: 2 раза
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение FreemanNow »

Инженер писал(а):Задача 6

....
В коде нужно убрать лишнее, т.к. не выполняется условие поставленной задачи.
кстати, а что именно "не выполняется" ??
Аватара пользователя
Инженер
Сообщения: 9069
Зарегистрирован: 02 янв 2013, 20:10
Настоящее имя: Владимир
Откуда: Москва
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение Инженер »

FreemanNow писал(а): а с точки зрения простой логики он и так отсортируется как наименьшее значение в массиве и ставить дополнительное условие нет ни малейшего смысла.
Это понятно, хотя не факт, т.к. рандомные значения могут быть "1 1 1 1 ... 1".
FreemanNow писал(а):кстати, а что именно "не выполняется" ??
Нужно найти номер квартиры, где живёт максимальное количество членов семьи. В результате вывода данного кода, отброшены 4 квартиры, лишь из-за доп.условия в коде программы ("при одинаковом количестве человек наибольшей выбирается семья в следующей квартире"). Это неправильно. Если есть одинаковое кол-во людей, то вывод должен быть множественный, т.е. несколько квартир.
FreemanNow
Сообщения: 30077
Зарегистрирован: 02 окт 2006, 09:23
Настоящее имя: Виталий
Откуда: г.Смоленск
Благодарил (а): 0
Поблагодарили: 2 раза
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение FreemanNow »

Инженер, из условия задачи этого вовсе не следует, скорей, наоборот, требуется только одно значение. Но, как вариант, можно вывести и все максимальные, только для этого нужно будет не "убрать лишнее" из кода, а наоборот, дополнить его еще одним циклом.
Аватара пользователя
Инженер
Сообщения: 9069
Зарегистрирован: 02 янв 2013, 20:10
Настоящее имя: Владимир
Откуда: Москва
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение Инженер »

FreemanNow, представь реальную ситуацию. Закончил человек МЭИ, пошёл работать в АГГС. Там ему дали задание разработать подобный алгоритм, с целью найти в доме самую многочисленную семью, чтобы вручить ей подарок от администрации города. В результате неверного вывода программы, была забыта одна из семей, которая очень обиделась на АГГС и на соседей по дому и подала многомиллионый иск, с целью восстановить справедливость. Вот такие вот пирожки :-))
FreemanNow
Сообщения: 30077
Зарегистрирован: 02 окт 2006, 09:23
Настоящее имя: Виталий
Откуда: г.Смоленск
Благодарил (а): 0
Поблагодарили: 2 раза
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение FreemanNow »

Инженер, ты считаешь эту ситуацию реальной ??? И какие же шансы этот иск выиграть ? :-))

Но это все лирика. Виноват будет не программист, а постановщик задачи которая в этом случае должна была быть сформулирована как "вывести все номера квартир с максимальным количеством жильцов" и никак иначе )
Аватара пользователя
Инженер
Сообщения: 9069
Зарегистрирован: 02 янв 2013, 20:10
Настоящее имя: Владимир
Откуда: Москва
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение Инженер »

Про реальную ситуацию я пошутил, хотя всякое бывает :hi_hi_hi:

А задача должна выполняться либо с поставленным условием, либо не выполняться вовсе. Неверный (в том числе неполный) результат недопустим.
Storm
Сообщения: 4784
Зарегистрирован: 19 ноя 2004, 11:44
Откуда: Smolensk
Благодарил (а): 0
Поблагодарили: 3 раза
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение Storm »

Инженер писал(а):А задача должна выполняться либо с поставленным условием, либо не выполняться вовсе. Неверный (в том числе неполный) результат недопустим.
Не, тут нужно внимательно читать задание. Номер квартиры, а не номера квартир. Т.е. решение - любой из номеров с наибольшим числом, причем он не обязательно повторяется при одинаковых начальных условиях.
Ты мне скажи лучше, почему специальное поле не вводишь "семья" с уникальным индентификатором для одной семьи. А то в твоем конкурсе приз получат 40 прописанных таджиков :)
Аватара пользователя
TheBest
Сообщения: 13222
Зарегистрирован: 08 фев 2005, 14:36
Благодарил (а): 11 раз
Поблагодарили: 8 раз

Re: Решение задачек на Turbo Pascal

Сообщение TheBest »

Инженер, Старшекурсник или преподаёшь? :)
Задачи идеологически просты, на тему "массивы". К чему придумывать ненужное и впихивать невпихуемое?
Если ничего не поменялось, то это для первого курса Энергета, возможно для заочника. Так что вариант решения прекрасно подойдёт.
Иначе я бы 100500 раз вернул эту задачу постановщику задачи. В конце концов, нужно же учесть процентное отношение семей с 2 членами к семьям с 9 членами.
Только вот в Смоленском регионе или среднее по стране? За какой год? Выше 5 человек уведомлять государственные органы, вдруг в квартире гастарбайтеры-нелегалы.
Аватара пользователя
mamrot
Сообщения: 2787
Зарегистрирован: 06 май 2008, 16:36
Настоящее имя: Мария
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение mamrot »

TheBest, на самом деле было б интересно препода потроллить, вернуть задачу с формулировкой ТЗ некорректно :-)) мало преподователей, кто оценит шутку юмора и подправит условие ;;-)))
На мужике- по любому лучше ...© alisa.smol
Аватара пользователя
TheBest
Сообщения: 13222
Зарегистрирован: 08 фев 2005, 14:36
Благодарил (а): 11 раз
Поблагодарили: 8 раз

Re: Решение задачек на Turbo Pascal

Сообщение TheBest »

mamrot, В мою бытность на кафедре ВТ мне на таких преподавателей везло. :)
Storm
Сообщения: 4784
Зарегистрирован: 19 ноя 2004, 11:44
Откуда: Smolensk
Благодарил (а): 0
Поблагодарили: 3 раза
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение Storm »

на самом деле было б интересно препода потроллить, вернуть задачу с формулировкой ТЗ некорректно
Что некорректного то?
Аватара пользователя
Инженер
Сообщения: 9069
Зарегистрирован: 02 янв 2013, 20:10
Настоящее имя: Владимир
Откуда: Москва
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение Инженер »

Для полной корректности задание требует уточнение.

Например, тот же дом может быть простой избой, без квартир. В задании же не указано, что дом многоквартиный, там просто написано, что в доме проживает столько-то семей, без подробностей. Как тогда формировать вывод того, что не существует (нет квартиры)?!
WickedW00LF
Сообщения: 35
Зарегистрирован: 07 янв 2011, 18:05
Настоящее имя: Александр
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение WickedW00LF »

Граждане, снова помощь требуется.
Изображение
Аватара пользователя
John Prick
Сообщения: 8808
Зарегистрирован: 12 янв 2006, 19:30
Благодарил (а): 368 раз
Поблагодарили: 266 раз
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение John Prick »

Код: Выделить всё

program prog1;

uses crt;

const N = 5;

var
   i, j : integer;
   x, avg, sum : real;

begin
     clrscr;
     sum := 0;
     for i := 1 to N do
     begin
          readln(x);
          sum := sum + x;
          avg := sum / i;
          writeln(avg);
     end
end.
WickedW00LF
Сообщения: 35
Зарегистрирован: 07 янв 2011, 18:05
Настоящее имя: Александр
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение WickedW00LF »

От души! :co_ol:
WickedW00LF
Сообщения: 35
Зарегистрирован: 07 янв 2011, 18:05
Настоящее имя: Александр
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение WickedW00LF »

Изображение
Аватара пользователя
mamrot
Сообщения: 2787
Зарегистрирован: 06 май 2008, 16:36
Настоящее имя: Мария
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение mamrot »

John Prick, убиваешь конкурентов?
На мужике- по любому лучше ...© alisa.smol
Аватара пользователя
John Prick
Сообщения: 8808
Зарегистрирован: 12 янв 2006, 19:30
Благодарил (а): 368 раз
Поблагодарили: 266 раз
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение John Prick »

mamrot, да не, просто скучно..
Аватара пользователя
Dejmos
Сообщения: 5990
Зарегистрирован: 30 мар 2007, 15:35
Настоящее имя: Денис
Откуда: Singularity
Благодарил (а): 460 раз
Поблагодарили: 1304 раза
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение Dejmos »

На каком хоть курсе такие задачки даются то?

P.S.
Изображение
* Руссо программисто, облико аморале *
WickedW00LF
Сообщения: 35
Зарегистрирован: 07 янв 2011, 18:05
Настоящее имя: Александр
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение WickedW00LF »

2 курс
Кстати, за первое задание 4 поставили )
Начертательная
Сообщения: 10
Зарегистрирован: 15 июн 2016, 03:55
Настоящее имя: Эпюра
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Решение задач на Turbo Pascal

Сообщение Начертательная »

Хренью какой-то занялись. Учебные задачи на Turbo Pascal никогда не будут моделировать реальные проекты.
Последний раз редактировалось Начертательная 18 июл 2016, 17:45, всего редактировалось 1 раз.
Аватара пользователя
Grum_
Сообщения: 6096
Зарегистрирован: 31 окт 2005, 10:11
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение Grum_ »

WickedW00LF писал(а):2 курс
Кстати, за первое задание 4 поставили )
Переменная j лишняя, константу тоже можно не объявлять
Академик Иосиф
Сообщения: 23467
Зарегистрирован: 07 май 2008, 23:38
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение Академик Иосиф »

Начертательная писал(а):Хренью какой-то занялись. Учебные задачи никогда не будут моделировать реальные проекты.
Они и не должны. Они другое развивают. Именно на таких задачах я и стал сверх программистом :-)
Начертательная
Сообщения: 10
Зарегистрирован: 15 июн 2016, 03:55
Настоящее имя: Эпюра
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение Начертательная »

Академик Иосиф писал(а):я и стал сверх программистом :-)
Слова не мальчика, но ТП :chir_lider:
Академик Иосиф
Сообщения: 23467
Зарегистрирован: 07 май 2008, 23:38
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение Академик Иосиф »

Начертательная писал(а):Слова не мальчика, но ТП :chir_lider:
:chir_lider: :chir_lider:
WickedW00LF
Сообщения: 35
Зарегистрирован: 07 янв 2011, 18:05
Настоящее имя: Александр
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение WickedW00LF »

Академик Иосиф писал(а):
Начертательная писал(а):Хренью какой-то занялись. Учебные задачи никогда не будут моделировать реальные проекты.
Они и не должны. Они другое развивают. Именно на таких задачах я и стал сверх программистом :-)
А че не помогаешь тогда?!
Академик Иосиф
Сообщения: 23467
Зарегистрирован: 07 май 2008, 23:38
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение Академик Иосиф »

только сейчас тему нашел :nez-nayu:
WickedW00LF
Сообщения: 35
Зарегистрирован: 07 янв 2011, 18:05
Настоящее имя: Александр
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение WickedW00LF »

Академик Иосиф писал(а):только сейчас тему нашел :nez-nayu:
Изображение
Аватара пользователя
John Prick
Сообщения: 8808
Зарегистрирован: 12 янв 2006, 19:30
Благодарил (а): 368 раз
Поблагодарили: 266 раз
Контактная информация:

Re: Решение задачек на Turbo Pascal

Сообщение John Prick »

Фтопку этот паскаль. Кресты наше всё.

Код: Выделить всё

#include <iostream>
#include <algorithm>
#include <iterator>

class backward_alphabet_generator
{
public:
	backward_alphabet_generator() : m_letter('Z') {}
	char operator()()
	{
		return m_letter--;
	}
private:
	char m_letter;
};

int main()
{
	const int N = 26;
	char alphabet[N];

	std::generate(alphabet, alphabet + N, backward_alphabet_generator());
	std::copy(alphabet, alphabet + N, std::ostream_iterator<char>(std::cout, " "));

	std::cin.get();
	return 0;
}
Академик Иосиф
Сообщения: 23467
Зарегистрирован: 07 май 2008, 23:38
Благодарил (а): 0
Поблагодарили: 0

Re: Решение задачек на Turbo Pascal

Сообщение Академик Иосиф »

Код: Выделить всё

program alfavit;
uses crt;
var
   a: array [1..25] of char;
   i: integer;
begin
   clrscr;
   for i:= 1 to 26 do begin
     a[i]:= char(91-i);
     write(a[i]);
   end;
   readln;
end.
Ответить Пред. темаСлед. тема