Добро пожаловать! Войти Зарегистрироваться

Расширенный

14 Лаба

Написал journeys 
journeys
14 Лаба
30 November 2005 19:07
Подскажите, пожалуйста, а 14 лабораторную надо делать при помощи одного цикла, но со вложенными в него циклами? У меня народ в группе почему-то решил разбить траекторию выведения матрицы на прямые, и простейшим способом напечатать все её элементы при помощи нескольких циклов. Наверное, по-хорошему так нельзя делать?

И ещё, обязательно ли использовать циклы for? Именно они подразумеваются по фразой "Решить задачу с применением вложенных циклов с переменными границами"? Или можно написать программу, использую структуру while do?
Re: 14 Лаба
30 November 2005 19:07
проще и быстрее будет работать через For, это раз, касаемо "переменных границ" имелось ввиду for i:=1 to n do или for i:=n downto 1 do
в плане того как нельзя, лучше послушаю других
journeys
Re: 14 Лаба
30 November 2005 20:08
Uriy 08-101 писал(а):

> проще и быстрее будет работать через For, это раз,

Абсолютно не факт!! У меня через while всё работает замечательно и в одном цикле!! Ты посмотри 7-ую задачу! Я что-то не очень себе представляю как там можно сделать один цикл for, потому что строкой
for i:=1 to n do ты уже задаёшь последовательность перебора i, а в цикле while с помощью вспомогательной переменной можно изменять законы, по которым перебираются индексы компоненты массива, и таким образом я могу очень просто реализовать вывод символов по диагонале, как снизу вверх, так и сверху вниз, одним и тем же вложенным циклом!
journeys
Re: 14 Лаба
30 November 2005 20:08
извини, если немного загрузил.. Но могу предоставить конкретную программу на суд общества =))
Аникей, 08-102
Re: 14 Лаба
30 November 2005 22:10
2 journeys
ну я бы предположил, что лучше использовать for ибо
а) предыдущие лабы были на пост и пред условие (repeat, while), а цикл со счётчиком тоже надо отработать)
и б) раз с использованием вложенных циклов, то явно не одним циклом надо обходиться.
но это имхо.

а что касательно выложить программу, то этого делать не стоит, ты не один у нас под седьмым номером, облегчать работу другим - медвежья услуга получится. Пусть каждый сам думает и наступает на свои грабли, а не на чужие =)
Re: 14 Лаба
01 December 2005 17:05
Эллементарно:
For i:=1 to n do begin
For j:=1 to n do begin
********************
end;
end;
Re: 14 Лаба
01 December 2005 17:05
согласен, можно обсуждать лишь принцип и подход, а тект - уже частности....
Re: 14 Лаба
01 December 2005 21:09
а вот у меня такой вопрос: в 14 лабе мне нужно линеризовать матрицу таким образом:
1 2 9 10
4 3 8 11
5 6 7 12
16 15 14 13
Ну это ведь показано для матрицы 4х4! А как же линеАризовать её для матрицы 7x7? я здесь что то не очень вижу переодичности.
а матрица 2x2? не мог бы кто расписать пару матриц чтобы пояснее стало.
Denbor
Re: 14 Лаба
01 December 2005 21:09
У меня вопрос. Если я сумел решить свою задачу несколькими вложенными if (в 1 for), и она работает абсолютно правильно, то сильно ли за это снижается конечная оценка работы?
Re: 14 Лаба
01 December 2005 23:11
Тут идет обход по углам: если четный столбец (строка) то сверху-вниз-налево, если нечетные - слева-направо-наверх...

zzz
Re: 14 Лаба
02 December 2005 16:04
Denbor писал(а):

> У меня вопрос. Если я сумел решить свою задачу несколькими
> вложенными if (в 1 for), и она работает абсолютно правильно, то
> сильно ли за это снижается конечная оценка работы?
В данном случае можно снизить за неясное, громоздкое или неэффективное решение.
zzz
Re: 14 Лаба
03 December 2005 14:02
journeys писал(а):

> Подскажите, пожалуйста, а 14 лабораторную надо делать при
> помощи одного цикла, но со вложенными в него циклами? У меня
> народ в группе почему-то решил разбить траекторию выведения
> матрицы на прямые, и простейшим способом напечатать все её
> элементы при помощи нескольких циклов. Наверное, по-хорошему
> так нельзя делать?
Количественных ограничений нет. Есть качественные.
> И ещё, обязательно ли использовать циклы for? Именно они
> подразумеваются по фразой "Решить задачу с применением
> вложенных циклов с переменными границами"? Или можно написать
> программу, использую структуру while do?
Да, здесь надо продеменстрировать технику программирования именно циклов с параметрами.
zzz
Re: 14 Лаба
03 December 2005 14:02
journeys писал(а):

> Uriy 08-101 писал(а):
>
> > проще и быстрее будет работать через For, это раз,
>
> Абсолютно не факт!! У меня через while всё работает
> замечательно и в одном цикле!! Ты посмотри 7-ую задачу! Я
> что-то не очень себе представляю как там можно сделать один
> цикл for, потому что строкой
> for i:=1 to n do ты уже задаёшь последовательность перебора i,
> а в цикле while с помощью вспомогательной переменной можно
> изменять законы, по которым перебираются индексы компоненты
> массива, и таким образом я могу очень просто реализовать вывод
> символов по диагонале, как снизу вверх, так и сверху вниз,
> одним и тем же вложенным циклом!
Понятно, что набор операторов цикла избыточен и они часто взаимозаменяемы, и теоретически цикл вообще не нужен т.к. реализуется условным переходом и меткой. Но когда нет полной свободы в выборе средств и предлагается овладеть конкретными из них, надо выполнять требования заказчика, сформулированные в задании.
zzz
Re: 14 Лаба
03 December 2005 14:02
Uriy 08-101 писал(а):

> проще и быстрее будет работать через For, это раз, касаемо
> "переменных границ" имелось ввиду for i:=1 to n do или for i:=n
> downto 1 do

Более того,
for i := выражение to/downto выражение!
Re: 14 Лаба
03 December 2005 19:07
то есть так и выглядит задание цикла?
Что сначала проходит 1 to n а затем n downto 1???
zzz
Re: 14 Лаба
03 December 2005 19:07
to или downto!
Re: 14 Лаба
03 December 2005 20:08
понятно а то этот слэш меня столку сбил
К сожалению, только зарегистрированные пользователи могут писать в этом форуме.

Авторизоваться на форуме