Visual Basic
Started By MaXXX, мар 29 2006 11:26
13 ответов в этой теме
#1
Отправлено 29 марта 2006 - 11:26
Нужно написать след. программки.
Задача 1
Напишите программу, с помощью которой моделируется бросание игральной кости двумя игроками и определяется выигравший игрок. Игральная кость – кубик, грани которого пронумерованы от 1 до 6.
Под моделированием подразумевается воспроизведение на компьютере получения случайного результата такого бросания – равновероятного выпадения одного из шести чисел.
Кроме того, программа должна нарисовать в графическом окне экранной формы ту грань кубика, которая соответствует выпавшему числу.
Задача 2
Индийский раджа, которому преподнесли в подарок шахматную игру, захотел наградить изобретателя и разрешил ему выбрать награду самому. «Дай мне, - сказал мудрец, - только несколько пшеничных зерен, причем ровно столько, сколько поместится на шахматной доске, если ты на первую клетку положишь одно зернышко, на вторую клетку два зернышка и так далее: на каждую клетку вдвое больше, чем на предыдущую».
Сколько тонн зерна требуется, чтобы выполнить эту просьбу?
Информация: шахматная доска имеет 64 поля; тонна пшеницы содержит 4 000 000 зерен.
Указание: выполнить с использованием цикла For … Next
Задача 3
Выполнить задачу 2 с использованием цикла Do While … Loop
Задача 4
Написать программу нахождения минимального натурального числа n, для которого выполняется неравенство:
1 + 3 + 5 + ...+ (2n – 1) > 36
Указание: выполнить с использованием цикла Do While … Loop
Задача 5
Создайте массив в памяти, содержащий первые десять элементов последовательности Фибоначчи, и выведите их в экранную форму.
Последовательность Фибоначчи имеет такой вид: 0, 1, 1, 2, 3, 5, 8, ... Первое число равно 0, второе – 1, каждое последующее число равно сумме двух предыдущих.
Задача 6
Введите два массива, элементы которого являются символьной информацией и отсортированных по возрастанию. Соедините их в один массив, выбирая каждый раз тот элемент, который идет раньше (по сортировке). Результат выведите на экран.
Указание: используйте не более 10 элементов в каждом массиве, напр., ас бт бш гр гст.
Задача 7
Ввести в текстовое поле через пробел пять фамилий. Создать из них массив фамилий с помощью функции Split. Используя этот массив, создать ComboBox, содержащий список фамилий. Выбранная из списка фамилия должна отображаться в текстовом поле.
Оплата пивом, либо договорным количеством денег.
Задача 1
Напишите программу, с помощью которой моделируется бросание игральной кости двумя игроками и определяется выигравший игрок. Игральная кость – кубик, грани которого пронумерованы от 1 до 6.
Под моделированием подразумевается воспроизведение на компьютере получения случайного результата такого бросания – равновероятного выпадения одного из шести чисел.
Кроме того, программа должна нарисовать в графическом окне экранной формы ту грань кубика, которая соответствует выпавшему числу.
Задача 2
Индийский раджа, которому преподнесли в подарок шахматную игру, захотел наградить изобретателя и разрешил ему выбрать награду самому. «Дай мне, - сказал мудрец, - только несколько пшеничных зерен, причем ровно столько, сколько поместится на шахматной доске, если ты на первую клетку положишь одно зернышко, на вторую клетку два зернышка и так далее: на каждую клетку вдвое больше, чем на предыдущую».
Сколько тонн зерна требуется, чтобы выполнить эту просьбу?
Информация: шахматная доска имеет 64 поля; тонна пшеницы содержит 4 000 000 зерен.
Указание: выполнить с использованием цикла For … Next
Задача 3
Выполнить задачу 2 с использованием цикла Do While … Loop
Задача 4
Написать программу нахождения минимального натурального числа n, для которого выполняется неравенство:
1 + 3 + 5 + ...+ (2n – 1) > 36
Указание: выполнить с использованием цикла Do While … Loop
Задача 5
Создайте массив в памяти, содержащий первые десять элементов последовательности Фибоначчи, и выведите их в экранную форму.
Последовательность Фибоначчи имеет такой вид: 0, 1, 1, 2, 3, 5, 8, ... Первое число равно 0, второе – 1, каждое последующее число равно сумме двух предыдущих.
Задача 6
Введите два массива, элементы которого являются символьной информацией и отсортированных по возрастанию. Соедините их в один массив, выбирая каждый раз тот элемент, который идет раньше (по сортировке). Результат выведите на экран.
Указание: используйте не более 10 элементов в каждом массиве, напр., ас бт бш гр гст.
Задача 7
Ввести в текстовое поле через пробел пять фамилий. Создать из них массив фамилий с помощью функции Split. Используя этот массив, создать ComboBox, содержащий список фамилий. Выбранная из списка фамилия должна отображаться в текстовом поле.
Оплата пивом, либо договорным количеством денег.
"The rush of battle is often a potent and lethal addiction, for war is a drug"
Chris Hedges
Chris Hedges
#8
Отправлено 29 марта 2006 - 23:28
MaXXX, первая обычный RND(1)*6
Вторая: цикл от одного до н, каждый раз вычисляешь 2 в нной степени, суммируешь потом, затем делишь. Переменная дабл...
А вообще, 2 в нной это 1 бит сдвинутый на н позиций влево
То есть надо 62 единицы разделить на 10^6. Ну да, цикл как раз либо для перевода в дес. систему, либо для подсчета числа сразу, без перевода.
Это алгоритмы. А код писать - ну уж извините, думаю, справитесь сами Легко ведь.
6 задача - всю символьную информацию перевести в числа. Т.е. а например 1 б-2, это легко. Выходит что в таком массиве числа, сравнить которые (больше-меньше) легко. Можно и не переводить, ибо символы ли в переменной или числа зависит лишь от того, как мы их интерпретируем. Хотя не помню, как это на ВБ сделать простыми средствами. А вот ASC поможет
Вторая: цикл от одного до н, каждый раз вычисляешь 2 в нной степени, суммируешь потом, затем делишь. Переменная дабл...
А вообще, 2 в нной это 1 бит сдвинутый на н позиций влево
То есть надо 62 единицы разделить на 10^6. Ну да, цикл как раз либо для перевода в дес. систему, либо для подсчета числа сразу, без перевода.
Это алгоритмы. А код писать - ну уж извините, думаю, справитесь сами Легко ведь.
6 задача - всю символьную информацию перевести в числа. Т.е. а например 1 б-2, это легко. Выходит что в таком массиве числа, сравнить которые (больше-меньше) легко. Можно и не переводить, ибо символы ли в переменной или числа зависит лишь от того, как мы их интерпретируем. Хотя не помню, как это на ВБ сделать простыми средствами. А вот ASC поможет
Моя Родина - СССР! Пролетарии всех стран, соединяйтесь!
-----------------------------------------------------------------------
Ясность - одна из форм полного тумана. Форумчане, давайте жить дружно!
-----------------------------------------------------------------------
Ясность - одна из форм полного тумана. Форумчане, давайте жить дружно!
#10
Отправлено 03 апреля 2006 - 14:07
gmail, только придется переменную с плавающей запятой использовать, контроллируя перенос. Ибо 2 в 63 это больше чем long в VB. Ну, или пол-числа вычислить, начать делить, потом опять.
Моя Родина - СССР! Пролетарии всех стран, соединяйтесь!
-----------------------------------------------------------------------
Ясность - одна из форм полного тумана. Форумчане, давайте жить дружно!
-----------------------------------------------------------------------
Ясность - одна из форм полного тумана. Форумчане, давайте жить дружно!
#14
Отправлено 14 апреля 2006 - 10:06
MaXXX, построчно, один за одним, со скролингом?
если массивы одинаковой длины то так
dim a$,b$
a$=""
b$=""
dim i as long
for i=0 to size_of_massive
a$=a$+massive1(i)+vbcrlf
b$=b$+massive2(i)+vbcrlf
next i
text3.text=a$+b$
если разной, то
text3.text=""
dim i as long
for i=0 to size_of_massive1
text3.text=text3.text+massive1(i)+vbcrlf
next i
for i=0 to size_of_massive2
text3.text=text3.text+massive2(i)+vbcrlf
next i
Кстати, зачем тебе эти задачи, хто задал?
если массивы одинаковой длины то так
dim a$,b$
a$=""
b$=""
dim i as long
for i=0 to size_of_massive
a$=a$+massive1(i)+vbcrlf
b$=b$+massive2(i)+vbcrlf
next i
text3.text=a$+b$
если разной, то
text3.text=""
dim i as long
for i=0 to size_of_massive1
text3.text=text3.text+massive1(i)+vbcrlf
next i
for i=0 to size_of_massive2
text3.text=text3.text+massive2(i)+vbcrlf
next i
Если массивы длинные, попробуй хотя бы пузырьком их отсортировать.6 задача - всю символьную информацию перевести в числа. Т.е. а например a-1 б-2, это легко. Выходит что в таком массиве числа, сравнить которые (больше-меньше) легко. Можно и не переводить, ибо символы ли в переменной или числа зависит лишь от того, как мы их интерпретируем. Хотя не помню, как это на ВБ сделать простыми средствами. А вот ASC поможет
Кстати, зачем тебе эти задачи, хто задал?
Сообщение изменено: Zero (14 апреля 2006 - 10:07 )
Моя Родина - СССР! Пролетарии всех стран, соединяйтесь!
-----------------------------------------------------------------------
Ясность - одна из форм полного тумана. Форумчане, давайте жить дружно!
-----------------------------------------------------------------------
Ясность - одна из форм полного тумана. Форумчане, давайте жить дружно!