Задачи (часть 2)
CLS
DIM i, imax, c, a(26) AS INTEGER
OPEN "TEXT.DAT" FOR INPUT AS #2
S$ = "1"
DO WHILE NOT (S$ = ".")
S$ = INPUT$(1, #2)
c = ASC(UCASE$(S$))
IF c >= ASC("A") AND c <= ASC("Z") THEN
c = c - ASC("A") + 1
a(c) = a(c) + 1
END IF
LOOP
FOR i = 1 TO 26
IF a(i) > 0 THEN PRINT CHR$(i + 64); " = "; a(i); " ";
NEXT i
imax = 1
FOR i = 2 TO 26
IF a(i) > a(imax) THEN imax = i
NEXT i
PRINT : PRINT CHR$(imax + 64), a(imax)
CLOSE #2
А вот пример программы на Бейсике (2005-С5), которая работает с результатами измерения температуры (366 дней):
DIM temp(12) AS INTEGER
DIM mm(12) AS DOUBLE
DATA 31,28,31,30,31,30,30,31,30,31,30,31
CLS : PRINT
OPEN "dat.txt" FOR INPUT AS #1
DO UNTIL EOF(1)
INPUT #1, c$
month = VAL(MID$(c$, 4, 2))
temp(month - 1) = temp(month - 1) + VAL(MID$(c$, 6))
LOOP
CLOSE #1
s = 0
FOR i = 1 TO 12
READ mm(i - 1)
mm(i - 1) = temp(i - 1) / mm(i - 1)
s = s + mm(i - 1)
NEXT i
s = s / 12
PRINT "srednegod: "; s: PRINT
otkl = 0
FOR i = 1 TO 12
IF i <= 9 THEN PRINT "0";
PRINT LTRIM$(STR$(i)); ": ";
PRINT USING "##.##"; mm(i - 1);
PRINT "; otklon: ";
curOtkl = ABS(s - mm(i - 1))
PRINT USING "##.##"; curOtkl
IF curOtkl >= otkl THEN otkl = curOtkl: mOtkl = i
NEXT i
PRINT "Maksim otkl v mesyaze: "; mOtkl