Hardware x Software Flashcards
O que é uma máquina multinível?
Uma estrutura que cria máquinas virtuais em diferentes níveis para permitir que computadores executem tarefas desejadas pelos usuários.
Qual é a diferença entre tradução e interpretação?
Tradução: Substitui cada instrução de um nível por uma sequência equivalente em um nível inferior. Executa um programa escrito em L1 (nível 1), substituindo cada instrução por
uma sequência equivalente de instruções em L0 (nível 0);
Interpretação: Executa instruções de um nível superior uma por vez, sem criar um novo programa. Escreve-se um programa em L0 que considere os programas em L1 como
dados de entrada e os executa, uma instrução por vez, sem criar um novo programa em L0.
O que é o nível 0 em uma máquina multinível?
O nível do hardware “verdadeiro”, onde os circuitos executam programas em linguagem de máquina do nível 1.
O que é o nível 1 em uma máquina multinível?
Nível da microarquitetura, composto por ULA (Unidade Lógica e Aritmética) e registradores.
O que é o nível 2 em uma máquina multinível?
Nível da arquitetura do conjunto de instruções, onde os fabricantes publicam manuais de referência da linguagem de máquina.
O que é o nível 3 em uma máquina multinível?
Resposta: Nível do sistema operacional, com novas instruções, organização de memória e capacidade de executar múltiplos programas.
O que é o nível 4 em uma máquina multinível?
Resposta: Nível da linguagem Assembly, onde programas são traduzidos por um assembler.
O que é o nível 5 em uma máquina multinível?
Resposta: Nível de linguagem orientada a problemas, onde programas são traduzidos por compiladores (programadores).
Qual é a função do nível 0?
Executar diretamente os programas em linguagem de máquina do nível 1 através de circuitos eletrônicos.
O que é o nível 1 responsável por fazer?
Realizar operações lógicas e aritméticas através da ULA e registradores.
O que é o nível 2 responsável por fornecer?
O manual de referência da linguagem de máquina para os programadores.
O que o nível 3 permite em termos de execução de programas?
Executar dois ou mais programas simultaneamente com uma organização de memória diferente.
O que é traduzido no nível 4?
Programas em linguagem Assembly são traduzidos para linguagem de máquina por um assembler.
O que é traduzido no nível 5?
Programas em linguagem de alto nível são traduzidos para linguagem de máquina por um compilador.
Qual é a principal diferença entre os níveis 1, 2, 3 e os níveis 4, 5?
Níveis 1, 2, 3: Usam linguagens de máquina numéricas.
Níveis 4, 5: Usam linguagens com palavras e abreviações.
O que é interpretação parcial no nível 3?
O sistema operacional interpreta algumas instruções do nível 3 para executar programas.
O que é executado diretamente no nível 0?
Programas em linguagem de máquina do nível 1, executados pelos circuitos eletrônicos.
O que é o nível 5 voltado para?
Programadores de aplicações que buscam resolver problemas específicos.
O que é o nível 4 voltado para?
Programadores que trabalham com linguagem Assembly.
O nível 3 voltado para?
Fornecer funcionalidades como execução de múltiplos programas e organização de memória.
O que é um algoritmo?
conjunto das regras e procedimentos
lógicos perfeitamente definidos que levam à solução de um problema em um número finito de
etapas.
Qual é um exemplo clássico de algoritmo não-computacional?
Resposta: Uma receita de bolo.
O que são variáveis em um algoritmo?
Resposta: Endereços de dados na memória usados para cálculos, como os ingredientes de uma receita.
O que é um programa?
A representação de um algoritmo em uma linguagem de programação.
Qual é a diferença entre algoritmo e linguagem de programação?
O algoritmo é de alto nível (ex.: Portugol), enquanto a linguagem de programação tem regras sintáticas bem definidas.
Vamos ver alguns exemplos do Portugol e suas explicações abaixo:
inicio
texto nome_pessoa
escrever “Qual o seu nome?”
ler nome_pessoa
escrever “Seja bem vindo,
“, nome_pessoa
fim
Foi declarada uma variável de texto (string),
denominada nome_pessoa. Escreveu a mensagem
“Qual o seu nome?”. Leu alguma coisa digitada
pelo usuário e armazenou na variável
nome_pessoa. Escreveu “Seja bem vindo, “ e o
nome digitado.
No exemplo acima, a execução no monitor seria assim (em vermelho o que você teria digitado):
Qual o seu nome? Concurseiro(a) Aprovado(a)
Seja bem vindo, Concurseiro(a) Aprovado(a)
inicio
inteiro numero, r
escrever “Digite um numero: “
ler numero
r ← numero % 2
se r = 0 entao
escrever “Numero par!”
senao
escrever “Numero impar!”
fimse
fim
Foram declaradas duas variáveis do tipo inteiro:
numero, r. Escreveu a mensagem “Digite um
numero:”.
Leu algo digitado pelo usuário e armazenou em
numero. A variável r recebeu o resultado da divisão
inteira de numero por 2. Se r for igual a 0, então escreve na tela “Numero
par!”, caso contrário escreve “Numero impar!”.
No exemplo acima, a execução no monitor seria assim (em vermelho o que você teria digitado):
Digite um numero: 9
Numero impar!
O que é um algoritmo recursivo?
Recursão ocorre
quando algo é definido em termos de si mesmo ou de suas variações, ou seja, recursão envolve
estruturas aninhadas.
Qual é a condição de parada em um algoritmo recursivo?
Uma regra que define quando o algoritmo deve parar de se chamar (ex.: fatorial de 0 é 1).
O que é um algoritmo iterativo?
Um algoritmo que usa repetições (loops) para resolver problemas, sem chamar a si mesmo.
cálculo do fatorial de 5 completo, abaixo:
fatorial(5) = 5 × fatorial(4) =
5 × (4 × fatorial(3)) =
5 × (4 × (3 × fatorial(2))) =
5 × (4 × (3 × (2 × fatorial(1)))) =
5 × (4 × (3 × (2 × (1 × fatorial(0)))))
=
5 × (4 × (3 × (2 × (1 × 1)))) =
5 × (4 × (3 × (2 × 1))) =
5 × (4 × (3 × 2)) =
5 × (4 × 6) = 5 × 24 = 120
Qual é a principal diferença entre algoritmos recursivos e iterativos?
Resposta: Recursivos chamam a si mesmos, enquanto iterativos usam loops para repetir ações.
O que é um fluxograma?
Resposta: Um diagrama que representa um algoritmo usando símbolos e setas para mostrar o fluxo do processo.