Файл: Отчет по лабораторной работе 1 Дисциплина Теоретические основы информационных процессов и систем.docx
Добавлен: 24.10.2023
Просмотров: 32
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Уфимский государственный авиационный технический университет»
Кафедра АСУ
Отчет по лабораторной работе №1
Дисциплина: «Теоретические основы информационных процессов и систем»
Выполнил: ст. гр. Беззубов Сергей
Проверила:
Уфа – 2023
Лабораторная работа №1
Вариант 5
На примере языка Pascal выполнено следующее:
-
procedure zamena(var s:string); -
var i,j,h:byte; -
s1:string; -
begin -
i:=length(s); //начнем с конца -
while i>=1 do -
begin -
h:=0; -
j:=i; -
while (j>=1)and(s[j]=s[i]) do //пока символы равны s[i] -
begin -
h:=h+1; //считаем и идем к началу -
j:=j-1; -
end; -
if h>1 then //если их больше 1 -
begin -
delete(s,j+1,h-1);//удалям все одинаковые кроме одного -
s1:='('+inttostr(h)+')'; //такую строку -
insert(s1,s,j+1); //вставляем перед оставшися символом -
i:=j; //переходим вперед на следующий символ -
end -
else i:=i-h; //если не больше 3, просто перешагиваем -
end; -
writeln(s); -
end; -
26. -
var s,s1:string; -
n,i:integer; -
begin -
write('Количество строк n='); -
readln(n); -
writeln('Введите ',n,' строк символов без круглых скобок с группами одинаковых символов'); -
for i:=1 to n do -
begin -
readln(s); -
zamena(s); -
end; -
end.
Лабораторная работа №2
Вариант 6
На примере языка Python выполнено следующее:
-
def change(num: int) -> int: # функция смены цифры -
if num == 1: return 0 -
else: return 1
-
def rasschet(block: str) -> str: # функция рассчета блока -
block = list(map(int, list(block)))
-
sum_1 = sum(block[:3]) + block[4] # контрольные суммы -
sum_2 = sum(block[:2]) + block[3] + block[5] -
sum_3 = block[0] + sum(block[2:4]) + block[6]
-
if all([sum_1 % 2 == 1, sum_2 % 2 == 1, sum_3 % 2 == 1]): # в соответствии с уравнениями устарняем ошибки -
block[0] = change(block[0]) # если они есть, иначе оставляем -
elif sum_3 % 2 == 1: -
block[1] = change(block[1]) -
elif sum_2 % 2 == 1: -
block[2] = change(block[2]) -
elif sum_1 % 2 == 1: -
block[3] = change(block[3])
-
block = list(map(str, block))
-
return ("".join(block[:4]))
-
def reshenie(stroka : str) -> str: # главная функция
-
if len(stroka) < 7: -
return("Строка слишком маленькая")
-
res = ""
-
for i in range(0, len(stroka)//7): -
res += rasschet(stroka[i:i+7])
-
return(res)
-
print(reshenie(str(input())))