Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2010, 09:53   #1
KatrinSher
 
Регистрация: 23.07.2010
Сообщений: 5
По умолчанию Помогите составить блок-схему

Здравствуйте!!!
Помогите, пожалуйста, составить блок-схему для следующей задачи:
Вычислить произведение ненулевых элементов одномерного массива размера n.

Заранее благодарна!
KatrinSher вне форума Ответить с цитированием
Старый 23.07.2010, 10:35   #2
S_Yevgeniy
Форумчанин
 
Аватар для S_Yevgeniy
 
Регистрация: 08.07.2009
Сообщений: 246
По умолчанию

начало
получение массива ( возможно он у вас в файле)
условие если I (элемент массива)<=N ( ну это последний элемент)
нет результат выход. если да то условие A[i]<>0
если да то умножаем.

Думаю так правда дано это не делал.
Да прибудет с Вами свет и радость!!!
S_Yevgeniy вне форума Ответить с цитированием
Старый 24.07.2010, 21:29   #3
KatrinSher
 
Регистрация: 23.07.2010
Сообщений: 5
По умолчанию

Спасибо, конечно... но мне, честно говоря, не понятно)))
Не могли бы Вы скинуть блок-схему ввиде jpg.
KatrinSher вне форума Ответить с цитированием
Старый 24.07.2010, 22:33   #4
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

Вот программа
Код:
const n=7;
var a:array[1..n] of integer;i,b:integer;
begin
 for i:=1 to n do
  begin
   write('Enter a[',i,']=');
   readln(a[i]);
  end;
 b:=a[1];
 for i:=2 to n do if a[i]<>0 then b:=b*a[i];
 writeln('Ответ: ',b);
end.
скоро размещу саму картинку с блоком схемой

ловите _http://s47.radikal.ru/i118/1007/12/56b26bd15443.jpg

Последний раз редактировалось Stilet; 26.07.2010 в 08:35.
kakawkin вне форума Ответить с цитированием
Старый 25.07.2010, 07:56   #5
KatrinSher
 
Регистрация: 23.07.2010
Сообщений: 5
По умолчанию

kakawkin, благодарю Вас! Здорово помогли!
KatrinSher вне форума Ответить с цитированием
Старый 25.07.2010, 10:17   #6
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от kakawkin Посмотреть сообщение
Вот программа
Код:
const n=7;
var a:array[1..n] of integer;i,b:integer;
begin
 for i:=1 to n do
  begin
   write('Enter a[',i,']=');
   readln(a[i]);
  end;
 b:=a[1];
 for i:=2 to n do if a[i]<>0 then b:=b*a[i];
 writeln('Ответ: ',b);
end.
Неверно.

a = {0, 2, 3}
b = ?

2. Блок-схема. Тоже неверно.

Что обозначают выходы "Да" и "Нет" из ромба i = 2 to n ? Я так понимаю, "Да" - повторять цикл, а "Нет" - выйти из него? Тогда почему по "Нет" мы попадаем на проверку a[i]<>0 , а по "Да" - обходим её?

Последний раз редактировалось Vago; 25.07.2010 в 10:45.
Vago вне форума Ответить с цитированием
Старый 25.07.2010, 12:22   #7
.Phoenix
Форумчанин
 
Регистрация: 02.04.2009
Сообщений: 235
По умолчанию

Vago в любом случае пользователь попросивший помощь уже использовал решенную задачу и нарисованную блок-схему
Всё гениальное - просто!
.Phoenix вне форума Ответить с цитированием
Старый 25.07.2010, 12:37   #8
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Ну, ежели "пользователь, попросивший помощь" - мазохист[ка] - это его (её) личная проблема Ни программа, ни блок-схема от этого более правильными не стали.

Последний раз редактировалось Vago; 25.07.2010 в 12:40.
Vago вне форума Ответить с цитированием
Старый 25.07.2010, 12:53   #9
Анатоль
Пользователь
 
Регистрация: 17.12.2009
Сообщений: 74
По умолчанию

Мда. Дожили. Просят не написать программу а составить блоксхему!
Что дальше? будут просить объяснить устно алгоритм дейксты на куче?
Анатоль вне форума Ответить с цитированием
Старый 25.07.2010, 13:08   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Ну, ежели "пользователь, попросивший помощь" - мазохист[ка] - это его (её) личная проблема Ни программа, ни блок-схема от этого более правильными не стали.
+1
и вообще, непонятно, зачем эти трюки с b:=a[1] ?!
Ну классика же - если нужно получить произведение чисел, то начальная иницилизация переменной должна быть ЕДИНИЦА!
Код:
 b := 1;
 for i:=1 to n do
  if a[i]<>0 then b := b * a[i];
и это на простейших задачах! А что же будет, если подобным образом программировать сложные проекты?! Результат будет зависеть не только от фаз луны, но и от высоты телеграфных столбов?!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите составить блок-схему. Fil2010 Помощь студентам 1 21.06.2010 15:03
Помогите составить блок схему Света2125 Помощь студентам 7 29.10.2009 17:07
Помогите пожалуйста решить две задачи по паскалю и составить и составить блок схему! ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 2 20.01.2009 09:37
помогите составить блок схему zaq2000 Паскаль, Turbo Pascal, PascalABC.NET 5 04.12.2008 12:41
помогите составить блок схему ДЖО Помощь студентам 1 29.10.2008 02:20