IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Задача на вектора с использованием процедур и функций
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Мой преподаватель по основам программирования преподаёт плохо в надежде на то, что бедные студенты отвалят ему деньжат на сессии!!
Я не хочу так делать и прошу вас помочь!!

Решите мне, пожалуйста, задачу в Паскале. В обычном паскале.

Оформить в виде функции и процедуры.
Заполнить случайными числами из [0;9] вектор b 1*6. Вывести его на экран. Найти произведение элементов, меньших числа С.

Сообщение отредактировано: Мультяшка -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


М
Мультяшка, будь добр, прочти Правила этого Форума и приведи название темы в соответствие с ними.



И покажи свои наработки, плз.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


У меня нет наработок.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


вопрос по алгоритму:
Цитата
Заполнить вектор b 1*6.
что собой представляет жтот вектор?
Цитата
Вывести его на экран.
вывести направленый отрезок?
Цитата
Найти произведение элементов, меньших числа С.
элементом считается модуль вектора?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Мультяшка @ 5.06.2009 22:26) *
У меня нет наработок.
А в чем проблема? Ты начни хотя бы.

Смотри.
Вот вектор:
var
  b: array[1..6]of integer;


Вот заполнение случайными числами от 0 до 9
  for i:=1 to 6 do b[i]:=Random(10);


Вот вывод на экран:
  for i:=1 to 6 do WriteLn('b[',i,'] = ',b[i]);


Вот нахождение произведения:
  p:=1;
  for i:=1 to 6 do if b[i]<c then p:=p*b[i];


Угу?



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(sheka @ 5.06.2009 22:56) *

вопрос по алгоритму:
что собой представляет жтот вектор?
вывести направленый отрезок?
элементом считается модуль вектора?


1*6 - это 1 строка с 6-ю так скажем столбцами. Как мне объяснили.
Я не знаю, что нужно вывести. В первом посте всё, что он мне дал.

Добавлено через 1 мин.
Цитата(Lapp @ 5.06.2009 22:59) *

А в чем проблема? Ты начни хотя бы.

Смотри.
Вот вектор:
var
  b: array[1..6]of integer;


Вот заполнение случайными числами от 0 до 9
  for i:=1 to 6 do b[i]:=Random(10);


Вот вывод на экран:
  for i:=1 to 6 do WriteLn('b[',i,'] = ',b[i]);


Вот нахождение произведения:
  p:=1;
  for i:=1 to 6 do if b[i]<c then p:=p*b[i];


Угу?


Я вообще не знаю этой программы..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


имеется ввиду, что есть 6 векторов и нам надо работать с их длинами?

Цитата
Я вообще не знаю этой программы..

это ты про паскаль?
если да, то давай за 20$ мы тебе решим эту задачу. 19$ LAPPу за уже предоставленое им решение, и мне 1$ за идею. smile.gif

Сообщение отредактировано: sheka -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Мультяшка @ 5.06.2009 23:01) *
Я вообще не знаю этой программы..
Какой программы?
Возьми книжку. Прочти хотя бы начало. Потом приходи..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(sheka @ 5.06.2009 23:10) *

имеется ввиду, что есть 6 векторов и нам надо работать с их длинами?


Думаю, что нет. Это же первый курс, там проще..

Какие вы все мелочные. Чувак, читай первые 2 предложения в самом первом посте. Не нравится, не решайте. Людей много. Я попросила вас от безвыходности.

Сообщение отредактировано: Мультяшка -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата(Мультяшка @ 5.06.2009 22:13) *

Думаю, что нет. Это же первый курс, там проще..

это был вопрос Лаппу.

2'Мультяшка'
что может быть проще 6 одномерных массивов?


Добавлено через 6 мин.
Цитата(Мультяшка @ 5.06.2009 22:13) *

Я попросила вас от безвыходности.


var
  b: array[1..6]of integer;
  p,i,c: integer;
begin
  WriteLn('vvedi c=');
  readln(c);
  for i:=1 to 6 do b[i]:=Random(10);
  for i:=1 to 6 do WriteLn('b[',i,'] = ',b[i]);
  p:=1;
  for i:=1 to 6 do if b[i]<c then p:=p*b[i];
  WriteLn('p= ',p);
  readln;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(sheka @ 5.06.2009 23:16) *

это был вопрос Лаппу.

2'Мультяшка'
что может быть проще 6 одномерных массивов?
Добавлено через 6 мин.


var
  b: array[1..6]of integer;
  p,i,c: integer;
begin
  WriteLn('vvedi c=');
  readln(c);
  for i:=1 to 6 do b[i]:=Random(10);
  for i:=1 to 6 do WriteLn('b[',i,'] = ',b[i]);
  p:=1;
  for i:=1 to 6 do if b[i]<c then p:=p*b[i];
  WriteLn('p= ',p);
  readln;
end.



спасибо огромное, конечно, но мне нужно эту программу написать через процедуры и функции..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Мультяшка @ 5.06.2009 23:13) *
Думаю, что нет. Это же первый курс, там проще..
Я тоже так думаю.

Цитата(Мультяшка @ 5.06.2009 23:13) *
Какие вы все мелочные. Чувак, читай первые 2 предложения в самом первом посте. Не нравится, не решайте. Людей много. Я попросила вас от безвыходности.
Полагаю, sheka пошутил (да, sheka?).
Дело не в этом. Ты прости, но я не могу поверить, чтоб твой преп вот совсем ничего вам не дал.
Я дал тебе практически все, за исключением мелочей. Это был тест. Теперь я вижу, что дело не в преподавателе (или не совсем в нем). Я по-прежнему готов тебе помогать, если ты проявишь желание научиться хоть чему-то. Если нет - гудбай..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(Lapp @ 5.06.2009 23:25) *

Я тоже так думаю.

Полагаю, sheka пошутил (да, sheka?).
Дело не в этом. Ты прости, но я не могу поверить, чтоб твой преп вот совсем ничего вам не дал.
Я дал тебе практически все, за исключением мелочей. Это был тест. Теперь я вижу, что дело не в преподавателе (или не совсем в нем). Я по-прежнему готов тебе помогать, если ты проявишь желание научиться хоть чему-то. Если нет - гудбай..


Конечно хочу! Нет, у меня есть лекции, есть материал, но этим нужно уметь пользоваться, а когда тупо списано с доски, смысла не имеет..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


 var
  b: array[1..6]of integer;
  c:integer;

procedure vvodc;
var i:integer;
begin
  WriteLn('vvedi c=');
  readln(c);
end;

procedure vvod;
var i:integer;
begin
  for i:=1 to 6 do b[i]:=Random(10);
end;

procedure vivod;
var i:integer;
begin
  for i:=1 to 6 do WriteLn('b[',i,'] = ',b[i]);
end;

procedure mult;
var i,p:integer;
begin
  p:=1;
  for i:=1 to 6 do if b[i]<c then p:=p*b[i];
  WriteLn('p= ',p);
end;

begin
vvodc;
vvod;
vivod;
mult;
readln;
end.


теперь и мне тоже 20$ smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


спасибо огромное!!!
Но нужна ещё программа на функции..)

Сообщение отредактировано: Мультяшка -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Ты знаеш я открою тебе секрет,почти в любом вузе на любой специальности просто дают задачу, пишут ее реализацию, и просят чуть чуть его изменить и все.Даже на таких кафедрах,как прикладная математика и информатика(больше углубленному изучению информатики я не знаю где учат).так что девушка немного непонятно,что вы делали весь семестр.
Цитата

а когда тупо списано с доски, смысла не имеет..

А тупо списыват и не надо,надо хотяб иметь представление о том что ты делаеш.А вообще,когда подходиш к задаче надо :
1)Осознать цель,суть задачи и привязать ее к определенному классу задач(сортировки,списки,деревья и тд).
2)Математически продумать(составить последовательность действий,которые будут давать необходимый тебе результат)
И когда ты ВСЕ это сделаеш,только тогда начинаеш писать программу.Каджому математическому действию соответствует какое то действие в паскале и ты просто свой алгоритм "обшиваеш" лексикой языка.

У тебя по твоим постам была проблема уже на первом пункте.В таком случае надо идти к преподу и долбить его и долбить,вплоть до того что как выводить на экран каким цветом какими букавками(мозги ему компостировать),потому что если ты поймеш так,а он хотел этак,то тебе придется доказывать свою правоту,а для этого надо быть более менее подкованным в данной сфере быть ,что(не в обиду сказано) у тебя покачто не проявляется.
Цитата

procedure vvodc;
var i:integer;
begin
WriteLn('vvedi c=');
readln©;
end;

Чет ты как то разошелся smile.gif это уже перебор..


Мультяшка,поясни,что именно надо?Какая пробрамма?Что надо?

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(Krjuger @ 6.06.2009 0:04) *


Мультяшка,поясни,что именно надо?Какая пробрамма?Что надо?


нужно написать 2 программы в паскале. Одна на процедуры, другая на функции.
Задача сама написана.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +



function mult(var b:array of integer) :integer;
var i,p:integer;
begin
  p:=1;
  for i:=1 to 6 do if b[i]<c then p:=p*b[i];
  mult:=p;
end;
begin
vvodc;
vvod;
vivod;
x:=mult(b);
writeln(x);
readln;
end.


Ну еще в самом начале обьяви,что X это integer.а остальное в функции переделывать-бред полнейший.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата(Krjuger @ 5.06.2009 23:59) *


x:=mult(b);
writeln(x);


Ну еще в самом начале обьяви,что X это integer.

зачем х ?

writeln(mult(b));

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Я думаю человку,задающему такие вопросы,твоя запись добавит лишних,конешно же ты прав,но теперь обьясняй ей каким образом мы выводим на экран значение нашей функции.И кстати обьясни заодно почему мы процедуру просто вызываем,а для функции работаем с ее значением.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.04.2025 13:42
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name