Форум программистов, компьютерный форум, киберфорум
Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96

Подпрограммы

05.10.2013, 23:09. Показов 3568. Ответов 54
Метки нет (Все метки)


1. Написать программу, определяющую, сколько раз сумма из пяти случайных чисел (слагаемых) превысила заданное число N. Слагаемые выбираются из целых чисел интервала [K,L]. Сумму вычисляют 20 раз. Каждый раз печатать слагаемые и сумму.
N=100
K=50
L=60
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.10.2013, 23:09
Ответы с готовыми решениями:

подпрограммы
Что здесь неправильно? я уже реально запуталась( Private Sub Command1_Click() razpechatat End Sub Private Sub...

Вывести динамический массив из подпрограммы в основную
Здравствуйте! Есть задача: написать программу с п\п-процедурой, юзер вводит слово, определить кол-во букв, сформировать динамический...

Чем отличается процедура-функция от подпрограммы
Ребят, помогите ответить на вопросы: 1)как производится обращение к функции? какие типы встроеных функций есть в VB? 2)Назовите...

54
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
07.10.2013, 16:43  [ТС]
Все поняла)))
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
07.10.2013, 16:52
Далее. Попробую объяснить, почему я назвал это "линзой". Вот мы видим некоторые значения (взятые с потолка) функции:
Кликните здесь для просмотра всего текста
0.29345459
0.99426342
0.2
0.739486
0.10857
0.638892

При умножении, эти значения не изменяются, а просто пропорционально увеличиваются - как в обычной оптической лупе:
Кликните здесь для просмотра всего текста
2.9345459
9.9426342
2
7.39486
1.0857
6.38892

Но это не особо важно. Далее попробуем к нашей новой функции (RND*10) прибавить что-нибудь. Как думаете, что получится?
0
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
07.10.2013, 16:57  [ТС]
0 или 1?
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
07.10.2013, 17:19
Если Вы хотите узнать, какой диапозон будет выдавать функция RND делайте следующее - с ее минимальным значением (0) делайте все операции, что и с функцией; с ее максимумом (1) тоже самое. Например:
40+30*RND
40+30*0=40
40+30*1=70
Значит диапозон 40-70. Еще вариант, но он работает в очевидных случаях: то, на что умножаем - это диапозон, а то, что слагаем - то смещение. Например:
40+30*RND
Диапозон - 30, смещение - 40. Это значит, что разброс минимума и максимума составляет 30, а смещение этого промежутка от нуля - 40. Полное понимание, конечно, приходит с опытом - если что-то не понимаете, не волнуйтесь - поэксперементируйте, и все станет ясным.
Теперь попробуйте Вы:
Назовите диапозон функции: 20+15*RND (пользуйтесь первым способом.)
0
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
07.10.2013, 20:01  [ТС]
20+15*RND*0=20
20+15*RND*1=35

Добавлено через 1 минуту

диапазон 15,смещение 20
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
07.10.2013, 20:05
Правильно =). К сожалению, у меня сейчас много работы - давайте отложим опять на завтра?
0
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
07.10.2013, 20:09  [ТС]
Цитата Сообщение от Good-Morning Посмотреть сообщение
давайте отложим опять на завтра
вот эти все задания по GW уже на этой неделе отдавать надо(
где-то к четвергу...

Добавлено через 32 секунды
мне бы поскорее надо...
а так у меня вот еще диаграммы там...их то я уже не успею...
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
07.10.2013, 20:10
На завтра у меня работы не так много запланированно - надеюсь, все успеем
0
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
07.10.2013, 20:13  [ТС]
Цитата Сообщение от Good-Morning Посмотреть сообщение
надеюсь, все успеем
я тоже на это надеюсь... мне бы вот завтра разобраться с двумя задачами по этим подпрограммам...И там еще вот одна задачка остается

Может сейчас хоть с этой разберемся...)а завтра будем со второй разбираться)))?
0
07.10.2013, 20:17

Не по теме:

Сейчас у меня совсем времени нет - сам еле успеваю... Если успеваю. :( Меня просто завалили работой - и то нужно сделать и это, даром, что я половину забыл...:wall::scratch:

0
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
08.10.2013, 14:30  [ТС]
Ну ладненько) Что ж подожду до завтра) Надеюсь завтра разберемся с 2 задачами)

Добавлено через 18 часов 8 минут
ну что продолжим?)
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
08.10.2013, 18:34
Хоть мне и немного делать, но все же я пока занят...
0
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
08.10.2013, 18:36  [ТС]
Цитата Сообщение от Good-Morning Посмотреть сообщение
Хоть мне и немного делать, но все же я пока занят
а когда освободитесь?
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
08.10.2013, 18:50
Надеюсь скоро Вы часик можете подождать?
0
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
08.10.2013, 18:53  [ТС]
Цитата Сообщение от Good-Morning Посмотреть сообщение
Вы часик можете подождать?
попробую...
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
08.10.2013, 19:29
Я, вроде, освободился. На чем мы остановились?
0
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
08.10.2013, 19:46  [ТС]
Цитата Сообщение от sveta18 Посмотреть сообщение
20+15*RND*0=20
20+15*RND*1=35
Добавлено через 1 минуту
диапазон 15,смещение 20
вот я ответила на ваш вопрос

Добавлено через 2 минуты
Так как мне начать задачу?
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
08.10.2013, 19:49
Ладно, чтобы не тратить время, продолжу объяснения.
Мы составили функцию, что выдает нужные нам значения - 50+RND*10. Даже не так - Сказано, чтобы числа были целыми - производим над нашей функцией операцию отсечения дроби - fix(50+rnd*10). Как теперь работать с полученным результатом? Очень просто - мы хотим, чтобы x равнялась произвольному целому числу интервала 50-60.
QBasic/QuickBASIC
1
x=FIX(50+RND*10)
Скажу также, что в лучшем виде это выглядит так:
QBasic/QuickBASIC
1
x=FIX(k+RND*(l-k))
Возможно, Вы даже догадаетесь почему.
0
6 / 6 / 0
Регистрация: 14.09.2013
Сообщений: 96
08.10.2013, 20:00  [ТС]
так ну это пока понятно

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

x=FIX(k+RND*(l-k))
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
08.10.2013, 20:03
Замечательно. Надо также сказать, что функция выдает новое значение на каждый ее вызов, т.е.
QBasic/QuickBASIC
1
2
PRINT RND
PRINT RND
Программа выдаст разный результат в данный строках.
Ладно. Далее по алгоритму:
Цитата Сообщение от Условие
Вычислять 20 раз
Значит, верхних цикл будет
QBasic/QuickBASIC
1
2
FOR i=0 TO 19
NEXT i
Цитата Сообщение от Условие
сколько раз сумма из пяти случайных чисел
Вызывать функцию 5 раз:
QBasic/QuickBASIC
1
2
3
FOR j=0 TO 4
a(j)=FIX(k+RND*(l-k))
NEXT j
Вычислим сумму:
QBasic/QuickBASIC
1
sum=sum+a(j)
Это строка стоит в том же цикле, что и вызов функции, т.е. сумма инкрементируется каждым новым значением слагаемого.
Осталось расставить все PRINT в программе (как все точки над i) и организовать все строки в рабочий код. Попробуйте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.10.2013, 20:03

Как задать имя подпрограммы в качестве формального параметра
Не могу реализовать переопределение имени подпрограммы. Программа должна обращаться к соответствующей подпрограмме в зависимости от...

Подпрограммы ошибка
Добрый день. не могу решить проблему ((. Вычислить F=(p1/(p2-p1))+p3 где p1 – произведение всех нечетных чисел в диапазоне от 20...

VBA: Подпрограммы
При помощи подпрограмм нужно сделать программу: Заданы две матрицы А(4,4) и В(3,3). Написать программу вычисления вектора Z = Х ...

Как используются подпрограммы
помогите вот в этой программе использовать подпрограммы Sub ia() Dim a(5) As Variant Dim b(5) As Variant Dim c(5) As Variant ...

Подпрограммы: площади, периметры
Доброго времени суток:), задача вроде бы простая, но что то не получается и еще ошибку выдает Задача: Даны основания и высоты двух...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru