Форум программистов, компьютерный форум, киберфорум
MathCAD
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 11

Почему не работает элементарный цикл?

04.10.2013, 19:38. Показов 3493. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я ожидал, что слева должен получить то что показано справа, ведь цикл такой:

for i=1 to 50 do
ti=i*sin(i)
enddo
Миниатюры
Почему не работает элементарный цикл?  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.10.2013, 19:38
Ответы с готовыми решениями:

Элементарный цикл
Отупел. помогите организовать цикл нужно реализовать алгоритм вычисления числа пи с помощью формулы Виета {a}_{n}=(\sqrt{2+{a}_{n-1}})/2,...

Объяснить элементарный цикл
так пашет while(str!='.'){ j--;} , а че так не пашет : while(str!='.' || str!='!' || str!='?'){ j--;};

Почему не работает цикл for
Ситуация такая. Заполняем матрицу символами: >> y=. Функция trans12 зависит от размерности y. создала файл-функцию. Цикл if: если...

11
Модератор
Эксперт по математике/физике
 Аватар для VSI
5291 / 4073 / 1392
Регистрация: 30.07.2012
Сообщений: 12,490
04.10.2013, 20:20
Держите Ваши вычисления...
Миниатюры
Почему не работает элементарный цикл?  
1
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 11
04.10.2013, 20:46  [ТС]
что было не так?
0
Модератор
Эксперт по математике/физике
 Аватар для VSI
5291 / 4073 / 1392
Регистрация: 30.07.2012
Сообщений: 12,490
04.10.2013, 20:55
Mathcad возвращает в качестве результата ПОСЛЕДНЕЕ вычисленное значение из программного блока. У Вас это 50-е значение вектора t50... Чтобы вывести ВЕСЬ вектор значений, надо в последней строке набрать просто имя этого вектора t. Или, что равнозначно, return t.
1
Эксперт по математике/физике
2616 / 2230 / 684
Регистрация: 29.09.2012
Сообщений: 4,577
Записей в блоге: 13
04.10.2013, 22:50
Цитата Сообщение от VSI Посмотреть сообщение
Mathcad возвращает в качестве результата ПОСЛЕДНЕЕ вычисленное значение из программного блока. У Вас это 50-е значение вектора t50... Чтобы вывести ВЕСЬ вектор значений, надо в последней строке набрать просто имя этого вектора t.
Смею вклиниться в разговор и заметить, что целиком согласен с первым предложением модератора, но не согласен со вторым. У Дмитрия последним оператором является цикл, вычисляющий вектор t. Поэтому результатом является t, а не последний элемент вектора t. Поэтому последнюю строчку у VSI можно не писать. Ошибка Дмитрия в том, что, написав цикл, он забыл о нем, не использовал его, не приказал выдать результат работы цикла, а просто попросил маткад показать значение несуществующей переменной t.
1
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 11
04.10.2013, 23:21  [ТС]
Цитата Сообщение от Symon Посмотреть сообщение
Смею вклиниться в разговор и заметить, что целиком согласен с первым предложением модератора, но не согласен со вторым. У Дмитрия последним оператором является цикл, вычисляющий вектор t. Поэтому результатом является t, а не последний элемент вектора t. Поэтому последнюю строчку у VSI можно не писать. Ошибка Дмитрия в том, что, написав цикл, он забыл о нем, не использовал его, не приказал выдать результат работы цикла, а просто попросил маткад показать значение несуществующей переменной t.
как же она не существующая, когда её значения только что набирались в цикле?
0
Модератор
Эксперт по математике/физике
 Аватар для VSI
5291 / 4073 / 1392
Регистрация: 30.07.2012
Сообщений: 12,490
04.10.2013, 23:36
Цитата Сообщение от Symon
Смею вклиниться в разговор и заметить, что целиком согласен с первым предложением модератора, но не согласен со вторым. У Дмитрия последним оператором является цикл, вычисляющий вектор t. Поэтому результатом является t, а не последний элемент вектора t. Поэтому последнюю строчку у VSI можно не писать...
Уважаемый Symon. Теперь я возьму на себя смелость не согласиться с Вашим замечанием. Обоснование: Вы писали
У Дмитрия последним оператором является цикл, вычисляющий вектор t. Поэтому результатом является t, а не последний элемент вектора t
Не согласен с Вами! Самым ПОСЛЕДНИМ ВЫЧИСЛЕННЫМ ЗНАЧЕНИЕМ является именно 50-й элемент вектора t. Его значение и будет возвращено в качестве результата! ОДНО ЧИСЛО! Пример таких расчетов на рисунке и в файле.
С искренним уважением, VSI
Миниатюры
Почему не работает элементарный цикл?  
Вложения
Тип файла: rar 360.rar (22.5 Кб, 8 просмотров)
2
Эксперт по математике/физике
2616 / 2230 / 684
Регистрация: 29.09.2012
Сообщений: 4,577
Записей в блоге: 13
05.10.2013, 00:24
Цитата Сообщение от Дмитрий1199 Посмотреть сообщение
как же она не существующая, когда её значения только что набирались в цикле?
При выходе из функции, созданной средствами программирования, все локальные переменные теряются, если они не сохранены в последней строке, а если нет и обращения к функции (как у вас), все тело функции превращается в груду мусора. Можно поступить двумя способами: 1) Приказать выдать результат работы функции с помощью знака равенства непосредственно после тела функции, как у VSi, 2) Присвоить имя функции, например, так: t:= (далее тело функции, например, как у вас) , затем ниже написать обращение к функции по имени так: t= . Тогда справа от знака равенства получим результат работы функции.

Добавлено через 18 минут
Цитата Сообщение от VSI Посмотреть сообщение
Не согласен с Вами! Самым ПОСЛЕДНИМ ВЫЧИСЛЕННЫМ ЗНАЧЕНИЕМ является именно 50-й элемент вектора t. Его значение и будет возвращено в качестве результата! ОДНО ЧИСЛО! Пример таких расчетов на рисунке и в файле.
С искренним уважением, VSI
Действительно! Очень интересно. Но у меня именно так как я написал. Может у нас разные Маткады? У меня 14.
А у меня МС 15 VSI
1
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 11
06.10.2013, 03:02  [ТС]
Цитата Сообщение от VSI Посмотреть сообщение
Уважаемый Symon. Теперь я возьму на себя смелость не согласиться с Вашим замечанием. Обоснование: Вы писали Не согласен с Вами! Самым ПОСЛЕДНИМ ВЫЧИСЛЕННЫМ ЗНАЧЕНИЕМ является именно 50-й элемент вектора t. Его значение и будет возвращено в качестве результата! ОДНО ЧИСЛО! Пример таких расчетов на рисунке и в файле.
С искренним уважением, VSI
А если я хочу функцию внутрь цикла запихнуть? Можно такое сделать?
Миниатюры
Почему не работает элементарный цикл?  
0
Модератор
Эксперт по математике/физике
 Аватар для VSI
5291 / 4073 / 1392
Регистрация: 30.07.2012
Сообщений: 12,490
06.10.2013, 19:40
Цитата Сообщение от Дмитрий1199
А если я хочу функцию внутрь цикла запихнуть? Можно такое сделать?
Дмитрий1199, прежде, чем что-то куда-то запихивать, не мешало бы Вам хорошенько подумать:"А надо ли это делать?" Не зная условия Вашей задачи, я не смогу однозначно Вам ответить... Приведите первоначальное условие своей задачи.
1
Эксперт по математике/физике
2616 / 2230 / 684
Регистрация: 29.09.2012
Сообщений: 4,577
Записей в блоге: 13
06.10.2013, 21:54
quote="Дмитрий1199;5143559"]А если я хочу функцию внутрь цикла запихнуть? Можно такое сделать?[/quote]
Запихнуть конечно можно. но опять делаете ошибки, причем некоторые повторяете.
1). Способ использования функции - без имени, выдача результата с помощью знака равенства непосредственно за телом функции - вряд ли является удачным. Он одноразовый. Если вам снова придется использовать эту функцию, вам ее тело заново нужно будет набирать.
2). В последней строке вы пытаетесь вычислить g(x) при неизвестном x.
3). Функцию вы определяете внутри цикла рекуррентно (через себя), но тогда нужно знать, как она выглядит перед заходом в цикл. А до цикла у вас ее нет. Сдается мне, однако, вы этого не хотели. Тогда что?
4). Если эта функция не зависит от параметров цикла, ее следует определять в первых строках тела функции или за пределами тела (до тела функции). Иначе она будет 50 раз переопределяться.
В скриншоте ниже приведены примеры испольщования функции.
[
1
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 11
12.10.2013, 08:39  [ТС]
Цитата Сообщение от Symon Посмотреть сообщение
quote="Дмитрий1199;5143559"]А если я хочу функцию внутрь цикла запихнуть? Можно такое сделать?
Запихнуть конечно можно. но опять делаете ошибки, причем некоторые повторяете.
1). Способ использования функции - без имени, выдача результата с помощью знака равенства непосредственно за телом функции - вряд ли является удачным. Он одноразовый. Если вам снова придется использовать эту функцию, вам ее тело заново нужно будет набирать.
2). В последней строке вы пытаетесь вычислить g(x) при неизвестном x.
3). Функцию вы определяете внутри цикла рекуррентно (через себя), но тогда нужно знать, как она выглядит перед заходом в цикл. А до цикла у вас ее нет. Сдается мне, однако, вы этого не хотели. Тогда что?
4). Если эта функция не зависит от параметров цикла, ее следует определять в первых строках тела функции или за пределами тела (до тела функции). Иначе она будет 50 раз переопределяться.
В скриншоте ниже приведены примеры испольщования функции.
Вложение 314160[[/QUOTE]

Спасибо, я уже придумал как сделать то что я хочу без циклов почти. Мне нужно было вычислить и сложить много кусочных функций в одну. Я использовал оператор суммы, а потом, для других am, просто копировал участок кода много раз.
Миниатюры
Почему не работает элементарный цикл?   Почему не работает элементарный цикл?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.10.2013, 08:39
Помогаю со студенческими работами здесь

Почему не работает цикл
Добрый день всем. Я хочу сделать скрипт, который в тексте будет находить слова, где присутствуют заглавные буквы и перед заглавной буквой...

Почему не работает цикл while
<?php $_hwid = $_GET; define('_HOST','localhost'); define('_LOGIN','rot'); define('_PASS',''); $DB = 'vktools'; $TABLE = 'Key';...

Почему не работает цикл?
Задача: открыт счёт, содержащий z руб. В начале каждого следующего месяца на него переводят y руб. Хранимая сумма ежемесячно нарастает на...

Почему не работает цикл?
Почему не работает код: For n=2 to Q cells(n,10).value=cells(n,7).value+cells(n,5).value-cells(n,6).Value Next n

Почему цикл не работает?
<html> <head><title>Палиндром</title> </head> <body> <script type="text/javascript"> function palindrom(str) { var text =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru