Отправлено: 12.03.05 13:39. Заголовок: Пример работы по информатике 1 курс
Предлагаю решение типовых задачь, сдал на 5, надеюсь кому-нибудь поможет
10. Ввести массив А(N). Вывести на печать данные о числе нулевых элементов массива и их номера. Если таковых нет, вывести на печать сообщение об этом.
Решение : 10 CLS 20 S = 0 30 K= 0 40 DATA 1,3,0,8,0,6,7,8,9,0 50 DIM A(10) 60 FOR I = 1 TO 10 70 READ A(I) 80 PRINT A(I) 90 IF A(I) = 0 THEN PRINT “Нулевым является элемент под номером”; I ELSE GOTO 110 100 K = K + 1 110 IF A(I) ‹›0 THEN S = S + 1 120 NEXT I 130 IF S = 10 THEN PRINT “Нулевые элементы в массиве отсутствуют” 140 IF K › 0 THEN PRINT “Число нулевых элементов”; K 150 END
30. Ввести массив А(N). Найти сумму элементов, индексы которых кратны 3, а так же сумму остальных элементов.
Решение :
10 CLS 20 S = 0 30 S1 = 0 40 DATA 1,3,0,8,0,6,7,8,9,0 50 DIM A(10) 60 FOR I=1 TO 10 70 READ A(I) 80 PRINT A(I) 90 IF I MOD 3 = 0 THEN S = S + A(I) ELSE S1 = S1 + A(I) 100 NEXT I 110 PRINT “Сумма элементов, индексы которых кратны 3 равна “; S 120 PRINT “ Сумма остальных элементов равна”; S1 130 END
50. Ввести массив А(N) из членов ряда А(I)= . Число членов ряда ограничены по условию А(I)ch61603;М, где М››1. Найти сумму членов ряда кратных двум и произведение членов ряда кратных трем.
Решение : 10 CLS 20 INPUT “Введи количество элементов в массиве”; N 30 S = 0 40 P = 1 50 DIM A(N) 60 FOR I = 1 TO N 70 A(I) = I^(2/3) 80 PRINT A(I) 90 IF A(I) MOD 2 = 0 THEN S = S + A(I) 100 IF A(I) MOD 3 = 0 THEN P = P * A(I) 110 NEXT I 120 PRINT “Сумма членов ряда кратных двум равна “; S 130 PRINT “Произведение членов ряда кратных трем “; P 140 END
70. Ввести массив А(N). Упорядочить элементы от 0 до N/2 по убыванию, а от (N/2)+1 до N по возрастанию. Вывести исходный и преобразованный массивы.
Решение :
10 CLS 20 DATA 1,3,0,8,0,6,7,8,9,0 30 DIM A(10) 40 FOR I = 1 TO 10 50 READ A(I) 60 PRINT A(I) 70 NEXT I 80 K = 0 90 FOR I = 1 TO 5 100 MAX = A(I) 110 FOR J = K + 1 TO 5 120 IF A(J) ›= MAX THEN MAX = A(J) ELSE GOTO 140 130 C = J 140 NEXT J 150 SWAP A(I),A(C) 160 K = K + 1 170 NEXT I 180 FOR I = 6 TO 10 190 MAX = A(I) 200 FOR J = K + 1 TO 10 210 IF A(J) ‹= MAX THEN MAX = A(J) ELSE GOTO 230 220 C = J 230 NEXT J 240 SWAP A(I) , A(C) 250 K = K + 1 260 NEXT I 270 FOR I = 1 TO 10 280 LOCATE I , 5 290 PRINT A(I) 300 NEXT I 310 END
90. Ввести массив A(N,N). Разделить все его элементы на максимальный элемент главной диагонали. Вывести исходный и преобразованный массивы в виде матриц.
Решение :
10 CLS 20 DATA 9,-11,-21,43,92,17,41,,42,-28,-35,36,-6,-4,34,81,4 7,26,-23,14,-28,-23,-32,6,10,20 30 DIM A(5,5) 40 FOR I = 1 TO 5 50 FOR J = 1 TO 5 60 READ A(I,J) 70 LOCATE 2 * I, 2 * J 80 PRINT A(I,J) 90 S = A(1,1) 100 NEXT J 110 NEXT I 120 FOR I = 1 TO 5 130 FOR J = 1 TO 5 140 IF I = J THEN GOTO 100 150 IF A(I,J)›S THEN S = A(I,J) 160 NEXT J 170 NEXT I 180 FOR I = 1 TO 5 190 FOR J = 1 TO 5 200 A1(I,J) = A(I,J)/S 210 LOCATE 2 * I + 12, 2 * J 220 PRINT A1(I,J) 230 NEXT J 240 NEXT I 250 END
в задании 90: 140 IF I = J THEN GOTO 100 - проверьте, очень подозрительная строчка более компактное решение: вводим сначала только а(1.1), присваиваем его s, печаем на экран оставшиеся элементы вводим в цикле начиная с а(1.2) в этом же цикле находим максимальный элемент: if i==j then if a(i.j)›s then s=a(i.j) end if end if в следующих циклах вывода просто пишем print a(i.j)/s p.s. возможно операторы не так пишутся давно бейсик не видел но сама идея надеюсь понятна
Казань 2005г. 5. Ввести массив A(N). Задать число L.Вывести на печать данные о количестве элементов массива равных L. Если таковых нет, вывести на печать сообщение об этом.
Массив А(8) L Число элементов = L 22 710 23,13 5 18 -4 -0,7784 80 10 нет элементов = L
Sub fs( ) Dim A(8) L = Cells(2, j) For j = 1 To 8 A(j) = Cells(2, j) If A(j) = L Then n = n + 1 Next If n = 0 Then Cells(2, 10). Value = L” Else Celle(2, 10) = n End Sub
25. Ввести массив A(N). Первые пять элементов умножить на 2, вторые пять на 3, остальным присвоить значения равные нулю. Вывести на печать исходный и преобразованный массивы.
Sub fs( ) Dim A(12) For j = 1 To 12 A(j) = Cells(2,j) If j <= 5 Then Cells(4, j) = A(j) * 2 If j > 5 And j <= 10 Then Cells(4, j) = A(j) * 3 If j > 10 Then cells(4, j) = 0 Next End Sub
45. Задать массив А(N) из ненулевых членов ряду А(I)=I3 не больших наперед заданного числа М ≥2000. Найти произведение элементов массива и их сумму.
Sub fs( ) i = 1 M = Cells(1,2) A = 1 P = 1 While A <= M ReDim z(i) Z(i) = A I = i + 1 Cells(2, i) = z(i – 1) A = i ^ 3 p = p * z(i – 1) s = s + z(i – 1) Wend Cells(3, 2) = p Cells(4, 2) = s End Sub
65. Вычислить суммы положительных и отрицательных элементов каждой строки массива A(N, M).
Sub fs ( ) Dim a(5, 5) For i = 2 To 6 s = 0 p = 0 For j = 1 To 5 a(i – 1, j) = Cells(i, j) If a(i – 1, j) > 0 Then s = s + a(i- 1, j) Else p = p + a(i – 1, j) Next j Cells(i, 6) = s Cells(i, 7) = p Next i End Sub 85. Вычислить произведения положительных и суммы отрицательных элементов каждой строки массива A(N, M).
Sub fs ( ) Dim a(5, 5) For i = 2 To 6 s = 0 p = 1 For j = 1 To 5 a(i – 1, j) = Cells(i, j) If a(i – 1, j) < 0 Then s = s + a(i – 1, j) Else p = p * a(i – 1, j) Next j Cells(i, 6) = s Cells(i, 7) = p Next i End Sub
1.Фигурнов В.Э IBM PC для пользователей. Краткий курс.-М:,2000 издания №7 2.Новейшея энциклопедия персонального компьютора. -М.: ОЛМА-ПРЕСС Образование,2004
Все даты в формате GMT
3 час. Хитов сегодня: 10
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет