Problemas Computacionais: Classificação e Conceitos

Classificado em Computação

Escrito em em português com um tamanho de 3,27 KB.

Classifique, Conceitue e Exemplifique Problemas Computacionais (Classes e Subclasses):

Problemas Indecidíveis:

  • Impossíveis de serem solucionados;

Problemas Intratáveis:

  • Possíveis com recursos ilimitados, porém impossíveis com recursos limitados;

Problemas Tratáveis:

  • Possíveis de serem solucionados com recursos limitados;

Conjuntos Recursivos e Conjuntos Recursivamente Enumeráveis

Um conjunto é dito Recursivamente Enumerável se ele pode ser representado (solucionado) por uma procedure, e Recursivo se ele pode ser representado (solucionado) por um algoritmo.

Problemas Decidíveis e Indecidíveis X Algoritmos e Procedures

Um problema é decidível (tratável ou não) se e somente se ele é resolvível por um algoritmo, para qualquer entrada pertencente ao seu domínio; caso contrário ele é um problema indecidível.

Em que consiste especificar uma Linguagem de Programação?

Consiste em um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Linguagens de programação podem ser usadas para expressar algoritmos com precisão.

Defina Formalmente Sentença, Forma Sentencial, Linguagem e os Diferentes Tipos de Derivação.

  • Sentença: Uma sentença sobre um alfabeto V, é uma sequência (ou cadeia) finita de símbolos do alfabeto;
  • Forma Sentencial: É uma sequência qualquer (composta por terminais e não terminais) produzida (gerada) a partir do símbolo inicial de uma gramática;
  • Linguagem: É definida pelo conjunto de sentenças que podem ser derivadas a partir do símbolo inicial da gramática que a representa;

Procedure:

É um conjunto finito de passos (instruções), os quais podem ser executados mecanicamente em uma quantidade fixa de tempo e com uma quantidade fixa de esforço.

Algoritmo:

É uma procedure que sempre para; ou seja, uma procedure cuja execução chegará ao final, independentemente de quais sejam suas entradas.

Tradutor

  • É um programa que traduz um programa fonte escrito em uma linguagem qualquer (denominada linguagem fonte) para um programa objeto equivalente escrito em outra linguagem (denominada linguagem objeto)

Compilador

  • É um Tradutor em que a linguagem fonte é uma linguagem de alto nível e a linguagem objeto é uma linguagem de baixo nível (assembly ou máquina)

Interpretador

  • É um programa que interpreta diretamente as instruções do programa fonte, gerando o resultado.

Tradutor / Interpretador

  • Esquema híbrido para implementação de linguagens de programação

Montador

  • É um Tradutor em que o programa fonte está escrito em linguagem assembly e o programa objeto resultante está em linguagem de máquina

Pré-processador

  • É um Tradutor em que tanto o programa fonte quanto o programa objeto estão escritos em linguagens de alto nível

Entradas relacionadas: