Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 19
1

Задачи на: график и на создание записей в файле

04.06.2009, 17:57. Просмотров 1412. Ответов 11
Метки нет (Все метки)

Задача 1:
Построить график функции: y=(a(x^2))+bx+c на интервале от -25 до 25.Найти нули функции.
Ну интервал это масштаб
picture1.scale(-25.0)-(0,25)
А дальше не знаю(
Задача 2:
Создать файл данных куда будут заноситься цены за упаковку продукции от разных поставщиков и вес упаковки.Вывести из файла о лучшем соотношении цена\вес.Предусмотреть возможность пополнения файла.

В общем создаём файл с ценами и весом продукции.В вб выводиться лучший результат.А насчёт пополнения записей в файля я не совсем понял)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2009, 17:57
Ответы с готовыми решениями:

Занесение записей в listBox из файла и изменение записей в файле
Как сделать, что бы при запуске приложения, информация из конкретного файла сразу отображалась в...

Перестановка записей в файле
Имеется файл с записями: ALAV 55 Y BULBA 80 Y GOGOL 22 N BABY 76 ...

Разделение записей в файле
Добрый вечер! Как записывать в файл данные и разделять их между собой - я знаю. А вот как сделать,...

Поиск записей в файле
Доброго времени суток! В моей программе данные заносятся в файл следующим образом: ...

11
9576 / 2597 / 83
Регистрация: 17.02.2009
Сообщений: 10,364
04.06.2009, 18:04 2
Цитата Сообщение от Артемий Посмотреть сообщение
Построить график
читайте тему Использование стандартных графических методов в Visual Basic

Цитата Сообщение от Артемий Посмотреть сообщение
А насчёт пополнения записей в файля я не совсем понял)
имхо, надо создать файл без атрибута "только чтение"
0
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 19
04.06.2009, 20:07  [ТС] 3
спасибо сейчас прочту а насчёт второй задачи есть идеи?)
0
3884 / 883 / 122
Регистрация: 16.04.2009
Сообщений: 1,791
05.06.2009, 14:18 4
Цитата Сообщение от Артемий Посмотреть сообщение
насчёт второй задачи есть идеи?)
добавлять данные примерно так:
Visual Basic
1
2
3
4
5
Open "file.txt" for append as #1
cena=198.50
ves = 150
Print #1, cena & "," & ves
Close
1
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 19
06.06.2009, 15:37  [ТС] 5
про график не могу сделать(Кстати как нули функции найти?)

Добавлено через 12 минут 59 секунд
Цитата Сообщение от Toxa33rus Посмотреть сообщение
добавлять данные примерно так:
Visual Basic
1
2
3
4
5
Open "file.txt" for append as #1 <-открывает файл(file.txt) для добавления записи №1
cena=198.50 <-цены
ves = 150 <-веса
Print #1, cena & "," & ves <-куда выводит?
Close
Я правильно понял?
0
1155 / 281 / 22
Регистрация: 28.09.2008
Сообщений: 553
06.06.2009, 17:29 6
Цитата Сообщение от Артемий Посмотреть сообщение
Я правильно понял?
Нет, немного не так. Открывает файл не для записи №1, а открывает файл под номером 1. Т.е. (если я правильно это понимаю) инструкция Open открывает файл, находящийся по адресу "с:\file.txt" (кстати, если указать путь не полностью, а просто имя файла, то программа будет его искать/создавать в том каталоге, в котором она находится, т.е. до компиляции в режиме работы IDE это будет C:\Program Files\Microsoft Visual Studio\VB98) и присваивает ему номер (идентификатор), и дальше уже программа работает (читает/пишет) с файлом по его номеру.

Цитата Сообщение от Артемий Посмотреть сообщение
Print #1, cena & "," & ves <-куда выводит?
Выводит в файл #1.
1
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 19
07.06.2009, 16:14  [ТС] 7
To Abu Спасибо!)А как сделать сортировку по цене\качеству?И как сделать возможность пополнения трёх атрибутов(цена,вес,производитель) из вб в файл?
Надо создать файл(вручную можно) заполнить его ценами\весом\производителями(вручную) и вывести лучшее соотношение цена\качество+производителя.Да ещё и предусмотреть возможность пополнения в файл данных с формы вб(функция seek не поможет в этом?).
0
1155 / 281 / 22
Регистрация: 28.09.2008
Сообщений: 553
07.06.2009, 17:03 8
Я не совсем понимаю что такое соотношение цены и качества, особенно если учесть, что в файл у нас пишется цена, вес и производитель.

Вообще, если это всё-таки не база, а файл типа txt, и данные в него вводятся разнотипные, так ещё потом его нужно читать для сортировки, то думаю имеет смысл использовать произвольный доступ к файлу. Вот пример, рабочий, но без отлова возможных ошибок. На форме Text1 для ввода производителя, Text2 для ввода цены, Text3 для ввода веса. Две кнопки, Command1 для добавления записи в файл, Command2 для чтения данных из файла и последующей сортировки по цене (по возрастанию). После сортировки названия производителя и цена будут выведены в окне Immediate (комбинация клавиш Ctrl+G отображает окно, если его не видно).
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Private Type MyRecord
'объявление пользовательского типа данных
nameProducer As String * 50
'переменная для производителя, строка длиной в 50 символов
price As Double
'переменная для цены
weight As Double
'переменная для количества
End Type
 
Private Sub Command1_Click()
Dim rec As MyRecord, f As Integer, recNum As Integer
f = FreeFile 'свободный номер для файла
rec.nameProducer = Text1.Text
rec.price = Val(Replace(Text2.Text, ",", "."))
'Здесь Replace заменяет все , на .
rec.weight = Val(Replace(Text3.Text, ",", "."))
Open "C:\RecordFile.txt" For Random As f Len = Len(rec)
'открываем файл для чтения и/или записи с произвольным доступом к данным
recNum = LOF(f) \ Len(rec)
'узнаём количество записей в файле
recNum = recNum + 1
'увеличиваем на 1
Put #f, recNum, rec
'добавляем новую запись под номером на единицу больше количества записей
Close f
End Sub
 
Private Sub Command2_Click()
Dim rec As MyRecord, f As Integer, recNum As Integer, i As Integer
Dim recArr() As MyRecord
'массив для записей
f = FreeFile
Open "C:\RecordFile.txt" For Random As f Len = Len(rec)
recNum = LOF(f) \ Len(rec)
For i = 1 To recNum
    Get #f, i, rec
'читаем запись
    ReDim Preserve recArr(1 To i)
'изменяем размеренность массива, чтоб домбавить туда запись
    recArr(i) = rec
'добавляем запись в массив
Next i
Call sort(recArr)
'вызываем процедуру сортировки и передаём в неё в качестве параметра массив
End Sub
'сортировка по цене
Private Sub sort(mArr() As MyRecord)
Dim i As Integer, j As Integer, pos As Integer
Dim temp As MyRecord, min As Double
For i = 1 To UBound(mArr)
    min = mArr(i).price
    'первую запись, конкретно цену, задаём как минимальную
    pos = i
    'запоминаем позицию
    For j = i + 1 To UBound(mArr)
        If mArr(j).price < min Then
            min = mArr(j).price
            pos = j
        End If
    'тут обычное сравнение
    Next j
    temp = mArr(i)
    mArr(i) = mArr(pos)
    mArr(pos) = temp
    'меняем записи местами
    Debug.Print mArr(i).nameProducer & mArr(i).price
    'выводим результат
Next i
End Sub
2
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 19
07.06.2009, 17:07  [ТС] 9
а можно расшифровать строчки,и описать механику работы программы)
Не записывает цену в имидиэйт.А сортировка ну цена пониже вес побольше.
Апу а первую задачу не могли бы вы решить?
0
1155 / 281 / 22
Регистрация: 28.09.2008
Сообщений: 553
07.06.2009, 17:41 10
Цитата Сообщение от Артемий Посмотреть сообщение
а можно расшифровать строчки,и описать механику работы программы)
Можно, какие именно? Все что ли?

Цитата Сообщение от Артемий Посмотреть сообщение
Не записывает цену в имидиэйт.
Куда не записывает?

Цитата Сообщение от Артемий Посмотреть сообщение
Апу а первую задачу не могли бы вы решить?
Нет.
0
3884 / 883 / 122
Регистрация: 16.04.2009
Сообщений: 1,791
09.06.2009, 11:09 11
Цитата Сообщение от Артемий Посмотреть сообщение
Построить график функции: y=(a(x^2))+bx+c на интервале от -25 до 25
Visual Basic
1
2
3
4
For i=-25 to 25 step 0.00001
  'рисуете точку с координатами (i, y), где
  'y=a * i ^ 2 + b * i + c
Next i
Нули можно найти похожим способом:
Visual Basic
1
2
3
4
5
6
For i=-25 to 25 step 0.001
  y=a * i ^ 2 + b * i + c
  If y<0.001 Then 'погрешность 
    msgbox "(" & i & ", " & y & ")"
  End if
Next i
Только из-за погрешности может получится что в одном месте несколько раз скажут что там нуль, хотя он там один. Тогда просто увеличте погрешность
0
Зульфия
17.04.2010, 20:08 12
представить на графике зависимость погрешности данных методов нахождения интегралов от выражения Sin(x) ^ 2 в интервале от 0 до П/2, методом Симпсина и трапций, от количества разбиений N (N изменяется на интервале [10;200] с шагом 10.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2010, 20:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Редактирование записей в файле
Подскажите идею редактирования записи в файле пожалуйста.

Сортировка записей в файле
Нужно написать программу сортировки Работа обязательно с файлами. В файле содержатся данные о...

Нумерация записей в файле
Добрый день! Скажите, пожалуйста, как сделать, чтобы нумерация записей в файле, при повторном...

Сортировка записей в файле
есть задача: В файле храниться информация, имеющая следующую структуру: 1 Список телефонов: ...

Редактирование записей в файле
В файле содержаться записи - структуры. Мне нужно организовать редактирование содержимого этих...

Сортировка записей файле
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.