Большой Воронежский Форум
» Программирование>прога на Delphi.
Byte 18:50 07.12.2007
Помогите плз, а то некогда заниматься программированием, надо матан перездавать=((
Задача.
40.В матрице А(nxn) определить количество строк, элементы которой образуют арифметическую прогрессию. Использовать подпрограмму проверки строки. [Ответ]
[nuso2f] 20:56 08.12.2007
Выполню очень быстро за небольшое вознаграждение. Как я понимаю задача уровня 11 класса . :Р [Ответ]
Snusmumrik 21:07 08.12.2007

Сообщение от Byte:
надо матан перездавать=((

летняя сессия?)))))))))) [Ответ]
mikе 21:22 08.12.2007

Сообщение от Byte:
а то некогда

т.е. типа "сделать могу, но больно занят"

Ребят, вы вообще охренели последнее время, такая программа на 1 курсе пишется за полчаса.
[Ответ]
Snusmumrik 21:34 08.12.2007

Сообщение от mikе:
Ребят, вы вообще охренели последнее время, такая программа на 1 курсе пишется за полчаса.

это, по ходу, второй курс... первый сейчас матан еще не пересдает... [Ответ]
Dimbass 21:39 08.12.2007
http://u-antona.vrn.ru/forum/showpos...60&postcount=1 [Ответ]
lollipop 21:44 08.12.2007
Тем более! Второй курс со своими мегазнаниями об ООП должен такие задачки щелкать как орешки и помогать их же решать первому курсу. Правда, ООП здесь прикручивать даже смысла нет, но все же... Вобщем, афтар, посоветовал бы тебе сделать задачу самому, ибо делегирование таких простых задач другим людям несет под собой отказ от попытки хотя бы даже узнать о том, что такое программирование. [Ответ]
Flash 08:22 10.12.2007

Сообщение от lollipop:
ибо делегирование таких простых задач другим людям несет под собой отказ от попытки хотя бы даже узнать о том, что такое программирование

+1000000000000000000000000000000 [Ответ]
kurdt 10:13 10.12.2007
такая задача пишется за 20 минут. плюс 20 минут на проверку и отладку. алгоритмы элементарные. если человек не хочет делать такие вещи сам, то незачем ему вообще учиться в ВУЗе. [Ответ]
Snusmumrik 10:17 10.12.2007

Сообщение от kurdt:
плюс 20 минут на проверку и отладку.

нифигасебе... вообще говоря, 5 похожих задач дается на урок (45 минут, можно на перемене дописать) в школе. [Ответ]
kurdt 12:38 10.12.2007

Сообщение от Snusmumrik:
нифигасебе... вообще говоря, 5 похожих задач дается на урок (45 минут, можно на перемене дописать) в школе.

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

Понятно, что сам алгоритм здесь на 3 строчки. [Ответ]
kurdt 16:44 11.12.2007
еще актуально? или уже отчислили? [Ответ]
Snusmumrik 19:40 11.12.2007

Сообщение от kurdt:
при учете того, что это какая-то аттестационная задача, в ней не должно быть ляпов, лишнего кода, программа должна быть оптимизирована для дальнейшего использования/изменения плюс защита "от дурака".

ляпы, лишний код, защита от дурака.... я думал, это делается автоматически программистом, а не в случае, что это "аттестационная задача"... чтож тогда в обычной творится??)))
Function Proverka:boolean;
Procedure Work;
Begin
__Work
End.
где тут можно лишний код написать? А устранить ляпы-хм... [Ответ]
kurdt 08:12 12.12.2007
филосовствовать можно долго и у каждого есть свой стиль. по поводу лишнего кода - не поверишь и в такой простой алгоритм можно очень сильно нагрузить и сделать его "нечитаемым". Также, я считаю, такая задача должна считывать данные из файла, проверять является ли считываемая матрица таковой (длина всех строк одинакова), проверять на наличие "посторонних символов". На уроке в 45 минут этого никто делать не будет, да и не сильно это надо, а когда решаешь задачу в течении семестра это делать необходимо. также нужно вынести отдельный метод проверки одномерного массива на арифм. прогрессию, тогда работать с программой в дальнейшем будет намного проще. за 10 мин. все это "с нуля" не напишешь. [Ответ]
Snusmumrik 11:53 12.12.2007

Сообщение от Snusmumrik:
Function Proverka:boolean;

Сообщение от kurdt:
также нужно вынести отдельный метод проверки одномерного массива на арифм. прогрессию, тогда работать с программой в дальнейшем будет намного проще.

это я и имел в виду. [Ответ]
kurdt 12:40 12.12.2007
и ты это напишешь за 10 мин.? [Ответ]
Lisеnоk 00:24 15.12.2007
const
n=5;

Var
A:array [1..n,1..n] of integer;
j,k:integer;
function check(j:integer):boolean;
var
i,c:integer;
t:boolean
Begin
t:true
i:=3;
c:=A[2,j] div A[1,j];
while t or (i<n) do
begin
if A[i,j]<>c*A[i-1,j] then t:=false
inc(i);
end;

check:=t;
end;

BEGIN
k:=0;
For j:=1 to n do
if check(j) then inc(k);
writeln(k);
end;

Делов-то...
Матрица состоит из целых чисел. просто с вещественными могут быть накладки. Как в дельфе не знаю, но в паскале уже встречалась с тем что 7/35<>0.2 [Ответ]
Snusmumrik 00:28 15.12.2007

Сообщение от Lisеnоk:
Как в дельфе не знаю, но в паскале уже встречалась с тем что 7/35<>0.2

Компьютерная, понимаешь, точность.... она, к сожалению, очень низка...
А к чему это?))) [Ответ]
Lisеnоk 00:50 15.12.2007
Ды просто башкой ап стену убилась когда столкнулась в первый раз с этим. С тех пор нелюбовь к типу Real и ко всем его подопечным
или йа поздно на помощь пришла? [Ответ]
Part!zan 12:16 15.12.2007
Lisеnоk, когда отсутствует понятие того, как комп работает с вещественными числами, можно не только башкой биться - ниче не поможет. Такие числа нельзя сравнивать на равно-не равно. Нужно их разность сравнивать с допустимой ошибкой. Например, abs(a-b)<eps, где eps - минимальная приемлемая ошибка вычислений. [Ответ]
Lisеnоk 12:19 15.12.2007

Сообщение от Part!zan:
LisеnоkТакие числа нельзя сравнивать на равно-не равно. Нужно их разность сравнивать с допустимой ошибкой.

А то я блин не знала! [Ответ]
Part!zan 16:33 15.12.2007

Сообщение от Lisеnоk:
просто башкой ап стену убилась

Сообщение от Lisеnоk:
А то я блин не знала

Доктор Джекил и мисс Хайд? [Ответ]
Вверх