Simulado de Algoritmos - Respostas



Documentos relacionados
Aula 3 Desvio Condicional

Linguagem algorítmica: Portugol

ALGORITMOS E FLUXOGRAMAS

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Conceitos básicos da linguagem C

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA DISCUSSÃO DOS EXERCÍCIOS E CONSTRUÇÃO DE PROGRAMAS SEQUENCIAIS. Prof. Dr. Daniel Caetano

CURSO DE INFORMÁTICA. Algoritmos. Parte 4. Ricardo José Cabeça de Souza

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

Introdução à Programação. João Manuel R. S. Tavares

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

7. Estrutura de Decisão

Programação: Estruturas de seleção

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Reaproveitando algoritmos

Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA TESTE DE MESA

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Estruturas de Repetição

Lista de Exercícios Fluxograma, Estruturas de Sequência e Decisão Prof: Yuri Frota

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Bacharelado em Ciência e Tecnologia BC-0505 Processamento da Informação Lista de Exercícios EXTRA Nº 02 Algoritmos Estruturas de Seleção

Resolução da lista de exercícios de casos de uso

OBI2010 Caderno de Tarefas

JavaScript (ou JScript)

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

Unidade 5: Sistemas de Representação

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Introdução a Computação

Estrutura Condicional em Java

CURSO DE INFORMÁTICA. Algoritmos. Parte 3. Ricardo José Cabeça de Souza

Definição. de solução de um problema passo-a-passo. Representa a lógica l. passo.

Trabalho de laboratório Avaliação semestral Exame final MÉDIA PONDERADA CONCEITO

Especificação do Trabalho Prático

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Organização de Computadores Software

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

TÉCNICAS DE PROGRAMAÇÃO

Tecnologia da Informação. Visão Geral sobre Informática

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Universidade Federal de São João Del Rei - UFSJ

INTRODUÇÃO À LINGUAGEM C++

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

TUTORIAL AMBIENTE WEB PORTUGOL

DIAGRAMA DE ATIVIDADES

Linguagem de Programação I. Orientação a Objetos em Java

Programação para web JavaScript

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Boletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema

A estrutura de repetição em um algoritmo consiste na execução de um trecho do mesmo levando em consideração certas condições imposta pelo algoritmo.

Computação II Orientação a Objetos

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de A linguagem C

MANZANO, José Augusto N. G., Estudo Dirigido: ALGORITMOS - Editora Érica, ÍNDICE

Especificação do Trabalho

ALP Algoritmos e Programação

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Comandos de repetição while

Capítulo 8. CICLOS. Tabela 8.1 Programa8a.f90.

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;

Especificação Operacional.

PROGRAMAÇÃO JAVA. Parte 1

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Usando um Simulador da Máquina de Turing Claudio Kirner 2010

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Análise e Projeto de Software

Sessão 2 UFCD 0804 Algoritmos

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Linguagens de. Aula 01. Profa Cristiane Koehler

Atua no acompanhamento das atividades, através da implementação de políticas e normas; Busca a satisfação do cliente.

P4-MPS.BR - Prova de Conhecimento do Processo de Aquisição do MPS.BR

Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4

Algoritmos e Programação Parte Teórica

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

Administrando um curso em Moodle (1.6.5+)

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Introdução à Engenharia de Computação

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

3. Estruturas de seleção

Introdução. Introdução. Objetivos da Aula. Bases Computacionais da Ciência(BC-0005)

Testando e Comparando Valores

Trabalho Computacional 2. Aplicativo para Gestão Financeira. Grupos: Os trabalhos devem ser feitos individualmente ou em duplas.

1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir:

Resolução de problemas e desenvolvimento de algoritmos

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Sistemas de Representação e Raciocínio

Sistemas de Apoio à Decisão

Carregando o Sistema de Ponto Biométrico

A linguagem C oferece quatro estruturas de decisão: if, if-else, switch e o operador condicional.

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

9 Comandos condicionais

Transcrição:

Simulado de Algoritmos - Respostas 1. Descreva o processo de criação de programas, desde o entendimento do problema até a obtenção do resultado esperado, por meio de sua execução, citando os passos a serem seguidos. Passo 1: Entender o problema a ser resolvido. Passo 2: Elaborar uma solução, usando diagramas de atividades. Passo 3: Escrever o código-fonte correspondente a solução elaborada. Passo 4: Compilar o código-fonte, gerando o programa executável. Passo 5: Corrigir eventuais erros de compilação e compilar novamente até que não haja mais erros. Passo 6: Testar o programa para verificar se existem erros de lógica (de execução). Passo 7: Corrigir eventuais erros de lógica até que o programa esteja produzindo o resultado esperado. 2. Defina sucintamente os seguintes conceitos: a. Algoritmo: seqüência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. b. Português Estruturado: pseudo-linguagem de programação usada para o aprendizado de programação de computadores. c. Código-fonte: texto escrito em português estruturado ou em outra linguagem de programação, que deverá ser compilado para gerar o programa executável. d. Programa Executável: resultado da compilação do código-fonte; pode ser executado em um computador. e. Linguagem de Programação: usada para criar código-fonte; C, Pascal, Java, etc. f. Diagrama de Atividades: diagrama para elaboração de fluxos de atividades; é útil para o desenvolvimento de soluções baseadas em algoritmos. g. Instrução Computacional: comando a ser executado pelo computador, existente em uma linguagem de programação. h. Operadores: usados para compor as expressões computacionais; podem ser aritméticos, lógicos ou relacionais. i. Precedência de Operadores: ordem em que os operadores são avaliados pelo computador durante a execução de um programa. j. Variável: posição de memória que se destina a armazenar valores e conteúdos durante a execução de um programa; deve ter um tipo e um nome que dependem da linguagem em que se está trabalhando. k. VisuAlg: ferramenta de software usada para interpretar um código-fonte escrito em português estruturado; tem finalidade didático-pedagógica.

3. Explique as razões para se escrever um código-fonte claro e organizado, respeitando a identação e usando comentários. Um programa de computador deve ser alterado para refletir as mudanças na forma como as pessoas e as empresas executam suas tarefas. A organização, o uso de comentários e a identação facilitam sobremaneira o processo de atualização dos programas, reduzindo os custos dessa atividade. 4. Explique a diferença entre os erros de compilação e os de lógica ocorridos na execução do programa. Erro de compilação: acontece em virtude do uso inadequado da linguagem de programação e é informado pelo compilador. Erro de execução (ou de lógica): acontece em virtude da implementação de um algoritmo inadequado para a solução do problema proposto. 5. Escreva as expressões abaixo usando a sintaxe do Português Estruturado. a. (2 * X ^ 2 3 * X ^ (x + 1)) / 2 + ((X + 1) ^ (1 / 2)) / X b. ( 6 ^ X + 2 * Y) ^ (1 / 2) / 3 ^ 9 6. Resolva as expressões lógicas, determinando se a expressão é verdadeira ou falsa. a. 2 > 3 FALSO b. (6 < 8) ou (3 > 7) VERDADEIRO c. não (2 < 3) FALSO d. (5 >= 6 ou 6 < 7 ou não (a + 5 6 = 8) {onde a = 5} VERDADEIRO e. (34 > 9 e 5 + u = 34) ou (5 = 15 / 3 e 8 > 12) = ((u = 29) e 8 > 12) {onde u = 29} FALSO f. 2 > 3 e qv {onde qv representa qualquer valor} FALSO

g. 2 < 3 ou qv {onde qv representa qualquer valor} VERDADEIRO 7. Faça um algoritmo que leia o nome de um piloto, uma distância percorrida em km e o tempo que o piloto levou para percorrê-la (em horas). O programa deve calcular a velocidade média (Velocidade = Distância / Tempo) em km/h, e exibir a seguinte frase: A velocidade média do <nome do piloto> foi <velocidade media calculada> km/h. algoritmo "respostas" nomepiloto: caracter distancia: real tempo: real escreva("informe o nome do piloto: ") leia(nomepiloto) escreva("informe a distância percorrida (em Km): ") leia(distancia) escreva("informe o tempo (em horas): ") leia(tempo) escreva("a velocidade média do ", nomepiloto) escreva(" foi ", distancia / tempo, " km/h")

8. Em uma pizzaria, cada tulipa de chope custa R$ 2,80 e uma pizza mista grande custa R$10,00, mais R$1,50 por tipo de cobertura pedida (queijo, presunto, banana, etc.). Uma turma vai à pizzaria e pede uma determinada quantidade de chopes e uma pizza grande com uma determinada quantidade de coberturas. Faça um algoritmo que calcule a conta e, sabendo quantas pessoas estão à mesa, quanto cada um deve pagar. Inclua uma gorjeta de 10% sobre o valor, como parte da conta. algoritmo "respostas" qtdpessoas: inteiro qtdchopes: inteiro qtdcoberturas: inteiro conta: real escreva("informe a quantidade de pessoas: ") leia(qtdpessoas) escreva("informe a quantidade de chopes: ") leia(qtdchopes) escreva("informe a quantidade de coberturas: ") leia(qtdcoberturas) conta <- (10 + 2.80 * qtdchopes + 1.5 * qtdcoberturas) * 1.1 escreval("a conta total foi: R$", conta:6:2) escreva("o valor por pessoa foi: R$", (conta / qtdpessoas):6:2)

9. Escreva um algoritmo que calcule o número de notas que deve ser dado de troco para um pagamento efetuado. O algoritmo deve ler o valor a ser pago e o valor efetivamente pago. Supor que o troco seja dado em notas de 50, 20, 10, 5, 2 e 1 real, dando sempre preferência as notas de maior valor. algoritmo "respostas" preco: inteiro valorpago: inteiro troco: inteiro escreva("informe o preço: ") leia(preco) escreva("informe o valor pago: ") leia(valorpago) troco <- valorpago - preco escreval("a quantidade de notas de R$50,00: ", troco \ 50) troco <- troco - (troco \ 50) * 50 escreval("a quantidade de notas de R$20,00: ", troco \ 20) troco <- troco - (troco \ 20) * 20 escreval("a quantidade de notas de R$10,00: ", troco \ 10) troco <- troco - (troco \ 10) * 10 escreval("a quantidade de notas de R$5,00: ", troco \ 5) troco <- troco - (troco \ 5) * 5 escreval("a quantidade de notas de R$2,00: ", troco \ 2) troco <- troco - (troco \ 2) * 2 escreval("a quantidade de notas de R$1,00: ", troco)

10. Fazer um algoritmo que escreva o conceito de um aluno, dada a sua nota. Supor notas inteiras somente. O critério para conceitos é o seguinte: notas inferiores a 3, conceito E; notas de 3 a 5, conceito D; notas 6 e 7, conceito C; notas 8 e 9, conceito B; nota 10, conceito A. algoritmo "respostas" nota: inteiro escreva("informe a nota: ") leia(nota) se (nota < 3) entao escreva("conceito E") se (nota >= 3) e (nota <= 5) entao escreva("conceito D") se (nota = 6) ou (nota = 7) entao escreva("conceito C") se (nota = 8) ou (nota = 9) entao escreva("conceito B") se (nota = 10) entao escreva("conceito A") escreva("nota Invalida!!!")

11. A empresa XYZ decidiu conceder um aumento de salários a seus funcionários de acordo com a o seguinte critério: 0 a 400, 15%; 401 a 700, 12%; 701 a 1000, 10%; 1001 a 1800, 7%; 1801 a 2500, 4%; acima de 2500, sem aumento. Escrever um algoritmo que lê, para cada funcionário, o seu nome e o seu salário atual. Após receber estes dados, o algoritmo calcula o novo salário e escreve na tela as seguintes informações: <nome do funcionário> <% de aumento> <salário atual> <novo salário> algoritmo "reapostas" salario: inteiro percaumento: real nome: caracter escreva("informe o nome: ") leia(nome) escreva("informe o salario: ") leia(salario) se (salario > 0) e (salario <= 400) entao percaumento <- 0.15 se (salario >= 401) e (salario <= 700) entao percaumento <- 0.12 se (salario >= 701) e (salario <= 1000) entao percaumento <- 0.10 se (salario >= 1001) e (salario <= 1800) entao percaumento <- 0.07 se (salario >= 1801) e (salario <= 2500) entao percaumento <- 0.04 se (salario > 2500) entao percaumento <- 0 escreva("salario Invalido!!!") escreva(nome, " - ", percaumento * 100, "% - R$", salario:10:2) escreva(" - R$", (salario * (1 + percaumento)):10:2)

12. Faça um programa que lê 4 valores I, A, B e C onde I é um número inteiro e positivo e A, B, e C são quaisquer valores reais. O programa deve escrever os valores lidos e: se I = 1, escrever os três valores A, B e C em ordem crescente; se I = 2, escrever os três valores A, B e C em ordem decrescente; se I = 3, escrever os três valores A, B, e C de forma que o maior valor fique entre os outros dois; se I não for um dos três valores acima, dar uma mensagem indicando isto. algoritmo "reapostas" i: inteiro a: real b: real c: real escreva("informe a forma de classificacao: ") leia(i) escreva("informe a: ") leia(a) escreva("informe b: ") leia(b) escreva("informe c: ") leia(c) se (i = 1) entao se (a < b) e (a < c) entao escreva(a, " ") se (b < c) entao escreva(b, " ", c) escreva(c, " ", b) se (b < a) e (b < c) entao escreva(b, " ") se (a < c) entao escreva(a, " ", c) escreva(c, " ", a) escreva(c, " ") se (b < a) entao escreva(b, " ", a) escreva(a, " ", b) {continua na próxima página...}

se (i = 2) entao se (a > b) e (a > c) entao escreva(a, " ") se (b > c) entao escreva(b, " ", c) escreva(c, " ", b) se (b > a) e (b > c) entao escreva(b, " ") se (a > c) entao escreva(a, " ", c) escreva(c, " ", a) escreva(c, " ") se (b > a) entao escreva(b, " ", a) escreva(a, " ", b) se (i = 3) entao se (a > b) e (a > c) entao escreva(b, " ", a, " ", c) se (b > c) e (b > a) entao escreva(a, " ", b, " ", c) escreva(a, " ", c, " ", b) se (i < 1) ou (i > 3) entao escreva("classificacao Invalida!!!")