Файл: Я. С. Синицын индекс группы подпись инициалы, фамилия.docx

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

Категория: Не указан

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

Добавлен: 18.01.2024

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

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

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

Министерство образования и науки Российской Федерации

Рубцовский индустриальный институт (филиал) федерального государственного бюджетного образовательного учреждения высшего образования

«Алтайский государственный технический университет

им. И. И. Ползунова»

Факультет Технический

наименование подразделения

Кафедра Прикладная математика

Отчёт защищён с оценкой / А.С. Шевченко./

подпись руководителя инициалы фамилия

« » 20 г.

ОТЧЁТ

о прохождении учебной эксплуатационной практике

(вид и тип практики)

Студент гр. ИВТ-11 Я.С. Синицын

индекс группы подпись инициалы, фамилия

Руководитель от

кафедры доцент, канд.физ.-мат.наук А.С. Шевченко

должность, ученое звание подпись инициалы, фамилия

Рубцовск 2022

Рубцовский индустриальный институт (филиал) ФГБОУ ВО

«Алтайский государственный технический университет

им. И.И. Ползунова»

Кафедра «Прикладная математика»

Индивидуальное задание

на учебную практику (эксплуатационная практика)

(вид, тип и содержательная характеристика практики по УП)
студенту 1 курса Синицыну Ярославу Сергеевичу группы ИВТ-11

(Ф.И.О.)

Профильная организация РИИ АлтГТУ

(наименование)
График проведения практики:

п/п

Содержание работ, выполняемых на

практике

Сроки выполнения

1.

Прохождение вводного инструктажа; прохождение инструктажа по технике безопасности; получение индивидуального задания; анализ индивидуального задания и его уточнение.

1 неделя

2.

Изучение области автоматизации. Выполнение постановки задачи, описание входных и выходных данных. Описание алгоритма решения задачи.

1 неделя

3.

Разработка программы. Разработка контрольного примера.

2-3 неделя

4

Обобщение полученного опыта работы, подготовка, оформление и защита отчета о практике.

4 неделя


Руководитель практики от РИИ АлтГТУ ШевченкоА.С., доцент

(подпись) (Ф.И.О., должность)

Задание принял к исполнению Синицын Я.С.

(подпись) (Ф.И.О)

Инструктаж по ОТ, ТБ, ПБ, ПВТР

Инструктаж обучающегося по ознакомлению с требованиями охраны труда, техники безопасности, пожарной безопасности, а также правилами внутреннего трудового распорядка проведен16июня 2022 г.
Руководитель практики от РИИ АлтГТУШевченко А.С., доцент

(подпись)

МП
СОДЕРЖАНИЕ

Задача №0019 5

Заача №0474 6

Задача №0763 9

Задача №491 10

Список литературы 14
  1. Задача №0019


Ферзь, Ладья и Конь
Условие задачи

На шахматной доске 8х8 расположены три фигуры: ферзь, ладья и конь. Требуется определить количество пустых полей доски, которые находятся под боем. Для простоты будем полагать, что фигуры могут «бить» через другие фигуры. Например, в рассмотренной справа ситуации будем считать, что ферзь бьет D5 через ладью.
Входные данные

В единственной строке входного файла INPUT.TXT записаны через пробел координаты расположения трех фигур: ферзя, ладьи и коня соответственно. Каждая координата состоит из одного английского символа (от A до H) и одной цифры (от 1 до 8).
Выходные данные

В выходной файл OUTPUT.TXT нужно вывести количество пустых полей, которые бьют указанные во входных данных фигуры.
Код программы(C++)

#include

usingnamespacestd;

intmain()

{

stringa,b,c;

cin>> a >> b >> c;

int a1 =a[0]-64-1;

int a2 =a[1]-48-1;

int b1 =b[0]-64-1;

int b2 =b[1]-48-1;

int c1 =c[0]-64-1;

int c2 =c[1]-48-1;

ints[8][8]={0};

for(int i =0; i <8;++i)

for(int j =0; j <8;++j){

if(abs(a1 - j)== abs(a2 -i))

s[i][j]=1;

else

if(a1 == j || a2 == i)

s[i][j]=1;

else

if(b1 == j || b2 == i)

s[i][j]=1;

else

if((abs(c1 - j)==1&& abs(c2 -i)==2)||(abs(c1 - j)==2&& abs(c2 -i)==1))

s[i][j]=1;

}

s[a2][a1]=0;

s[b2][b1]=0;

s[c2][c1]=0;

int k =0;

for(int i =0; i <8;++i){

for(int j =0; j <8;++j)

if(s[i][j]==1)

++k;

}

cout<< k;

return0;

}
Контрольные тесты:

Тест 1

INPUT.txt

OUTPUT.txt

E7 E6 B4

18

Тест 2

INPUT.txt

OUTPUT.txt

G3 G5 G8

20

Тест 3

INPUT.txt

OUTPUT.txt

F4 G5 E7

16


  1. Заача №0474


Последовательность Кеане
Условие задачи

Бесконечная последовательность битов, предложенная Кеане, равна 001001110001001110110110001… и формируется следующим алгоритмом: вначале записывается 0, потом 001, далее 001001110, то есть, для получения следующего члена, предыдущий записывается дважды, а справа приписывается его отрицание. Элементы этого ряда являются начальными подпоследовательностямиКеане.

Требуется написать программу, которая по заданному n определит N-й бит этой последовательности.
Входные данные

Входной файл INPUT.TXT содержит число N (N ≤ 10200).
Выходные данные

В выходной файл OUTPUT.TXT должен содержать найденный бит.
Код программы(Python)


Контрольныетесты:

Тест 1

INPUT.txt

OUTPUT.txt

3

1

Тест 2

INPUT.txt

OUTPUT.txt

18

0

Тест 3

INPUT.txt

OUTPUT.txt

26

1


    1. Задача №0763


Игра с ладьёй
Условие задачи

На бесконечной вправо и вверх шахматной доске находится ладья. Два игрока передвигают ее по очереди. За один ход разрешено сдвинуть ладью вниз или влево на произвольное (ненулевое) количество клеток так, чтобы ладья не покинула доску. Цель игры – переместить ладью в левый нижний угол, то есть клетку с координатами (1,1). Известно, что оба игрока придерживаются оптимальной стратегии. Игрок №1 ходит первым, при этом он обязан совершить хотя бы один ход. Если первый ход сделать нельзя, то определить победителя также невозможно. Требуется написать программу, которая найдет номер победившего игрока, либо определит, что этого сделать нельзя.
Входные данные

Входной файл INPUT.TXT содержит два натуральных числа, разделенных пробелами: X и Y – координаты ладьи перед первым ходом (X,Y ≤ 109).
Выходные данные

В выходной файл OUTPUT.TXT выведите одно число – номер победившего игрока. Если победителя определить невозможно, то следует вывести 0.
Код программы(Python)

#include
usingnamespacestd;

intmain(){

intx,y;

cin>> x >> y;

if(x==1and y==1)

cout<<0;

else

if(x==y){

cout<<2;

}

else

cout<<1;

return0;

}
Контрольные тесты:

Тест 1

INPUT.txt

OUTPUT.txt

1 1

0

Тест 2

INPUT.txt

OUTPUT.txt

1 6

1

Тест 3

INPUT.txt

OUTPUT.txt

2 7

0














Задача №491


Антипалиндром

Условие задачи

На бесконечной вправо и вверх шахматной доске находится ладья. Два игрока передвигают ее по очереди. За один ход разрешено сдвинуть ладью вниз или влево на произвольное (ненулевое) количество клеток так, чтобы ладья не покинула доску. Цель игры – переместить ладью в левый нижний угол, то есть клетку с координатами (1,1). Известно, что оба игрока придерживаются оптимальной стратегии. Игрок №1 ходит первым, при этом он обязан совершить хотя бы один ход. Если первый ход сделать нельзя, то определить победителя также невозможно. Требуется написать программу, которая найдет номер победившего игрока, либо определит, что этого сделать нельзя.

Входные данные

Входной файл INPUT.TXT содержит строку s. Она состоит только из строчных букв английского алфавита, не пуста, а ее длина не превышает 100 000 символов.

Выходные данные

В выходной файл OUTPUT.TXT выведите ответ на задачу. Если все подстроки s являются палиндромами, выведите в выходной файл NO SOLUTION.
Кодпрограммы(Python)

def pol(s):

l = len(s)

for i in range(l // 2):

if s[i] != s[-1 - i]:

return True

quit()

return False

defmain():

input_file = open("input.txt", "r")

output_file = open("output.txt", "w")

line = input_file.readline().split()

s = str(line[0])

sett = set(s)

print(sett)

if len(sett) > 1:

for i in range(len(s)):

p = s[:(len(s)-i)]

print(p)

if pol(p) == True:

ans = p

break

print(ans)

else:

ans = "NO SOLUTION"

print(ans)

output_file.write(str(ans) + "\n")

input_file.close()

output_file.close()

if __name__ == "__main__":

main()

Контрольныетесты:

Тест 1

INPUT.txt

OUTPUT.txt

aarrar

aarrar

Тест 2

INPUT.txt

OUTPUT.txt

aaarrraaa

aaar

Тест 3

INPUT.txt

OUTPUT.txt

aarraa

NO SOLUTION


Задача№0754

Три толстяка

Условие задачи

Три толстяка решили поспорить: кто из них самый тяжелый. После взвешивания оказалось, что их масса соответственно M1, M2 и M3 килограмм. Считается, что масса толстяка должна быть не менее 94 и не более 727 килограмм.

Помогите определить массу самого тяжелого из них, либо выяснить, что была допущена ошибка при взвешивании.

Входные данные

Входной файл INPUT.TXT содержит три целых числа M1, M2 и M3, разделенные пробелом. Все числа целые и не превосходят 10 000 по абсолютной величине.

Выходные данные

В выходной файл OUTPUT.TXT выведите массу самого тяжелого толстяка в случае корректного взвешивания, либо слово «Error» в противном случае.

Код программы(Python)

f=open('input.txt','r')

a, b, c =map(int,f.read().split())

f.close()

f =open('output.txt','w')

f.write(str(max(a, b, c) if (a <1000and b <1000and c <1000) else'Error' ))

f.close()
Контрольные тесты:

Тест 1

INPUT.txt

OUTPUT.txt

90 250 147

250

Тест 2

INPUT.txt

OUTPUT.txt

210 1000 113

Error

Тест 3

INPUT.txt

OUTPUT.txt

200 500 600

600







  1. Список литературы


  1. Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 1280 с.

  2. Златопольский Д.М. Основы программирования на языке Python. – М.: ДМК Пресс, 2017. – 284 с.

  3. Лутц М. Программирование на Python, том I, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 992 с.

  4. Лутц М. Программирование на Python, том II, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 992 с.

  5. Гэддис Т. Начинаем программировать на Python.  – 4-е изд.: Пер. с англ. – СПб.: БХВ-Петербург, 2019. – 768 с.