Файл: Отчет по лабораторной работе 1 Дисциплина Теоретические основы информационных процессов и систем.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 24.10.2023

Просмотров: 19

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство науки и высшего образования

Федеральное государственное бюджетное образовательное учреждение
высшего образования

«Уфимский государственный авиационный технический университет»

Кафедра АСУ

Отчет по лабораторной работе №1

Дисциплина: «Теоретические основы информационных процессов и систем»

Выполнил: ст. гр. Беззубов Сергей

Проверила:


Уфа – 2023
Лабораторная работа №1

Вариант 5

На примере языка Pascal выполнено следующее:


  1. procedure zamena(var s:string);

  2. var i,j,h:byte;

  3. s1:string;

  4. begin

  5. i:=length(s); //начнем с конца

  6. while i>=1 do

  7. begin

  8. h:=0;

  9. j:=i;

  10. while (j>=1)and(s[j]=s[i]) do //пока символы равны s[i]

  11. begin

  12. h:=h+1; //считаем и идем к началу

  13. j:=j-1;

  14. end;

  15. if h>1 then //если их больше 1

  16. begin

  17. delete(s,j+1,h-1);//удалям все одинаковые кроме одного

  18. s1:='('+inttostr(h)+')'; //такую строку

  19. insert(s1,s,j+1); //вставляем перед оставшися символом

  20. i:=j; //переходим вперед на следующий символ

  21. end

  22. else i:=i-h; //если не больше 3, просто перешагиваем

  23. end;

  24. writeln(s);

  25. end;

  26. 26.

  27. var s,s1:string;

  28. n,i:integer;

  29. begin

  30. write('Количество строк n=');

  31. readln(n);

  32. writeln('Введите ',n,' строк символов без круглых скобок с группами одинаковых символов');

  33. for i:=1 to n do

  34. begin

  35. readln(s);

  36. zamena(s);

  37. end;

  38. end.





Лабораторная работа №2

Вариант 6


На примере языка Python выполнено следующее:

  1. def change(num: int) -> int: # функция смены цифры

  2. if num == 1: return 0

  3. else: return 1




  1. def rasschet(block: str) -> str: # функция рассчета блока

  2. block = list(map(int, list(block)))



  1. sum_1 = sum(block[:3]) + block[4] # контрольные суммы

  2. sum_2 = sum(block[:2]) + block[3] + block[5]

  3. sum_3 = block[0] + sum(block[2:4]) + block[6]



  1. if all([sum_1 % 2 == 1, sum_2 % 2 == 1, sum_3 % 2 == 1]): # в соответствии с уравнениями устарняем ошибки

  2. block[0] = change(block[0]) # если они есть, иначе оставляем

  3. elif sum_3 % 2 == 1:

  4. block[1] = change(block[1])

  5. elif sum_2 % 2 == 1:

  6. block[2] = change(block[2])

  7. elif sum_1 % 2 == 1:

  8. block[3] = change(block[3])



  1. block = list(map(str, block))



  1. return ("".join(block[:4]))



  1. def reshenie(stroka : str) -> str: # главная функция



  1. if len(stroka) < 7:

  2. return("Строка слишком маленькая")



  1. res = ""



  1. for i in range(0, len(stroka)//7):

  2. res += rasschet(stroka[i:i+7])



  1. return(res)



  1. print(reshenie(str(input())))