Тема лаб работы: "Программное управление печатающего устройства с низкоуровневых команд." сделать лабораторную работу по предмету "Аппаратное обеспечение компьютерной техники".
DIM n AS INTEGER CLS INPUT "N=", n REDIM a(1 TO n) AS INTEGER DIM a AS INTEGER RANDOMIZE TIMER FOR i = 1 TO n a(i) = 9 * RND + 1 PRINT a(i); NEXT i PRINT ' SORT DIM j AS INTEGER, t AS INTEGER FOR i = 1 TO n FOR j = 1 TO n IF a(i) < a(j) THEN t = a(i): a(i) = a(j): a(j) = t END IF NEXT j NEXT i ' t = a(1): j = 1 FOR i = 2 TO n IF a(i) = t THEN j = j + 1 ELSE PRINT t; "-"; j t = a(i): j = 1 END IF NEXT i PRINT t; "-"; j
# Код на ruby 2.2.3p173 def zadanie(line, time) line = line.gsub(/[^MD]/, "") time.times { |i| k = 0 while k < line.size - 1 do if line[k..k + 1] == "MD" line[k], line[k + 1] = line[k + 1], line[k] k+=1 end k+=1 end p [i+1,line] } return line end # # Примеры применения p zadanie("DMMDMDMDMMMDMMMM", 9)
DIM n AS INTEGER
CLS
INPUT "N=", n
REDIM a(1 TO n) AS INTEGER
DIM a AS INTEGER
RANDOMIZE TIMER
FOR i = 1 TO n
a(i) = 9 * RND + 1
PRINT a(i);
NEXT i
PRINT
' SORT
DIM j AS INTEGER, t AS INTEGER
FOR i = 1 TO n
FOR j = 1 TO n
IF a(i) < a(j) THEN
t = a(i): a(i) = a(j): a(j) = t
END IF
NEXT j
NEXT i
'
t = a(1): j = 1
FOR i = 2 TO n
IF a(i) = t THEN
j = j + 1
ELSE
PRINT t; "-"; j
t = a(i): j = 1
END IF
NEXT i
PRINT t; "-"; j
Пример
N=10
7 5 2 7 3 3 5 9 7 6
2 - 1
3 - 2
5 - 2
6 - 1
7 - 3
9 - 1
def zadanie(line, time)
line = line.gsub(/[^MD]/, "")
time.times { |i|
k = 0
while k < line.size - 1 do
if line[k..k + 1] == "MD"
line[k], line[k + 1] = line[k + 1], line[k]
k+=1
end
k+=1
end
p [i+1,line]
}
return line
end
# # Примеры применения
p zadanie("DMMDMDMDMMMDMMMM", 9)
Вывод
[1, "DMDMDMDMMMDMMDMDDDMM"]
[2, "DDMDMDMMMDMMDMDMDDMM"]
[3, "DDDMDMMMDMMDMDMDMDMM"]
[4, "MMMDMMDMDMDMDMMM"]
[5, "MMDMMDMDMDMD"]
[6, "MDMMDMDMDMD"]
[7, "MMDMDMDMD"]
[8, "MDMDMDMD"]
[9, "MDMDMD"]
"MDMDMD"