ARQUITETURA DE VON NEWMAN

Documentos relacionados
1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma. subtração, multiplicação e a divisão dos números lidos.

1ª LISTA DE EXERCÍCIOS - Extra

Algoritmos Resolvidos Lista 1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma.

Lista de exercícios 01 de Computação Aplicada

Algoritmos Resolvidos Lista 1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma.

Organização e Arquitetura de Computadores. Leslier S. Corrêa

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Exercícios Resolvidos. Java Básico

ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação. Prof. Tarcio Carvalho

Informática Aplicada I Lista: Fluxograma

Disciplina: Algoritmos e Programação Professor: Paulo César Fernandes de Oliveira, BSc, PhD

Universidade Estadual do Sudoeste da Bahia Departamento de Estudos Básicos e Instrumentais Disciplina: Introdução à Ciência da Computação Prof.

LISTA DE EXERCÍCIOS 5 Algoritmos Estruturas de Controle - Seleção

Exercícios: comandos condicionais

3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2

Instituto Federal de Minas Gerais - Campus avançado de Ponte Nova - IFMG Disciplina: Introdução a programação Professor: Saulo Henrique Cabral Silva

Programação de Computadores I - BCC 701 Lista de Exercícios 1 Módulo 1

LISTA DE EXERCÍCIOS. 2) Explique a diferença entre algoritmo computacional e não computacional.

Lista de Exercícios Linguagem C#

Algoritmos e Lógica de Programação. Prof. Marcos Antonio Estremoe. 1 - Faça um programa que imprima a frase: Bem Vindo à Engenharia Firb 2014.

Lista de Exercícios de Estrutura Sequencial Resolvida

Lista de Exercícios 01 Entrada e Saída de Dados

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

EXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão)

Lista 02 Vetores. escreval("agora, digte um nome a ser buscado.") leia(nome)

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 26/10/2015

Resolva os exercícios utilizando a linguagem de programação C

EXERCÍCIOS RESOLVIDOS algoritmos seqüenciais e com estruturas de seleção

Fábio Rodrigues / Israel Lucania

Data de Entrega: 04/05/2016 Lista: Nota: Trabalho Prático. de 0 a 200,00 nenhum crédito (crédito = 0) 40% do valor do saldo médio

Algoritmo e Introdução a Programação. Prof. Josino Rodrigues

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Conceitos básicos de hardware, software e peopleware e modelo de Von Neumann

2ª Lista de Exercícios de Programação I

Exercícios de Programação Lista de Exercícios

RESOLUÇÃO DA AVALIAÇÃO DA SEGUNDA UNIDADE

SEGUNDA LISTA DE EXERCÍCIOS ALGORÍTMOS SEQUENCIAS E CONDICIONAIS

1ª LISTA DE EXERCÍCIOS

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Exercícios de Fixação 2 - RESPOSTAS Professor: Danilo Giacobo

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

Estruturas de Decisão

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

LISTA DE EXERCÍCIO. 2) Fazer um algoritmo para calcular a soma entre dois números e multiplicar o resultado pelo primeiro.

ESTRUTURA CONDICIONAL E SELEÇÃO

Exercícios de Algoritmos (pseudocódigo)

1 ESTRUTURA SEQUENCIAL

Grupo A Exercícios Básicos. 1. Comente o resultado de cada um dos programas abaixo:

Exercícios de Fixação Introdução ao FORTRAN

LISTA DE ATIVIDADES ...

2- Faça um programa que receba duas notas, calcule e mostre a média aritmética e a mensagem que está na tabela a seguir:

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

Exercícios: Comandos de Repetição

EXERCÍCIOS DE ESTRUTURA SEQUENCIAL

Apostila de EXERCÍCIOS e Respostas Algoritmos e Programação

algoritmo "primo" var num, cont, x, i:inteiro inicio

Disciplina de Lógica de Programação - LOPS1

Algoritmos Sequenciais

CAPÍTULO 3 INSTRUÇÕES BÁSICAS

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ALGORITMOS E PROGRAMAÇÃO. Andreza Leite Andreza.leite@univasf.edu.br

CADERNO DE EXERCÍCIOS ALGORITMOS

Programação II Prof. Marcos Antonio Estremote ESTRUTURAS CONDICIONAIS E DE REPETIÇÃO

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

1. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume.

Fundamentos de Programação Lista de Exercícios F

UNIVERSIDADE ESTADUAL VALE DO ACARAÚ EXERCÍCIOS RESOLVIDOS Estruturas de Repetição

SSC510 Arquitetura de Computadores 1ª AULA

Algoritmos e Programação

EXERCÍCIOS DE ESTRUTURAS CONDICIONAIS

Lista de Exercícios de Estrutura Condicional

Algoritmos e Estruturas de Dados. Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras PURO

Estrutura Condicional em C - Lista de Exercícios

Lista de Exercícios Estrutura de Repetição

Lista de Exercícios Desvio Condicional

Programação de Computadores Profa Jacqueline 1

4ª Série de Exercícios Variáveis Compostas Homogêneas 1. Faça um algoritmo que leia, via teclado, 10 valores do tipo inteiro e os guarde na memória.

Estruturas de Seleção Parte II Seleção Encadeada

Unidade Central de Processamento UCP (CPU)

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

Estruturas de Controle de Fluxo

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Aula 12: Memória: Barramentos e Registradores

Fim. Instituto Federal do Pará Professor: Ricardo José Cabeça de Souza Disciplinas: - Algoritmos e Programação de Computadores

2. A influência do tamanho da palavra

Para cada questão a seguir, construa um programa em Linguagem C que faça o que foi solicitado.

Universidade Federal de Goiás Instituto de Informática

LISTA DE EXERCÍCIOS Fazer um algoritmo para leia três valores inteiros, determine e imprima o menor deles.

ESTRUTURAS DE REPETIÇÃO - PARTE 3

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Profº José Roldão Gonçalves Barbosa

Introdução à Computação: Arquitetura von Neumann

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7

Transcrição:

ARQUITETURA DE VON NEWMAN O nome refere-se ao matemático John Von Neumann, que foi considerado o criador dos computadores da forma como são projetados até hoje. Entretanto, outras pessoas também estiverem envolvidas no processo. A idéia do modelo surgiu da necessidade de armazenar programas em um computador, pois, até então, ainda não haviam formas de armazenamento de programas em um computador. Von Neumann e outros pesquisadores descobriram que, utilizando dispositivos de memória em formas de linha de retardo de mercúrio, poderiam armazenar instruções de programas. Ciclo de execução de von Neumann: Ciclo de busca-decodificação-execução de instruções, isto é, busca uma instrução, decodifica-a e a executa; Descreve como a máquina (o hardware) trabalha com as instruções que devem ser executadas. A CPU tem como função: Executar programas que estão armazenados na memória principal; Buscar as instruções desses programas; Examinar essas instruções; Executar as instruções uma após a outra (sequencia); A unidade de controle tem como função: Buscar instruções na memória principal; Determinar o tipo dessas instruções; A unidade lógica aritmética tem como função: Efetuar operações aritméticas; Efetuar operações booleanas (e, ou, not, etc) Essas operações são necessárias para a execução das instruções dos programas; Registradores da CPU: São memórias de alta velocidade; Armazenam resultados temporários dentro da CPU; 1

São usados para controlar as informações; Cada registrador tem uma função e um tamanho (em bits e/ou bytes); São lidos e escritos em alta velocidade pois são internos à CPU; OBS.: a CPU não consegue manter todos os valores manipulados por um programa apenas em registradores, por isso necessita de uma memória para o armazenamento das informações. Mais detalhes serão discutidos à frente. Contador de programa ou Programm Counter: É o registrador mais importante da CPU; Indica a próxima instrução a ser buscada para execução; Registrador de Instrução (IR): Contém a instrução que está sendo executada no momento em questão; Como esses dispositivos eletrônicos conversam? Barramentos! Barramento: é um conjunto de fios paralelos (condutores de energia) que transmistem endereços da memória e dos registradores, dados e também sinais de controle; é por onde transitam os bits Barramentos internos à CPU: quando estão dentro da pastilha da CPU; Barramentos externos à CPU: são aqueles que conectam a memória e os dispositivos de E/S à CPU. Conceitos importantes sobre barramentos: Largura do barramento: é o número de bits que são transportados em uma operação. Exemplo: a largura do barramento do 486 era de 32 bits. Frequencia de operação: é a velocidade com que os dados 2

são transmitidos no barramento. Exemplo: o barramento externo do Pentium I operava a 66Mhz. RESUMO Exemplo de execução de uma instrução em máquinas domodelo de von Neumann: A unidade de controle busca a próxima instrução do programa na memória principal; O contador de programa é usado pela unidade de controle para determinar onde a instrução está localizada; A instrução é decodificada para uma linguagem que a unidade lógica aritmética possa entender; Os operandos de dados requeridos para executar a instrução são carregados da memória e colocados em registradores; A unidade lógica aritmética executa a instrução e coloca os resultados em registradores ou na memória. EXERCÍCIOS PORTUGOL PARA ESTUDOS 1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma. x, y: inteiro escreval("digite o primeiro número: ") leia(x) escreval("digite o segundo número: ") leia(y) escreva("a soma dos números é: ",x+y) 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos. x, y: real escreva("digite o primeiro número: ") leia(x) escreva("digite o segundo número: ") leia(y) escreval("a soma é: ",x+y) escreval("a subtração é: ",x-y) escreval("a multiplicação é: ",x*y) escreval("a divisão é: ",x/y) 3

3. Escrever um algoritmo para determinar o consumo médio de um automóvel sendo fornecida a distância total percorrida pelo automóvel e o total de combustível gasto. distancia, combustivel: real escreval("========== Cálculo de consumo médio de combustível =========") escreva("digite a distância pecorrida: ") leia(distancia) escreva("digite o combustível gasto: ") leia(combustivel) escreval("o consumo médio de combustível do seu veículo é: ",distancia/combustivel) 4. Escrever um algoritmo que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, informar o seu nome, o salário fixo e salário no final do mês. nome: caractere salario: real vendas: real comissao: real salariofinal: real escreval("<><><><><> Sistema de gestão de vendedores <><><><><>") escreva(">>> Digite o nome do vendedor: ") leia(nome) escreva(">>> Digite o salário: ") leia(salario) escreva(">>> Informe a quantidade de vendas deste no mês: ") leia(vendas) // Cálculo da comissão e salário final comissao <- 0.15 * vendas salariofinal <- salario + comissao escreval(">>>>>>>>>> RESUMO <<<<<<<<<<") escreval("-- Nome: ",nome) escreval("-- Salário: ",salario) escreval("-- Salário Final (salário + comissão): ",salariofinal) escreval(">>>>>>>>>><><><><><<<<<<<<<<") 5. Escrever um algoritmo que leia o nome de um aluno e as notas das três provas que ele obteve no semestre. No final informar o nome do aluno e a sua média (aritmética). aluno: caractere notas: vetor[1..3] de real x: inteiro media: real 4

escreval("============== Média de alunos ==============") escreva("digite o nome do aluno: ") leia(aluno) para x de 1 ate 3 faca escreva("digite a ",x,"º nota ") leia(notas[x]) fimpara media <- (notas[1] + notas[2] + notas[3]) / 3 escreval("==============", aluno," ==============") escreval(">>> Média: ",media) escreval("=======================================") 6. Ler dois valores para as iáveis A e B, e efetuar as trocas dos valores de forma que a iável A passe a possuir o valor da iável B e a iável B passe a possuir o valor da iável A. Apresentar os valores trocados. a, b, troca: inteiro escreva("digite o valor(numérico) da iável A: ") leia(a) escreva("digite o valor(numérico) da iável B: ") leia(b) troca <- a a <- b b <- troca escreval("===========================") escreval("o novo valor de A é: ",a) escreval("o novo valor de B é: ",b) escreval("===========================") 7. Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é: F=(9*C+160) / 5, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius. cel, far: real escreval("=-=-=-=-=- Tabela de conversão: Celcius -> Fahrenheit -=-=-=-=-=") escreva("digite a temperatura em Celcius: ") leia(cel) far <- (9*cel+160)/5 escreval("a nova temperatura é: ",far,"ºf") 5

8. Elaborar um algoritmo que efetue a apresentação do valor da conversão em real (R$) de um valor lido em dólar (US$). O algoritmo deverá solicitar o valor da cotação do dólar e também a quantidade de dólares disponíveis com o usuário. rs, us, cotacao, doladisponivel: real escreval("========= Cotação do Dólar ==========") escreva("qual a cotação atual do dólar? ") leia(cotacao) escreva("quantos dólares você possui? ") leia(us) rs <- us/cotacao escreval(us," Dólares equivalem á: ",rs," R$") 9. Faça um algoritmo que receba um valor que foi depositado e exiba o valor com rendimento após um mês. Considere fixo o juro da poupança em 0,70% a. m. correcao, deposito: real escreval("sistema de depósito do Banco do Oeste") escreva("digite o valor depositado: ") leia(deposito) correcao <- 0.7 * deposito escreva("o rendimento do depósito após um mês é de: ",deposito+correcao) 10. A Loja Mamão com Açúcar está vendendo seus produtos em 5 (cinco) prestações sem juros. Faça um algoritmo que receba um valor de uma compra e mostre o valor das prestações. compra, prestacao: real escreval("========== Loja Mamão com Açúcar ==========") escreva("digite o valor da compra: ") leia(compra) prestacao <- compra/5 escreval("o cliente deverá pagar 5 prestações de R$",prestacao," cada") 11. Faça um algoritmo que receba o preço de custo de um produto e mostre o valor de venda. Sabe-se que o preço de custo receberá um acréscimo de acordo com um percentual informado pelo usuário. custo, venda, percent: real 6

escreva("digite o custo do produto: ") leia(custo) escreva("digite o percentual para venda: ") leia(percent) percent <- (percent/100) * custo venda <- custo + percent escreval("o valor de venda é: ",venda) 12. O custo ao consumidor de um carro novo é a soma do custo de fábrica com a percentagem do distribuidor e dos impostos (aplicados, primeiro os impostos sobre o custo de fábrica, e depois a percentagem do distribuidor sobre o resultado). Supondo que a percentagem do distribuidor seja de 28% e os impostos 45%. Escrever um algoritmo que leia o custo de fábrica de um carro e informe o custo ao consumidor do mesmo. custofabrica, custofinal: real escreva("informe o custo de fábrica do veículo: ") leia(custofabrica) custofinal <- custofabrica + (0.28 * custofabrica) + (0.45 * custofabrica) custofinal <- custofinal + (0.45 * custofinal) escreval("o custo para o consumidor final é de: ",custofinal) 13. Faça um algoritmo que receba um número e mostre uma mensagem caso este número seja maior que 10. numero: inteiro escreva("digite um número: ") leia(numero) se numero > 10 entao escreval("o número é maior que 10") 14. Escrever um algoritmo que leia dois valores inteiro distintos e informe qual é o maior. num1, num2: inteiro escreva("digite o primeiro número: ") leia(num1) 7

escreva("digite o segundo número: ") leia(num2) se num1 > num2 entao escreva("o primeiro número ",num1," é maior que o segundo",num2) escreva("o segundo número",num2," é maior que o primeiro",num1) 15. Faça um algoritmo que receba um número e diga se este número está no intervalo entre 100 e 200. numero: inteiro escreva("digite um número: ") leia(numero) se numero >= 100 entao se numero <= 200 entao escreval("o número está no intervalo entre 100 e 200") escreval("o número não está no intervalo entre 100 e 200") escreval("o número não está no intervalo entre 100 e 200") 16. Escrever um algoritmo que leia o nome e as três notas obtidas por um aluno durante o semestre. Calcular a sua média (aritmética), informar o nome e sua menção aprovado (media >= 7), Reprovado (media <= 5) e Recuperação (media entre 5.1 a 6.9). nome: caractere n1, n2, n3, media: real escreval("sistema de médias") escreva("digite a primeira nota: ") leia(n1) escreva("digite a segunda nota: ") leia(n2) escreva("digite a terceria nota: ") leia(n3) media <- (n1 + n2 + n3) / 3 se media >= 7 entao escreval("aluno aprovado!") se media <= 5 entao escreval("aluno reprovado!") escreval("aluno em recuperação...") 8

17. Ler 80 números e ao final informar quantos número(s) est(á)ão no intervalo entre 10 (inclusive) e 150 (inclusive). x, num, intervalo: inteiro para x de 1 ate 80 faca escreva("digite um número: ") leia(num) se num >= 10 entao se num <= 150 entao intervalo <- intervalo + 1 fimpara escreval("ao total, foram digitados",intervalo,"números no intervalo entre 10 e 150") 18. Faça um algoritmo que receba a idade de 75 pessoas e mostre mensagem informando maior de idade e menor de idade para cada pessoa. Considere a idade a partir de 18 anos como maior de idade. x, idade: inteiro para x de 1 ate 75 faca escreva("digite a idade: ") leia(idade) se idade >= 18 entao escreval("fulano é maior de idade!") fimpara 19. Escrever um algoritmo que leia o nome e o sexo de 56 pessoas e informe o nome e se ela é homem ou mulher. No final informe total de homens e de mulheres. nome, sexo: caractere x, h, m: inteiro para x de 1 ate 5 faca escreva("digite o nome: ") leia(nome) escreva("h - Homem ou M - Mulher: ") leia(sexo) escolha sexo caso "H" h <- h + 1 9

caso "M" m <- m + 1 outrocaso escreval("sexo só pode ser H ou M!") fimescolha fimpara escreval("foram inseridos",h," Homens") escreval("foram inseridos",m," Mulheres") 20. A concessionária de veículos CARANGO VELHO está vendendo os seus veículos com desconto. Faça um algoritmo que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o ano do veículo. Até 2000-12% e acima de 2000-7%. O sistema deverá perguntar se deseja continuar calculando desconto até que a resposta seja: (N) Não. Informar total de carros com ano até 2000 e total geral. programa, opc: caractere ano, total, total2000: inteiro valor, valorfinal, desconto: real programa <- "S" enquanto programa <> "N" faca escreva("digite o valor do carro: ") leia(valor) escreva("digite o ano do carro: ") leia(ano) se ano <= 2000 entao desconto <- 0.12 total2000 <- total2000 + 1 total <- total + 1 desconto <- 0.07 total <- total + 1 desconto <- desconto * valor valorfinal <- valor - desconto escreval("o valor do carro com desconto é de: ",valorfinal) escreval("") escreva("deseja continuar calculando? (S) Sim - (N) Não - ") leia(opc) escolha opc caso "S" programa <- "S" caso "N" programa <- "N" outrocaso programa <- "S" 10

escreval("as opções disponíveis são apenas S ou N!!!") leia(opc) fimescolha fimenquanto escreval("foram calculados",total2000," carro(s) com ano até 2000") escreval("total geral: ",total) 21. Escrever um algoritmo que leia os dados de N pessoas (nome, sexo, idade e saúde) e informe se está apta ou não para cumprir o serviço militar obrigatório. Informe os totais. programa, idade, apto: inteiro nome, sexo, saude, opc: caractere totapto, total: inteiro programa <- 1 enquanto programa = 1 faca apto <- 1 saude <- "B" total <- total + 1 escreva("digite o nome: ") leia(nome) escreva("digite o sexo (M/F): ") leia(sexo) escreva("digite a idade: ") leia(idade) se idade < 18 entao apto <- 0 escreval("digite o estado de saúde: ") escreva("(b) Bom - (R) - Ruim - ") leia(saude) se saude = "R" entao apto <- 0 se saude <> "B" entao apto <- 0 se apto = 1 entao totapto <- totapto + 1 escreval("deseja continuar filtrando (S/N)? ") leia(opc) se opc = "N" entao programa <- 0 fimenquanto escreval("resumo geral: ") escreval("foram filtrados: ",total," pessoas") escreval("aptos: ",totapto) escreval("") 11

22. Faça um algoritmo que receba o preço de custo e o preço de venda de 40 produtos. Mostre como resultado se houve lucro, prejuízo ou empate para cada produto. Informe media de preço de custo e do preço de venda. x: inteiro precovenda, precocusto: real mediacusto, mediavenda: real para x de 1 ate 40 faca escreva("digite o preço de custo: ") leia(precocusto) mediacusto <- mediacusto + precocusto escreva("digite o preço de venda: ") leia(precovenda) mediavenda <- mediavenda + precovenda fimpara se precovenda < precocusto entao escreval("houve prejuízo na venda") se precovenda = precocusto entao escreval("houve empate na venda") se precovenda > precocusto entao escreval("houve lucro na venda") escreval("a média de preço de custo foi: ",mediacusto/40) escreval("a média de preço de venda foi: ",mediavenda/40) 23. Faça um algoritmo que receba um número e mostre uma mensagem caso este número seja maior que 80, menor que 25 ou igual a 40. numero: inteiro escreva("digite um número: ") leia(numero) se numero > 80 entao escreval("o número é maior que 80") se numero < 25 entao escreval("o número é menor que 25") se numero = 40 entao escreval("o número é igual a 40") 12

24. Faça um algoritmo que receba N números e mostre positivo, negativo ou zero para cada número. programa, numero: inteiro opc: caractere programa <- 1 enquanto programa = 1 faca escreva("digite um número: ") leia(numero) se numero > 0 entao escreval("positivo") se numero = 0 entao escreval("o número é igual a 0") se numero < 0 entao escreval("negativo") escreva("deseja finalizar? (S/N) ") leia(opc) se opc = "S" entao programa <- 0 fimenquanto 25. Faça um algoritmo que leia dois números e identifique se são iguais ou diferentes. Caso eles sejam iguais imprima uma mensagem dizendo que eles são iguais. Caso sejam diferentes, informe qual número é o maior, e uma mensagem que são diferentes. num1, num2: inteiro escreva("digite o primeiro número: ") leia(num1) escreva("digite o segundo número: ") leia(num2) se num1 = num2 entao escreval("os números são iguais!") se num1 > num2 entao escreval("o número",num1," é maior que o número",num2) escreval("eles são diferentes!!!") 13

escreval("o número",num2," é maior que o número",num1) escreval("eles são diferentes!!!") 26. Faça um algoritmo que leia um número de 1 a 5 e escreva por extenso. Caso o usuário digite um número que não esteja neste intervalo, exibir mensagem: número inválido. numero: inteiro escreva("digite um número de 1 a 5: ") leia(numero) escolha numero caso 1 escreval("um") caso 2 escreval("dois") caso 3 escreval("três") caso 4 escreval("quatro") caso 5 escreval("cinco") outrocaso escreval("número Inválido!!!") fimescolha 27. A concessionária de veículos CARANGO está vendendo os seus veículos com desconto. Faça um algoritmo que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente. O desconto deverá ser calculado sobre o valor do veículo de acordo com o combustível (álcool 25%, gasolina 21% ou diesel 14%). Com valor do veículo zero encerra entrada de dados. Informe total de desconto e total pago pelos clientes. desconto, valorpago, valorveiculo: real totaldesconto, totalpago: real combustivel, opc: caractere valorveiculo <- 1 opc <- "x" enquanto valorveiculo <> 0 faca escreva("digite o valor do veículo: ") leia(valorveiculo) se valorveiculo <> 0 entao escreval("digite o combustível") escreva("(g)asolina / (A)lcool / (D)iesel: ") leia(combustivel) 14

escolha combustivel caso "A" desconto <- 0.25 * valorveiculo caso "G" desconto <- 0.21 * valorveiculo caso "D" desconto <- 0.14 * valorveiculo outrocaso escreval("combustível inválido!") escreval("não haverão descontos!") desconto <- 0 fimescolha valorpago <- valorveiculo - desconto totaldesconto <- totaldesconto + desconto totalpago <- totalpago + valorpago escreval("desconto no veículo: ",desconto) escreval("valor total a ser pago: ",valorpago) escreval("tecle enter para continuar...") leia(opc) fimenquanto escreval("resumo geral: ") escreval("total de descontos: ",totaldesconto) escreval("total Pago pelos clientes: ",totalpago) 28. Escrever um algoritmo para uma empresa que decide dar um reajuste a seus 584 funcionários de acordo com os seguintes critérios: a) 50% para aqueles que ganham menos do que três salários mínimos; b) 20% para aqueles que ganham entre três até dez salários mínimos; c) 15% para aqueles que ganham acima de dez até vinte salários mínimos; d) 10% para os demais funcionários. Leia o nome do funcionário, seu salário e o valor do salário mínimo. Calcule o seu novo salário reajustado. Escrever o nome do funcionário, o reajuste e seu novo salário. Calcule quanto à empresa vai aumentar sua folha de pagamento. salariominimo, novosalario, reajuste, reajustetotal, folha, novafolha, calc, salario: real nome, opc: caractere x: inteiro opc <- "x" escreval("<><><><><> Sistema de reajuste salarial <><><><><>") escreva("digite o valor atual do salário mínimo: ") leia(salariominimo) para x de 1 ate 584 faca 15

escreva("digite o nome: ") leia(nome) escreva("digite o salário: ") leia(salario) calc <- salariominimo * 3 se salario < calc entao reajuste <- 0.50 // Reajuste de 50% reajustetotal <- reajuste + (reajuste * salario) // Valor total de reajuste folha <- folha + salario // Folha de pagamento antiga novosalario <- salario + (reajuste * salario) // Salário reajustado novafolha <- novafolha + novosalario // Nova folha de pagamento escreval(">>> Nome: ",nome) escreval(">>> Reajuste = 50%: ",reajuste*salario) escreval(">>> Novo salário: ",novosalario) escreval(">>> Tecle enter para continuar...") leia(opc) calc <- salariominimo * 10 se salario <= calc entao reajuste <- 0.20 // Reajuste de 20% reajustetotal <- reajuste + (reajuste * salario) // Valor total de reajuste folha <- folha + salario // Folha de pagamento antiga novosalario <- salario + (reajuste * salario) // Salário reajustado novafolha <- novafolha + novosalario // Nova folha de pagamento escreval(">>> Nome: ",nome) escreval(">>> Reajuste = 20%: ",reajuste*salario) escreval(">>> Novo salário: ",novosalario) escreval(">>> Tecle enter para continuar...") leia(opc) calc <- salariominimo * 20 se salario <= calc entao reajuste <- 0.15 // Reajuste de 15% reajustetotal <- reajuste + (reajuste * salario) // Valor total de reajuste folha <- folha + salario // Folha de pagamento antiga novosalario <- salario + (reajuste * salario) // Salário reajustado novafolha <- novafolha + novosalario // Nova folha de pagamento de reajuste reajustado escreval(">>> Nome: ",nome) escreval(">>> Reajuste = 15%: ",reajuste*salario) escreval(">>> Novo salário: ",novosalario) escreval(">>> Tecle enter para continuar...") leia(opc) reajuste <- 0.10 // Reajuste de 10% reajustetotal <- reajuste + (reajuste * salario) // Valor total folha <- folha + salario // Folha de pagamento antiga novosalario <- salario + (reajuste * salario) // Salário 16

novafolha <- novafolha + novosalario // Nova folha de pagamento escreval(">>> Nome: ",nome) escreval(">>> Reajuste = 10%: ",reajuste*salario) escreval(">>> Novo salário: ",novosalario) escreval(">>> Tecle enter para continuar...") leia(opc) fimpara escreval("") escreval("a empresa aumentou a folha de pagamento em:",novafolha - folha," Reais") 29. Faça um algoritmo que receba o número do mês e mostre o mês correspondente. Valide mês inválido. mes: inteiro escreval("digite o número do mês: ") leia(mes) escolha mes caso 1 escreval("janeiro") caso 2 escreval("fevereiro") caso 3 escreval("março") caso 4 escreval("abril") caso 5 escreval("maio") caso 6 escreval("junho") caso 7 escreval("julho") caso 8 escreval("agosto") caso 9 escreval("setembro") caso 10 escreval("outubro") caso 11 escreval("novembro") caso 12 escreval("dezembro") outrocaso escreval("mês inválido!") fimescolha 17

30. Faça um algoritmo que receba o nome a idade, o sexo e salário fixo de um funcionário. Mostre o nome e o salário líquido: SEXO IDADE ABONO M >=30 100,00 < 30 50,00 F >=30 200,00 < 30 80,00 nome, sexo: caractere idade, x: inteiro salario: real escreva("digite o nome do funcionário: ") leia(nome) x <- 1 enquanto x = 1 faca escreva("digite o sexo (F/M): ") leia(sexo) se sexo <> "F" entao se sexo <> "M" entao x <- 1 x <- 0 x <- 0 fimenquanto escreva("digite a idade: ") leia(idade) escreva("digite o salário: ") leia(salario) se sexo = "M" entao se idade >= 30 entao salario <- salario + 100 salario <- salario + 50 se idade >= 30 entao salario <- salario + 200 salario <- salario + 80 escreval(">>> Nome: ",nome) escreval(">>> Salário: ",salario) 18

31. Escrever um algoritmo que leia três valores inteiros distintos e os escreva em ordem crescente. num1, num2, num3: inteiro ordena: vetor[1..3] de inteiro escreva("digite o primeiro número: ") leia(num1) escreva("digite o segundo número: ") leia(num2) escreva("digite o terceiro número: ") leia(num3) se num1 > num2 entao ordena[3] <- num1 ordena[2] <- num2 se num3 > num1 entao ordena[3] <- num3 ordena[2] <- num1 ordena[1] <- num2 se num3 > num2 entao ordena[3] <- num1 ordena[2] <- num3 ordena[1] <- num2 ordena[3] <- num1 ordena[2] <- num2 ordena[1] <- num3 ordena[3] <- num2 ordena[2] <- num1 se num3 > num2 entao ordena[3] <- num3 ordena[2] <- num2 ordena[1] <- num1 se num3 > num1 entao ordena[3] <- num2 ordena[2] <- num3 ordena[1] <- num1 ordena[3] <- num2 ordena[2] <- num1 ordena[1] <- num3 escreval("os números em ordem crescente são: ") escreval(">",ordena[1]) 19

escreval(">",ordena[2]) escreval(">",ordena[3]) 32. Dados três valores A, B e C, em que A e B são números reais e C é um caractere, pede-se para imprimir o resultado da operação de A por B se C for um símbolo de operador aritmético; caso contrário deve ser impressa uma mensagem de operador não definido. Tratar erro de divisão por zero. A, B: real C: caractere escreva("digite o primeiro número: ") leia(a) escreva("digite o segundo número: ") leia(b) escreva("digite a operação desejada (+ - / *): ") leia(c) escolha C caso "+" escreval("a+b =",A+B) caso "-" escreval("a-b =",A-B) caso "*" = escreval("a*b =",A*B) caso "/" se B = 0 entao escreval("erro, um número não pode ser dividido por 0!") escreval("a/b =",A/B) outrocaso escreval("operador não definido!") fimescolha 33. Escrever um algoritmo que leia três valores inteiros e verifique se eles podem ser os lados de um triângulo. Se forem, informar qual o tipo de triângulo que eles formam: equilátero, isóscele ou escaleno. Propriedade: o comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois lados. Triângulo Equilátero: aquele que tem os comprimentos dos três lados iguais; Triângulo Isóscele: aquele que tem os comprimentos de dois lados iguais. Portanto, todo triângulo equilátero é também isóscele; Triângulo Escaleno: aquele que tem os comprimentos de seus três lados diferentes. la, lb, lc, triangulo: inteiro escreva("digite o lado A do triângulo: ") leia(la) 20

escreva("digite o lado B do triângulo: ") leia(lb) escreva("digite o lado C do triângulo: ") leia(lc) se la < (lc+lb) entao triangulo <- 1 se lb < (lc + la) entao triangulo <- 1 se lc < (lb + la) entao triangulo <- 1 se triangulo = 1 entao se la = lb entao se lb = lc entao escreval("é um triângulo equilátero!") escreval("é um triângulo isórcele") se lb = lc entao escreval("é um triângulo isórcele") escreval("é um triângulo escaleno") 34. A escola APRENDER faz o pagamento de seus professores por hora/aula. Faça um algoritmo que calcule e exiba o salário de um professor. Sabe-se que o valor da hora/aula segue a tabela abaixo: Professor Nível 1 R$12,00 por hora/aula Professor Nível 2 R$17,00 por hora/aula Professor Nível 3 R$25,00 por hora/aula nivel, horas: inteiro escreval(">>>>> Escola APRENDER <<<<<") escreva("digite o nível do professor (1/2/3): ") leia(nivel) escreva("digite o número de horas trabalhadas: ") leia(horas) se nivel = 1 entao escreval("o professor ganha",horas*12) se nivel = 2 entao escreval("o professor ganha",horas*17) 21

escreva("o professor ganha",horas*25) 35. Elabore um algoritmo que, dada a idade de um nadador. Classifique-o em uma das seguintes categorias: Infantil A = 5-7 anos Infantil B = 8-10 anos juvenil A = 11-13 anos juvenil B = 14-17 anos Sênior = 18-25 anos Apresentar mensagem idade fora da faixa etária quando for outro ano não contemplado. idade: inteiro escreva("digite a idade do nadador: ") leia(idade) escolha idade caso 5,6,7 escreval("infantil A") caso 8,9,10 escreval("infantil B") caso 11,12,13 escreval("juvenil A") caso 14,15,16,17 escreval("juvenil B") caso 18,19,20,21,22,23,24,25 escreval("sênior") outrocaso escreval("idade fora da faixa etária") fimescolha 36. Faça um algoritmo que calcule o valor da conta de luz de uma pessoa. Sabe-se que o cálculo da conta de luz segue a tabela abaixo: Tipo de Cliente Valor do KW/h 1 (Residência) 0,60 2 (Comércio) 0,48 3 (Indústria) 1,29 residencia, kw: inteiro consumo: real 22

escreval("informe o tipo de residência: ") escreval("1 - Residência") escreval("2 - Comércio") escreval("3 - Indústria") leia(residencia) escolha residencia caso 1 escreva("informe a quantidade de KW gastos no mês: ") leia(kw) consumo <- kw * 0.60 escreval("valor da conta: ",consumo) caso 2 escreva("informe a quantidade de KW gastos no mês: ") leia(kw) consumo <- kw * 0.48 escreval("valor da conta: ",consumo) caso 3 escreva("informe a quantidade de KW gastos no mês: ") leia(kw) consumo <- kw * 1.29 escreval("valor da conta: ",consumo) outrocaso escreval("tipo de residência inválido!") fimescolha 23