1. VBA с выводом массива на лист рабочей книги Sub Prog() Dim i As Integer, n As Integer, max As Integer, R As Range Cells.Clear Randomize Timer n = InputBox("Введите размер массива") ReDim a(1 To n, 1 To 1) As Integer For i = 1 To n a(i, 1) = Int(50 * Rnd - 25) Next i Set R = Range(Cells(1, 1), Cells(n, 1)) R = a MsgBox "Минимум " + Str(Application.WorksheetFunction.Min(R)) End Sub
Файл формата MS Excel 2003 находится во вложении.
2. Программа на Microsoft QBasic DIM i AS INTEGER, n AS INTEGER, max AS INTEGER CLS RANDOMIZE TIMER INPUT "Введите размер массива: ", n REDIM a(1 TO n) AS INTEGER min = 1000 FOR i = 1 TO n a(i) = INT(50 * RND - 25) PRINT a(i); " "; IF a(i) < min THEN min = a(i) NEXT i PRINT PRINT "Минимум "; min
1. При использовании палитры из 2^24 цветов для хранения цвета 1 пикселя используется 24 бита = 3 байта. Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт. X = 8*(K*3/1024 + 128)+2.5*1024 2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта. Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт. X = 20*(K*2/1024 + 128) 8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128) К = 65536 (количество пикселей в рисунке) X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт = 20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
1. При использовании палитры из 2^24 цветов для хранения цвета 1 пикселя используется 24 бита = 3 байта. Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт. X = 8*(K*3/1024 + 128)+2.5*1024 2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта. Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт. X = 20*(K*2/1024 + 128) 8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128) К = 65536 (количество пикселей в рисунке) X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт = 20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
Sub Prog()
Dim i As Integer, n As Integer, max As Integer, R As Range
Cells.Clear
Randomize Timer
n = InputBox("Введите размер массива")
ReDim a(1 To n, 1 To 1) As Integer
For i = 1 To n
a(i, 1) = Int(50 * Rnd - 25)
Next i
Set R = Range(Cells(1, 1), Cells(n, 1))
R = a
MsgBox "Минимум " + Str(Application.WorksheetFunction.Min(R))
End Sub
Файл формата MS Excel 2003 находится во вложении.
2. Программа на Microsoft QBasic
DIM i AS INTEGER, n AS INTEGER, max AS INTEGER
CLS
RANDOMIZE TIMER
INPUT "Введите размер массива: ", n
REDIM a(1 TO n) AS INTEGER
min = 1000
FOR i = 1 TO n
a(i) = INT(50 * RND - 25)
PRINT a(i); " ";
IF a(i) < min THEN min = a(i)
NEXT i
PRINT
PRINT "Минимум "; min
Тестовое решение:
Введите размер массива: 15
-8 5 -11 -11 19 -10 7 -12 -20 -9 7 -14 -1 10 -9
Минимум -20