В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
marianachornii
marianachornii
29.08.2020 12:53 •  Информатика

Уменьшить в 2 раза все отрицательные элементы массива, состоящего из целых случайных числе из интервала (-5;5). Ученик написал программу, допустив в ней 10 ошибок. Исправьте ошибки ученика.
program Вася;
var a: array [-5..5] of integer;
i, n: integer;
begin
write (введите количество элементов массива)
read (n)
for i:=1 to n do
begin a[i] = - 5+random(5);
writeln (a[i]);
if a[i]<0 then a[i]:=a[i]/2;
end.
for i:=1 to n do write (a[i])
end.

Показать ответ
Ответ:
Рома2043
Рома2043
29.02.2020 07:13
Реализация на VBA Excell
Если есть офис, то можете запустить программу.
Код увидеть Alt+F11

Sub massiv()   
строка = 3 'не обязательно,номер строки для начала вывода на лист   
n = Cells(2, 3) 'не обязательно, вводим количество чисел   
Dim B(10000) As Integer 'резервируем память на 10000 целых чисел   
S = 0 'обнуляем сумму   
For i = 1 To n 'Начало цикла       
   k = Rnd(1) 'Генерируем случайное число в диапазоне (0;1)       
   k = k * 9 + 12 'Смещаем его в диапазон [12;20]       
   k = Int(k) 'обрезаем, оставляя целое       
   B(i) = k 'заполняем массив       
   S = S + k 'считаем сумму       
   Cells(строка, 3) = строка - 2 'не обязательно, вывод номера значеня              
   Cells(строка, 4) = k 'Не обязательно вывод значения       
   строка = строка + 1 'не обязательно, увеличить строку для вывода   
Next i 'Конец цикла   
Cells(строка, 3) = "сумма =" 'не обязательно, выводим надпись   
Cells(строка, 4) = S 'не обязательно, выводим сумму
End Sub
0,0(0 оценок)
Ответ:
Василий7595634
Василий7595634
30.06.2020 22:56
Язык VBA:

Function Bin(s As String, z As Integer) As String
Dim c As Integer
Dim oct As Integer
c = Val(s)
Do
    oc = c Mod 2
    c = c \ 2
    Bin = Bin & Str(oc)
Loop Until c = 0
Bin = StrReverse(Bin)
If z = -1 Then Bin = "-" & Bin
End Function

Sub z()
Dim s As String, s1 As String
Dim n As Integer, i As Integer, z As Integer
Dim max
s = InputBox("Введите строку: ")
max = Null
i = 1
Do While i <= Len(s)
    Select Case Mid(s, i, 1)
       Case 0 To 9
          If z = 0 And i > 1 Then
             z = IIf(Mid(s, i - 1, 1) = "-", -1, 1)
          Else: z = 1
          End If
          s1 = s1 + Mid(s, i, 1)
          If i = Len(s) Then GoSub 1
       Case Else:
         If s1 <> "" Then GoSub 1
    End Select
    i = i + 1
Loop
MsgBox ("max=" & max)
End
1:          n = z * Val(s1)
             MsgBox (n & "; двоичная форма: " & Bin(s1, z))
             If IsNull(max) Then max = n
             If max < n Then max = n
             z = 0
             s1 = ""
             Return
End Sub
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота