• Nenhum resultado encontrado

Aula 3 – MSC - Instrução Condicional

N/A
N/A
Protected

Academic year: 2022

Share "Aula 3 – MSC - Instrução Condicional"

Copied!
4
0
0

Texto

(1)

Aula 3 – MSC - Instrução Condicional

MAC 110/115 – Python - Marcilio

Aula 3 – MSC - Instrução Condicional

Considere o MSC:

Modelo Simplificado de Computador:

Vimos até agora os 3 tipos de instruções básicas:

a) Entrada (leia) b) Saída (imprima)

c) Atribuição (com ou sem expressões aritméticas)

Vimos também que o Processador Central possui internamente a unidade aritmética e lógica.

A instrução condicional

Além das operações aritméticas já vistas, é possível também realizar operações lógicas, ou seja, comparar valores de expressões aritméticas.

Vamos então ao quarto tipo de instrução do MSC, a instrução condicional. Essa instrução permite que após a comparação entre 2 valores o MSC, decida se executa ou não um determinado conjunto de instruções.

Indicaremos isso da seguinte forma:

Aula 3 – MSC - Instrução Condicional

MAC 110/115 – Python - Marcilio

Dispositivo de Saida

Dispositivo de Entrada

Processador Central

Memória

Processador Central Indicador de Instrução

Unidade Lógica e Aritmética

(2)

Aula 3 – MSC - Instrução Condicional

MAC 110/115 – Python - Marcilio

se comparação

então comandos-1 senão comandos-2

Estamos dizendo que se a comparação for verdadeira o MSC deve executar os comandos-1. Caso seja falsa, o MSC deve executar os comandos-2.

Uma comparação é feita entre 2 expressões aritméticas, com os comparadores maior >, menor <, igual =, diferente ‡, maior ou igual ≥ e menor ou igual ≤.

x > y x > 0 a + b ≥ z a – 1 = x * y

Vamos resolver alguns problemas usando a instrução condicional do MSC.

P3.1) Dados 2 números (supor distintos) calcular o maior.

leia a, b se a > b

então imprima a senão imprima b Outra forma:

leia a, b se a > b

então maior ← a senão maior ← b imprima maior

P3.2) Idem, supondo que podem ser iguais. Neste caso imprimir “iguais”

leia a, b se a > b

então imprima a senão se b > a

então imprima b

senão imprima “iguais”

Outra forma:

leia a, b se a = b

então imprima “iguais”

senão se a > b

então imprima a senão imprima b

P3.3) Dados 2 números imprimi-los em ordem crescente (quando o primeiro é menor ou igual ao segundo).

leia a, b se a ≤ b

Aula 3 – MSC - Instrução Condicional

MAC 110/115 – Python - Marcilio

(3)

Aula 3 – MSC - Instrução Condicional

MAC 110/115 – Python - Marcilio

então imprima a, b senão imprima b, a

P3.4) Idem, verificando se são iguais e imprimindo “iguais” neste caso.

leia a, b se a < b

então imprima a, b senão se b < a

então imprima b, a senão imprima “iguais”

A linguagem de máquina para as instruções condicionais

Quando fazemos uma comparação (usando a instrução se), basta comparar o resultado da subtração dos mesmos com zero. Por exemplo, x > y é o mesmo que x – y > 0.

O tratamento de uma instrução condicional pelo MSC consiste em executar um trecho de programa em vez de outro, caso a comparação seja verdadeira ou falsa. Ou seja, executar um trecho e pular o outro. Precisamos então de instruções de desvio para um determinado ponto do programa.

Como as operações aritméticas são feitas usando o Acumulador, vamos definir as instruções de desvio baseadas no valor do Acumulador: São as seguintes:

Desvia se o valor do Acumulador for maior que zero – código 52 Desvia se o valor do Acumulador for maior ou igual a zero – código 53 Desvia se o valor do Acumulador for diferente de zero – código 54 Desvia se o valor do Acumulador for igual a zero – código 55 Desvia se o valor do Acumulador for menor que zero – código 56 Desvia se o valor do Acumulador for menor ou igual a zero – código 57 Precisamos também de uma instrução de desvio incondicional – código 51 Considere agora o problema P3.1 novamente:

P3.1) Dados 2 números (supor distintos) calcular o maior.

leia a, b se a > b

então imprima a senão imprima b

Vamos traduzi-lo para linguagem de máquina, supondo que a e b ocupam respectivamente os endereços 500 e 501 e que o programa comece na posição 100:

Instrução em Linguagem Simbólica

Posição de Memória

Instrução em Linguagem de Máquina

Descrição

leia a, b 100 31500 leia e armazene na posição 500 101 31501 leia e armazene na posição 501 se a > b 102 11500 carregue o conteúdo da posição 500

103 22501 subtraia o conteúdo da posição 501 104 57107 desvie para 107 se Acumulador ≤ 0 então imprima a 105 41500 imprima o conteúdo da posição 500 Aula 3 – MSC - Instrução Condicional

MAC 110/115 – Python - Marcilio

(4)

Aula 3 – MSC - Instrução Condicional

MAC 110/115 – Python - Marcilio

106 51108 desvie incondicionalmente para 108

senão imprima b 107 41501 imprima o conteúdo da posição 501 108

109 110 111

Conclusão

Para codificar as instruções condicionais em linguagem de máquina, precisamos apenas das instruções de desvio definidas acima. Toda comparação pode ser reduzida a uma comparação com zero e, portanto além do desvio incondicional bastam desvios condicionais baseados na comparação com o valor zero.

Aula 3 – MSC - Instrução Condicional

MAC 110/115 – Python - Marcilio

Referências

Documentos relacionados

Para entender se tais redes de sociabilidade realmente ultrapassam os laços familiares, tivemos o cuidado de investigar, como primeiro passo, a presença dos “cumpadres” de

ANO/SÉRIE/TURMA: 2º ano. 01- CLIQUE NO LINK DA SUA VIDEOAULA. A nossa aula de hoje está muito especial. Vamos pôr em prática todo conteúdo que estamos estudando

O valor acrescentado de uma escola permite-nos saber ate que ponto a taxa de sucesso real se desvia ou afasta - em sentido positivo ou negativo - do valor que seria expectavel para

– Indicadores são valores mensuráveis ou variáveis qualitativas usadas para representar, da forma mais fiel possível, uma situação.. fazer com que seus valores sejam

Curso Internacional de Cirurgia-Ortognática Conferência: Implantes Zigomáticos Temas Livres Temas Livres 14:00h Prof. John

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma

Nas compras para entrega imediata, assim entendidas aquelas com prazo de entrega até 30 (trinta) dias contados da data da celebração do ajuste, será dispensada

Expor o lado pessoal do profissional e contar partes de sua vida, além do cotidiano da Fundação, constitui uma forma de reconhecimento da importância de seu trabalho, não