ATPS Teoria da Computação Etapa 3
Por: Ton Silva • 25/3/2016 • Trabalho acadêmico • 1.072 Palavras (5 Páginas) • 435 Visualizações
FACULDADE ANHANGUERA DE TAUBATÉ – UNIDADE II
ATIVIDADES PRÁTICAS SUPERVISIONADAS
CIÊNCIAS DA COMPUTAÇÃO
TEORIA DA COMPUTAÇÃO
PROFESSOR FABIANO SABHA
ETAPA 2 – 2º SEMESTRE / 2014
SEMESTRE: 5º E 6º - TURMA A – ANO: 2014/2
RA | Nome do Aluno |
1299199555 | Welington Henrique da Silva |
4211809704 | Thiago Mendonça Ribeiro |
5827115652 | Elaine A. de Azevedo Melo |
1153373158 | João Marcos de Souza |
TAUBATÉ, DEZEMBRO DE 2014
Sumário
Introdução........................................................................................................................... 3
Relatório 3 – Verificação de acesso dos agentes prisionais................................................ 4
Tabela 2 - Programa de Acesso de Agente Prisional acrescentando o Setor 02...................5
Bibliografia ......................................................................................................................... 7
Introdução
Nesta etapa da ATPS (Atividade Pratica Supervisionada) criamos um modelo para verificação dos códigos de segurança dos cartões dos agentes de segurança, utilizando uma maquina de Turing.
A Maquina de Turing é um dispositivo imaginário criado pelo britânico de 24 anos Alan Mathison Turing, que formou toda a estrutura para fundamentar a ciência da computação.
Turing mostrou que a computação das operações de leitura, escrita e exclusão de símbolos binários poderiam ser satisfeitas por uma máquina que continha uma fita de comprimento ilimitado, com quadrados de tamanho definido sobre ela e um dispositivo com um número finito de estados, que realizava as operações na fita.
O termo algoritmo foi formalizado como um conjunto finito de instruções simples e precisas, que são descritas com um numero finito de símbolos em 1936.
[pic 1]
Relatório 3 - Verificação de Acesso dos Agentes Prisionais.
Nesta etapa do desenvolvimento do projeto foi requerida a criação de uma maquina de Turing com o objetivo de verificar se os cartões de acesso dos agentes prisionais são validos de acordo com o seu setor de acesso, para assim liberar seu acesso de acordo com o seu respectivo setor. Para isso foi utilizado à linguagem de programação Java para simular a verificação realizada pela maquina de Turing.
A verificação é realizada pelo operador condicional IF (Se), que irá verificar toda a fita, representada pelo vetor “entrada”, através do contador “i” que representa o cabeçote da máquina de Turing. Esse processo é obtido através do seguinte código:
Setor 1:
public static void main(String[] args) { // Vetor entrada que corresponde a todos os dados que serão utilizados. Os códigos dos agentes foram gerados através da seguinte forma: String entrada[] = {"SET01;0914;001","ACE07;0920;013","SET01;0202;005","SET09;0687;004","SET01;0510;003","SET01;0808;006","SET01;1109;010"}; // Vetor fita representando a fita da maquina de Turing String fita[] = new String [7]; // Contador i que servirá como índice de posições do vetor entrada int i; // Estrutura de repetição que irá percorrer o vetor for (i = 0; i<7; i++){ // Separação dos campos que compõem os códigos de acesso fita = entrada[i].split(";"); // Verificação se o setor do cartão corresponde ao setor 01 if (fita[0].equals("SET01")){ // Setor é valido e o acesso é permitido System.out.println(“Acesso permitido, Bem vindo: "+entrada[i]); }else { // Setor invalido ou cartão de acesso invalido System.out.println("Aviso acesso negado"); } } } |
Tabela 1: Programa de Acesso de Agente Prisional
Após a execução do programa apresentado acima serão obtidos os seguintes resultados:
Índice do vetor : i | Vetor : Entrada | Posição setor da Fita | Permissão de Acesso |
0 | SET01;0914;001 | SET01 | Permitido |
1 | ACE07;0920;013 | ACE07 | Negado |
2 | SET01;0202;005 | SET01 | Permitido |
3 | SET09;0687;004 | SET09 | Negado |
4 | SET01;0510;003 | SET01 | Permitido |
5 | SET01;0808;006 | SET01 | Permitido |
6 | SET01;1109;010 | SET01 | Permitido |
Setor 02
public static void main(String[] args) { // Vetor entrada que corresponde a todos os dados que serão utilizados. Os códigos dos agentes foram gerados através da seguinte forma: String entrada[] = {"SET02;0914;001","ACE07;0920;013","SET01;0202;005","SET09;0687;004","SET01;0510;003","SET01;0808;006","SET02;1109;010"}; // Vetor fita representando a fita da maquina de Turing String fita[] = new String [7]; // Contador i que servirá como índice de posições do vetor entrada int i; // Estrutura de repetição que irá percorrer o vetor for (i = 0; i<7; i++){ // Separação dos campos que compõem os códigos de acesso fita = entrada[i].split(";"); // Verificação se o setor do cartão corresponde ao setor 01 if ((fita[0].equals("SET01")) || (fita[0].equals(“SET02”))){ // Setor é valido e o acesso é permitido System.out.println("Acesso permitido, Bem vindo: "+entrada[i]); }else { // Setor invalido ou cartão de acesso invalido System.out.println("Aviso acesso negado"); } } } |
Tabela 2: Programa de Acesso de Agente Prisional acrescentando o Setor 02.
...