Символы и строки
Задача 251
' Расстояния между точками DATA 120, 58, 280, 440, 157, 99, 350, 290, 500.159 DATA 271, 279, 35, 100, 160, 234, 45, 170, 200, 66 DATA 271, 279, 35, 100, 360, 234, 545, 170, 200, 266 DATA 120, 58, 280, 240, 157, 99, 150, 290, 50, 159 SCREEN 9 1 Объявление и формирование массивов DIM XI(10), Yl(10), X2(10), Y2(10) FOR 1=1 TO 10: READ XI (I): NEXT I FOR 1=1 TO 10: READ Y1(I): NEXT I FOR 1=1 TO 10: READ X2(I): NEXT I FOR 1=1 TO 10: READ Y2(I): NEXT I ' Формирование массива расстояний между точками FOR 1=1 ТО 10 S(I)=SQR((X1(I)-X2(I))Л2+(У1(I)-Y2(I))Л2) NEXT I ' Поиск максимальной и минимальной длины MAX=S(1): NMAX=1 FOR 1=2 TO 10 IF S{I) >MAX THEN MAX=S(I): NMAX=I NEXT I MIN=S(1): NMIN=1 FOR 1=2 TO 10 IF S(I)<MIN THEN MIN=S(I): NMIN=I NEXT I ' Графическая интерпретация FOR 1=1 TO 10 LINE (XI (I), Yl (I)) – (X2 (I), Y2(I)), 15 IF I=NMAX THEN LINE (XI (I), Yl (I)) – (X2 (I), Y2(U), 4 IF I=NMIN THEN LINE (X1(I), Yl (I)) – (X2 (I), Y2(D), 2 NEXT I END
Задача 256
1 Сборщики компьютеров 1 Понедельник DATA 37, 14, 48, 24, 80, 60, 56 ' Вторник. DATA 77, 34, 45, 23, 45, 39, 51 ' Среда DATA 58, 65, 49, 49, 56, 45, 38 ' Четверг DATA 61, 57, 55, 89, 33, 52, 60 ' Пятница DATA 80, 67, 77, 70, 55, 76, 81 CLS ' Объявление и формирование массивов для каждого сборщика DIMA(5), B(5), C(5), D(5), E(5), F(5), G(5), S(7), SR(5) FOR 1=1 TO 5 READA(I), B(I), C(I), D(I), E(I), F(I), G(I) NEXT I ' Общее количество компьютеров за неделю для каждого сборщика FOR J=l TO 7: S(J)=0: NEXT J J-l: FOR 1=1 TO 5: S (J) =S (J)+A (I): NEXT I J=2: FOR 1=1 TO 5: S (J) =S (J)+B (I): NEXT I J=3: FOR 1=1 TO 5: S (J) =S (J)+C (I): NEXT I J=4: FOR 1=1 TO 5: S(J)=S(J)+D(I): NEXT I J=5: FOR 1=1 ТО 5: S(J)=S(J)+E(I): NEXT I J=6: FOR 1=1 TO 5: S(J)=S(J)+F(I): NEXT I J=7: FOR 1=1 TO 5: S (J) =S (J)+G (I): NEXT I ' Максимальное количество за неделю одним сборщиком MAX=S(1): К=1 FOR J=2 TO 7 IF S(J) > MAX THEN MAX=S(J): K=J NEXT J PRINT "Максимальное количество компьютеров за неделю: PRINT "собрал рабочий №"; К PRINT ' Среднее количество за каждый день недели FOR 1=1 ТО 5 ; МАХ PRINT "В"; I; "день в среднем собрано"; SR(I); "компьютеров" NEXT I PRINT ' Лучший результат за один день, номер сборщика и день недели RESTORE READ DAY MX=DAY: K=l FOR 1=2 TO 35 READ DAY IF DAY >MX THEN MX=DAY: K=I NEXT I PRINT "Максимальное количество компьютеров за один день: "; MX N=K MOD 7 Nl=K/7 IF N1<=1 AND Nl >0 THEN 0$="Понедельник" IF Nl<=2 AND N1 >1 THEN 0$="Вторник" IF Nl<=3 AND Nl >2 THEN D$="Cpefla" IF Nl<=4 AND Nl >3 THEN D$="4eTBepr" IF Nl<=5 AND Nl >4 THEN О$="Пятница" PRINT "собрал рабочий №"; N PRINT "Это был день недели "; D$ END
Задача 267
' Сортировка выбором CLS: RANDOMIZE TIMER INPUT "Сколько чисел будет в массиве"; N ' Объявление, формирование массива и вывод его на экран DIM S(N) FOR 1=1 ТО N S(I)=INT(RND{1)*150)+50 PRINT S(I); NEXT I PRINT 1 Сортировка с использованием вложенных циклов FOR 1=1 ТО N-1 MIN=S(N) K=N FOR J=N TO I STEP – 1 IF S(J)<MIN THEN MIN=S(J): K=J NEXT J SWAP S(K), S(I) NEXT I ' Вывод отсортированного массива FOR 1=1 TO N PRINT S (I); NEXT I END
Задача 269
' Сортировка методом "пузырька" CLS DATA Q,W,E,R,T,Y,U,I,O,P DATA A, S, D, F, G, H, J, K, L, Z DATA X,C,V,B,N,M ' Объявление, формирование и вывод исходного массива на экран N=26: DIM ENG$(N) PRINT "Исходный массив" FOR 1=1 ТО N READ ENG$(I) PRINT ENG$(I); " "; NEXT I PRINT FOR 1=1 TO N-l FOR J=l TO N-l IF ENG$(J) >ENG$(J+1) THEN SWAP ENG$(J), ENG$(J+1) NEXT J NEXT I PRINT ' Вывод отсортированного массива PRINT "Отсортированный массив" FOR 1=1 ТО N PRINT ENG$(I); " "; NEXT I END