Перейти к содержимому


Фотография
- - - - -

3 Задачи на Паскале


  • Пожалуйста, авторизуйтесь, чтобы ответить
91 ответов в этой теме

#1 HooliGUN

HooliGUN

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 180 сообщений
2
Обычный
  • Пол:Мужчина
  • Город:Питер, красивый город, но провиция...

Опубликовано 13 Май 2009 - 23:29

Мне дали только сокращения, но тот кто занимался наверно поймет:
1) Дано: одномерн. масс. числ. значен. насчитывает N элементов. Образуют ли эл-ты масс. (перед первым нулевым) возраст послед.
2) Выполнить обработку элементов в квадратн. матрице A имеющ. N строк и N столбцов. Найти сумму элементов располож. выше главной диагон. и произв. элементов располож. выше побочной диагонали.
3) Вводятся положит числа, опред сумму чисел делящихся на положит. число B на цело. При вводе отриц числа закончить работу...
  • 0
Надувать женщину следует предельно аккуратно. Если она догадается, придется надувать резиновую.

#2 Praximer

Praximer

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 1 601 сообщений
1
Обычный
  • Пол:Мужчина

Опубликовано 14 Май 2009 - 18:00

Старый добрый Паскаль!

Ты бы выложил свои варианты решения, а то я уже подзабыл паскаль :) (хотя нельзя сказать, что я его углубленно изучал)
  • 0
Back in Black

#3 Malder

Malder

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 1 330 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 14 Май 2009 - 22:55

на 3 вопрос.
[codebox]Program My_pr;
{обьявляем переменные}
var n,b,i,s,summa:Integer;
{Начали}
begin
{Запрашиваем количество цифр, которые надо будет проверять}
WriteLn('Введите количество цифр');
{Ответ помещаем в переменную n}
ReadLn(n);
{Если введенное количество цифр меньше или равно 0, то останавливаем программу с сообщением}
if n<=0 THEN
begin
WriteLn('Неверное число');
exit;
end;
{Запрашиваем число B}
WriteLn('Введите положительное целое число B');
{и сохраняем его в переменную}
ReadLn(B);
{Если оно меньше или равно 0 то выходим из программы}
if B<=0 THEN
begin
WriteLn('Неверное число');
exit;
end;
{Делаем цикл, для ввода цифр}
for i:=1 to n do
begin
{Запрашиваем число}
Write('Введите число номер ');
WriteLn(i);
{Помещаем его в переменную}
ReadLn(s);
{Если введино число меньше 0, то завершаем работу}
if s<0 THEN
begin
WriteLn('Введино неверное число. Программа завершает работу.');
exit;
end;
{Если число делится нацело, то добавляем его значение в переменную summa}
if Frac(s/B)=0 THEN summa:=summa+s;
end;
{Выводим сумму чисел, делящихся нацело на B}
Write('Сумма чисел, делящихся на число B без остатка =');
WriteLn(summa);
{Конец}
end.[/codebox]
На остальное лень пока =)
  • 0

#4 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 01:47

Malder
нафига цикл до n????
почему условием выхода из цикла не сделать B < 0????
да и название переменной В не может не радовать :)
медвежьи услуги рулят, ага.
алсо мне лениво, я тока пи3деть умею :lol:
  • 0

#5 Мяут

Мяут

    Mr. Goodcat

  • True Members
  • PipPipPipPipPip
  • 4 156 сообщений
67
Хороший
  • Пол:Мужчина
  • Город:Пушкин

Опубликовано 15 Май 2009 - 08:18

GlebVt, на Си напиши
  • 0

#6 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 10:39

GlebVt, на Си напиши

алсо мне лениво, я тока пи3деть умею laugh.gif

:)
хотя может как с работы притошню - напишу.
ну могу и паскаль вспомнить :) так и быть - соберу FP
  • 0

#7 IVAnt

IVAnt

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 290 сообщений
0
Обычный

Опубликовано 15 Май 2009 - 11:12

Malder
нафига цикл до n????
почему условием выхода из цикла не сделать B < 0????
да и название переменной В не может не радовать :)
медвежьи услуги рулят, ага.
алсо мне лениво, я тока пи3деть умею :lol:


как по другому-то?
  • 0

#8 Malder

Malder

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 1 330 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 11:22

Malder
нафига цикл до n????

Чем тебе цикл до n неустроил?
Насколько я понимаю ему нужно сдать зачет, а не воротить прогу на 5 листов =)

почему условием выхода из цикла не сделать B < 0????

При вводе отриц числа закончить работу. Закончить работу, а не закончить ввод цифр.

да и название переменной В не может не радовать :)

А чем плохо название переменной B.
ПС Это же не готовый ответ. ТС его естественно должен подогнать под требования препода.
ПСС А так можно наворатить много чего. И выход из цикла по esc и тд. Паскаль я изучал 7 лет назад в школе и на первом курсе. Он мне больше так и не пригодился ^_^ Поэтому пишу как могу =) А тк никто ничего другого не предложил, то мой вариант пока лучший :lol:
  • 0

#9 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 12:07

Чем тебе цикл до n неустроил?
Насколько я понимаю ему нужно сдать зачет, а не воротить прогу на 5 листов =)

в моём варианте кода будет ещё меньше ;)
не надо вводить n (в условии вообще про это нет ни слова!!!)
не надо в цикле условие (B < 0) и break
это сколько? уже минус 7 строк, да? :)
нутыпонел.
и это при условии что я твой код не смотрел :) мне хватило коментария "вводим n".

При вводе отриц числа закончить работу. Закончить работу, а не закончить ввод цифр.

эээ
а типа работа не закончится? О_О. отсыпь, а?
по этому условию цикл закончится, выведется результат и завершится выполнение. ты о чём? я вообще не понял...

А чем плохо название переменной B.

она крайне неинформативна.
учиться писать нормальный код нужно со школы ещё.
это поможет потом, даже если программистом быть не собираешься.
порядок в голове лучше любого другого порядка.
я гарантирую это.
а этот код говорит о полнейшем мусоре в голове. в игрушки что ли много играешь? :)

ПС Это же не готовый ответ. ТС его естественно должен подогнать под требования препода.

опу помоему вообще насрать :) он и каменты-то читать не будет наверное :)

А так можно наворатить много чего. И выход из цикла по esc и тд

это ещё зачем? О_О
я говорил о упрощении кода! прочти ещё раз!
код будет короче, яснее и ПРОЩЕ!
хз к чему ты тут его усложнять собрался.

Паскаль я изучал 7 лет назад в школе и на первом курсе. Он мне больше так и не пригодился Поэтому пишу как могу =)

ЯП тут ни при чём. проблема с составлением алгоритмов не решается ЯПом...
ищи дырки в голове :))

А тк никто ничего другого не предложил, то мой вариант пока лучший

я предложил, только без кода.
а ты вместо того, что бы препираться, исправил бы свой. и тогда ещё можно было бы говорить о его "хорошести".

тока без обид, говорю as is :)

как по другому-то?

так, как в процитированном тобой моём посте.


----
а ещё лучше условно бесконечный цикл.

----
посмотрел код. хуита какая-то.
  • 0

#10 Malder

Malder

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 1 330 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 12:47

не надо вводить n (в условии вообще про это нет ни слова!!!)

а как ты предлагаешь определять количество вводимых цифр? Я например хочу ввести 6 цифр, а Вася 7.

а типа работа не закончится? О_О. отсыпь, а?
по этому условию цикл закончится, выведется результат и завершится выполнение. ты о чём? я вообще не понял...

Насколько я понял из условия должна завершиться работа без вывода результата.

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

3) Вводятся положит числа, опред сумму чисел делящихся на положит. число B на цело.
И как ты еще предлагаешь обозвать мне цисло B?
это ещё зачем? О_О

я говорил о упрощении кода! прочти ещё раз!
код будет короче, яснее и ПРОЩЕ!
хз к чему ты тут его усложнять собрался.

Пока не увидил упрощения кода.

я предложил, только без кода.
а ты вместо того, что бы препираться, исправил бы свой. и тогда ещё можно было бы говорить о его "хорошести".

Да я бы исправил, только пока + невижу от исправлений.

----
а ещё лучше условно бесконечный цикл.
----

А за такие циклы вообще надо по рукам бить.

учиться писать нормальный код нужно со школы ещё.

Да я боюсь что даже если ты ТС напишешь нормальный код ему это не поможет.
ИМХО надо писать универсальный код, с обработкой всех ошибок. Потом проблем меньше будет.
  • 0

#11 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 12:58

а как ты предлагаешь определять количество вводимых цифр? Я например хочу ввести 6 цифр, а Вася 7.

вводить до первого отрицательного числа, нэ?

Насколько я понял из условия должна завершиться работа без вывода результата.

как венда это обычно делает? с синим экраном? :)
сильно сомневаюсь.

3) Вводятся положит числа, опред сумму чисел делящихся на положит. число B на цело.
И как ты еще предлагаешь обозвать мне цисло B?

ладно :) хрен с ним, неправильно прочёл условие.
тогда "s" :) что за эс мля? :)

Пока не увидил упрощения кода.

перечитай ещё раз :)

Да я бы исправил, только пока + невижу от исправлений.

это удивительно! :)
или это так принято у нетехников - не видеть очевидного? или ты техник? если да - я поражён!

А за такие циклы вообще надо по рукам бить.

О_О!!!!!!!!!
обоснуй!!!!!!!
это нибуёво распространённая практика и иногда очень полезная!
например, как иначе (проще, понятнее, доступнее) запрограммировать работу конечного автомата?
фейл.

Только в споре рождается истина

да это даже спором не назвать. тебе очевидную вещь, а ты...

Да я боюсь что даже если ты ТС напишешь нормальный код ему это не поможет.
ИМХО надо писать универсальный код, с обработкой всех ошибок. Потом проблем меньше будет.

ОПу похер, согласен.
обработка ошибок не отменяет структурированности и понятности программы.
код нужно писать так, что бы не нужно было (почти) писать коментарии.
  • 0

#12 Malder

Malder

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 1 330 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 13:02

вводить до первого отрицательного числа, нэ?

а это где то в условии есть? Оо

как венда это обычно делает? с синим экраном? :)
сильно сомневаюсь.

В задании написанно, при вводе отриц. числа завершить работу программы. Насколько мне известно программа завершается по exit(), а не путем выхода из цикла.

ладно :) хрен с ним, неправильно прочёл условие.
тогда "s" :) что за эс мля? :)

с s согласен =) Лень было думать

это удивительно! :)
или это так принято у нетехников - не видеть очевидного? или ты техник? если да - я поражён!

Я даже больше скажу. Работаю инженером.

О_О!!!!!!!!!
обоснуй!!!!!!!
это нибуёво распространённая практика и иногда очень полезная!
например, как иначе (проще, понятнее, доступнее) запрограммировать работу конечного автомата?
фейл.

Может ты еще и GoTo используешь? тоже удобная вещь.
  • 0

#13 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 13:08

ааа мои глазаа!!!!111
что за вантузяцки слэш? православный в другую сторону :)
(добавление: это было написано до исправления автором поста)

а это где то в условии есть? Оо

а где в условии "ввести n чисел".
помню ещё со школы, что когда требуется "n чисел" об этом явно написано в условии.

В задании написанно, при вводе отриц. числа завершить работу программы. Насколько мне известно программа завершается по exit(), а не путем выхода из цикла.

там, опять же, не сказано "вывести сообщение об ошибке и завершить программу".
а у тебя так и сделано. где ты это взял - неясно.

Я даже больше скажу. Работаю инженером.

мде... наука наша стремительно деградирует...
:(

Может ты еще и GoTo используешь? тоже удобная вещь.

при чём тут переход?
в автомате достаточно switch.
кстати, в редких случаях не возбраняется использование goto :)
это так, к сведению. надо было в школе внимательнее учителей слушать и читать книжки :) или сейчас не доказывать то, чего не знаешь.

---
апд:
по первому пункту!
даже тут!!!!!!!

1) Дано: одномерн. масс. числ. значен. насчитывает N элементов. Образуют ли эл-ты масс. (перед первым нулевым) возраст послед.
2) Выполнить обработку элементов в квадратн. матрице A имеющ. N строк и N столбцов. Найти сумму элементов располож. выше главной диагон. и произв. элементов располож. выше побочной диагонали.


  • 0

#14 IVAnt

IVAnt

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 290 сообщений
0
Обычный

Опубликовано 15 Май 2009 - 13:31

я тока пи3деть умею


  • 0

#15 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 13:32

IVAnt
а ты, смотрю, даже этого не умеешь :lol:
  • 0

#16 Malder

Malder

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 1 330 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 13:33

В задании нет ни требования ввести n цифр, ни требования завершения ввода при отрицательном цисле. Так что не вижу причин менять что либо в коде
Сообщение вывожу об ошибке для удобства. Можно его и убрать, оставив только exit()
Наука возможно и деградирует. Не вижу моей связи с наукой. Я разрабатываю узлы для ГЭС, а не испытываю коллайдер.
Видел я тут одну программу написанную с использованием GoTo. Убил бы человека ее написавшую, если бы он еще тут работал.
А бесконечные циклы это потенциально уязвимые места и использовать их (ИМХО конечно) без крайней (!!!!) необходимости это обсурд.
В школе и в институте нормально слушал учитилей. И я ничего тебе не доказываю, я просто высказываю свое мнение.
  • 0

#17 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 13:43

Malder
надоело мне спорить, тут ещё IVAnt подпё3дывает :)
хер с ним, не меняй.

Наука возможно и деградирует. Не вижу моей связи с наукой. Я разрабатываю узлы для ГЭС, а не испытываю коллайдер.

я имел в виду соображающую часть населения. то есть не гуманитарии.

Видел я тут одну программу написанную с использованием GoTo. Убил бы человека ее написавшую, если бы он еще тут работал.

плохая выборка.
сейчас работаю с движками навигационными (делаем к ним API обвязку и походу их отлаживаем, пишем unit tests и т.д.). написаны они в основном не мной (хотя моего вклада немало там). так вот, там в модуле рассчёта маршрута (быдлокод чистейший, на самом деле, но тут исключение) используется goto (не мной). и очень даже в тему. его избегание привело бы к неистовому запутыванию кода. хотя, вероятно, это всё из-за изначально кривой архитектуры :) но сейчас что-то менять уже практически невозможно (просто неоправданно долго и по финансам накладно).

А бесконечные циклы это потенциально уязвимые места и использовать их (ИМХО конечно) без крайней (!!!!) необходимости это обсурд.

это ты зря. условно бесконечные циклы это очень удобно, если, конечно, использовать их с мозгами :)
тут цикл простой, условие выхода из него тоже, для облегчения структуры кода - в самый раз.
а что такое крайняя необходимость? любой (ну, возможно, почти любой) приём можно заменить десятком других, только обосновано ли это? будет ли структура программы такой же ясной и красивой?
так вот - условно бесконечные циклы часто помогают сделать программу прозрачнее. так что их избегать - не правильно. это приведёт, скорее всего, к затруднению поддержки программы в дальнейшем.
  • 0

#18 Malder

Malder

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 1 330 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 13:44

И вообще странно. Если ты техник, то должен уметь описать то, что ты думаешь в понятной форме.
  • 0

#19 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 13:45

И вообще странно. Если ты техник, то должен уметь описать то, что ты думаешь в понятной форме.

а чо непонятно-то??
  • 0

#20 Malder

Malder

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 1 330 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 15 Май 2009 - 13:58

В принципе все непонятно, кроме оправданной притензии к имени переменной s.
Ну еще твое желание использовать бесконечный цикл мне понятно. Но только если реализовать в нем выход по esc.
Цикл безопасен если его использовать с головой, но где гарантия, что его будут именно так использовать? Возьмет кто нибудь твой код, поправит чуть чуть и будет непонимать, откуда у него зацикливание.
ПС как в анекдоте.
-Как программист ищет, есть ли в лесу слон?
-Он отлавливает каждое животное и сравнивает с эталонным. Если совпадает - то слон найден, если нет - продолжает...
-Как ищет слона грамотный программист?
-Он добавляет в конце леса 1 го слона, что бы избежать зацикливания.

я имел в виду соображающую часть населения. то есть не гуманитарии.

Программирование не входит в мои должностные обязанности. У нас на работе есть инженеры, которые очень хорошо соображают, но программирования совсем не знают. Они тоже деградируют? =)
  • 0


Посетителей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных пользователей