CURSO TÉCNICO EM INFORMÁTICA
Disciplina:
Lógica de Programação
Prof. Luiz Claudio Ferreira de Souza
E-mail: [email protected]
Belém / PA
2017
Sumário
Introdução à Programação ..................................................................................................... 3
Atividades: ........................................................................................................................ 10
Variáveis e Estrutura Condicional ......................................................................................... 12
Estruturas de Repetição ....................................................................................................... 21
Estrutura Enquanto ..........Faca ........................................................................................ 21
Atividades: ........................................................................................................................ 22
Estrutura Repita ate......... ................................................................................................. 23
Atividades: ........................................................................................................................ 24
Estrutura para.........faca ....................................................................................................... 25
Atividades: ........................................................................................................................ 26
Vetores.................................................................................................................................. 27
ATIVIDADES ....................................................................................................................... 29
Fluxograma ........................................................................................................................... 32
Atividades: ........................................................................................................................ 35
REVISÃO – Questões de Concursos ...................................................................................... 38
3
Introdução à Programação
Os computadores são equipamentos eletromecânicos que necessitam serem programados
para executarem determinadas tarefas.
Várias linguagens de computadores com suas respectivas sintaxes (na informática, a sintaxe de
cada linguagem de programação é definida com uma gramática formal) foram desenvolvidas
para serem utilizadas para que essas máquinas sigam uma seqüência de passos definidos
logicamente para desenvolvimento de certo objetivo, mas existe a necessidade de requisitos
por parte do programador como habilidades, conhecimentos e qualidades pessoais:
Habilidades Necessárias:
=> Boa comunicação oral;
=> Boa memória;
=> Habilidade em digitar;
=> Boa leitura;
=> Conhecimento da língua estrangeira (Inglês)
Conhecimentos Necessários:
Conhecer linguagens de programação; Conhecer hardware; Conhecer Sistemas Operacionais; Manter-se atualizado com novos métodos e tecnologias e pesquisa de informações on-
line ou em manuais de instrução;
Qualidades Pessoais:
Devem ser metódicos, pacientes, cuidadosos e precisos no trabalho; Sejam pessoas adaptáveis e capazes de trabalhar sob pressão;
4
Devem saber relacionar-se bem com as pessoas (superiores e subordinados)
As responsabilidades do programador diante de um novo projeto são muitas, entre elas
destacamos:
Discutir a necessidade do cliente; Elaborar as especificações do projeto; Planejar como os programas irão funcionar; Escrever programas; Executar testes nos softwares desenvolvidos; Identificar erros nos programas desenvolvidos (depurações); Preparar Manuais sobre programas; Manter e atualizar programas Construir protótipos;
Com o passar do tempo, as linguagens de programação sofreram evoluções, principalmente na
interação do programador com o computador..
Evolução das linguagens de programação:
Linguagem de Máquina: Instruções escritas em formato binário Linguagem de baixo nível: Associações com linguagem de máquina
Ex: Assembler
Linguagem de médio nível: Utiliza comandos na forma de palavra para descrição de programas. Ex: Linguagem C , Java.
Linguagem de alto nível: Semelhante à linguagem de médio nível, porém não permite acesso a posições de memória via endereço. Ex: Cobol, Fortran, Pascal.
Linguagem de altíssimo nível: Não exige conhecimento de programação para produzir resultados. Seus comandos são poderosos e você especifica o que faz e como faz. Ex: Focal, Mantis
Linguagem Funcional: Orientada à soluções, possui um poderoso repertorio de funções básicas e permite que novas funções sejam acrescentadas. Ex: Apl, Lisp
Algorítmos o que são?
São estruturas lógicas para a resolução de determinado problema
5
Refinamento:
Podemos deixar um algoritmo mais completo e detalhado, observe o
exemplo abaixo:
Algoritmos não Computacionais: São algoritmos realizados, que não são
desenvolvidos para computadores.
Algoritmos Computacionais: São algoritmos realizados, que são
desenvolvidos para computadores.
6
Algo que sempre, para quem está iniciando no mundo da programação de
computadores, tem que possuir é disciplina para desenvolver muitos
algoritmos para ter um desenvolvimento satisfatório no que é
fundamental para o desenvolvimento de software, o raciocínio lógico.
Vamos a um exemplo de algoritmos computacional:
Algorítmo para mostrar o nome da nossa cidade
algoritmo "Mostrar"
// Função : Mostrar o nome da cidade
// Autor : Luiz Claudio Ferreira de Souza
// Data : 28/12/2011
// Seção de Declarações
var
inicio
// Seção de Comandos
Escreva("BELÉM-PARÁ-BRASIL")
fimalgoritmo
Algorítmo para soma de dois números
algoritmo "soma de dois números"
// Função : Realiza a soma de dois números
// Autor : Luiz Claudio F. De Souza
// Data : 02/01/2012
// Seção de Declarações
var
A:INTEIRO
B:INTEIRO
R:INTEIRO
inicio
// Seção de Comandos
LEIA (A)
LEIA (B)
R:=A+B
ESCREVA(R)
7
fimalgoritmo
Explicação sobre a composição do algorítmo acima
// -> é utilizado para comentário dentro do algorítmo
Seção de Declarações -> aqui é realizada a declaração das variáveis
presentes no algorítmo
Tipo Inteiro: para valores inteiros
Real: Para valores com números decimais
caracter: para uso de cadeia de caracteres
início -> local onde se dá o inicio do algorítmo
Leia -> Comando para entrada de dados
Escreva -> Comando para saída de dados
fimalgoritmo -> local onde se dá o fim do algorítmo
Algorítmo soma mais completo e detalhado (Mais Refinado)
algoritmo "soma de dois números mais completo"
// Função : Realiza a soma de dois números Quaisquer
// Autor : Luiz Claudio F. De Souza
// Data : 29/04/2008
// Seção de Declarações
var
A:INTEIRO
B:INTEIRO
R:INTEIRO
inicio
// Seção de Comandos
Escreva("Qual O PRIMEIRO NÚMERO?")
LEIA (A)
ESCREVA("QUAL O SEGUNDO NÚMERO?" )
LEIA (B)
ESCREVA("O VALOR DA SOMA É ---> " )
R:=A+B
ESCREVA(R)
fimalgoritmo
8
Exemplo de algorítmo que calcula a Média Aritmética entre duas notas
algoritmo "Média entre duas notas"
// Função : Calcula a média aritmética entre duas notas
// Autor : Luiz Claudio F. de Souza
// Data : 29/04/2008
// Seção de Declarações
var
A:REAL
B:REAL
R:REAL
inicio
// Seção de Comandos
ESCREVA ("Qual a primeira nota ----> ")
LEIA (A)
Escreva ("Qual a segunda nota ----> ")
LEIA (B)
Escreva ("Resultado da Média é ----> ")
R:=(A+B)/2
ESCREVA(R)
Fimalgoritmo
Algoritmo para calcular o triplo de um número qualquer
algoritmo "numero ao triplo"
// Função : Determinado numero ao triplo
// Autor : Luiz Claudio Ferreira de Souza
// Data : 28/12/2011
// Seção de Declarações
var
n:inteiro
x:real
inicio
// Seção de Comandos
Escreva("De qual número você deseja o triplo?")
Leia(n)
9
x:=n*3
Escreva("O triplo do número ",n," é ",x)
Fimalgoritmo
10
ALGORITMO PARA CONVERSÃO DA ESCALA FAHRENHEIT PARA ESCALA
CELCIUS
algoritmo "Para Celcius"
// Função : Transformacao Entre Escalas
// Autor : Luiz Claudio F. de Souza
// Data : 28/12/2011
// Seção de Declarações
var
tc,tf:real
inicio
Escreva("Forneca a temperatura em Fahrenheit: ")
leia(tf)
tc := (tf-32)*5/9
Escreva("A Temperatura na Escala Celcius é:",tc,"º")
fimalgoritmo
Atividades:
1) O que são algoritmos? E qual a diferença entre algoritmos computacionais e não computacionais?
2) O que é sintaxe da linguagem? 3) E o que é refinar um algoritmo? 4) O que é um programa de computador? 5) O que é Linearização de Expressões? 6) Faça um algoritmo e execute-o no Visualg para mostrar a
média aritmética de 4 notas de um aluno na disciplina Matemática
7) Faça um algoritmo e execute-o no Visualg para mostrar qual idade determinada pessoa alcançará no ano em que estamos
11
8) Faça um algoritmo e execute-o no Visualg para mostrar qual idade determinada pessoa terá no ano da próxima copa do mundo
9) Faça um algoritmo e execute-o no Visualg para converter determinado valor da moeda norte americana (dólares) para nossa moeda (Real).
10) Faça um algoritmo e execute-o no Visualg para converter determinada temperatura da escala Celcius para Fahrenheit
"Eis um teste para saber se você terminou sua missão na Terra:
se você está vivo, não terminou." (Richard Bach)
12
Variáveis e Estrutura Condicional
Podemos definir as variáveis como um local utilizado para guardarmos dados. Existindo
basicamente o tipo Inteiro, Real e Caracter
13
Exemplo: Algoritmo para verificar quem possui maior idade entre duas pessoas
algoritmo "Pessoa com maior idade entre duas"
// Função : Verificar quem é a pessoa de maior idade
// Autor : Luiz Claudio F. de Souza
// Data : 30/04/2016
// Seção de Declarações
var
I1:inteiro
I2:inteiro
N1:caracter
N2:caracter
inicio
// Seção de Comandos
Escreva("Qual o nome da primeira Pessoa? ")
Leia(N1)
Escreva("Qual a idade da PRIMEIRA Pessoa? ")
Leia(I1)
Escreva("Qual o nome da segunda Pessoa? ")
Leia(N2)
Escreva("Qual a idade da SEGUNDA Pessoa? ")
14
Leia(I2)
Escreva(" ")
Se I1>I2 entao
Escreva(N1," ‚ é a pessoa com maior idade")
Fimse
Se I1<I2 entao
Escreva(N2," ‚ é a pessoa com maior idade")
Fimse
Se I1=I2 entao
Escreva("Pessoas com Idades Iguais")
Fimse
fimalgoritmo
Outro exemplo interessante está no uso da condição para determinar se um aluno está
APROVADO (caso a média aritmética seja maior ou igual a sete) ou em RECUPERAÇÃO (caso
a média aritmética seja menor que sete) em duas avaliações em uma disciplina qualquer.
Conforme algoritmo feito no Visualg baixo:
algoritmo "Aprovado/Recuperação"
// Função : Algorítmo da situação de aprovado ou em recuperação do aluno"
// Autor : Luiz Claudio F. de Souza
// Data : 27/03/2017
// Seção de Declarações
var
A:REAL
B:REAL
R:REAL
NR: REAL
inicio
// Seção de Comandos
Escreva ("Qual a nota da Primeira avaliação? ")
LEIA (A)
Escreva ("Qual a nota da Segunda avaliação? ")
LEIA (B)
R :=(A+B)/2
SE (R >= 7) ENTAO
ESCREVA("ALUNO ESTÁ APROVADO")
15
FIMSE
SE (R < 7) ENTAO
ESCREVA("ALUNO ESTÁ EM RECUPERAÇÃO")
FIMSE
fimalgoritmo
Abaixo temos um algoritmo que simula uma calculadora com as operações de Multiplicação
e Adição:
algoritmo "Calculadora de 02 números"
// Função : Faz a operação de + ou * entre dois números
// Autor : Luiz Claudio F. de Souza
// Data : 06/05/2008
16
// Seção de Declarações
VAR
a:Real
b:Real
Result:REAL
OP:Caracter
Inicio
// Seção de Comandos
Escreva ("Qual o PRIMEIRO numero --> ")
Leia (a)
Escreva ("Qual o SEGUNDO numero --> ")
Leia (b)
Escreva ("Qual o operador (+ ou * )? ")
Leia (OP)
Se OP = "*" entao
Escreva ("MULTIPLICACAO => ", (a * b))
fimse
Se OP = "+" entao
Escreva ("SOMA => ", (a+b))
Fimse
Se (OP <> "*") e (OP <> "+") entao
Escreva ("Operador Matematico nao Previsto no Algoritmo")
fimse
fimalgoritmo
Veja a saída do programa:
17
Abaixo temos o algoritmo para classificar um triângulo em Equilátero, Isóceles ou Escaleno.
algoritmo "Triângulos"
// Função : Determinação do tipo de Triângulo
// Autor : Luiz Claudio
// Data : 29/2/2012
// Seção de Declarações
var
A,B,C:Real
inicio
// Seção de Comandos
Escreva("Digite o tamanho do lado A do triângulo: ")
Leia(A)
Escreva("Digite o tamanho do lado B do triângulo: ")
Leia(B)
Escreva("Digite o tamanho do lado C do triângulo: ")
Leia(C)
Se (A=B) e (B=C) Entao
Escreva ("O triângulo é Equilátero")
Senao
se (A=B) ou (A=C) ou (B=C) Entao
Escreva ("O triângulo é Isóceles")
senao
18
Escreva ("O triângulo é Escaleno")
Fimse
Fimse
fimalgoritmo
Calculo do Índice de Massa Corpórea (IMC)
Através do índice de massa corporal (IMC), pode-se estimar se uma pessoa está acima do peso
ideal(obesa). A vantagem do uso do IMC é que seu cálculo é simples, rápido e não requer
nenhum equipamento especial, porém, devido a sua simplicidade e por não levar em conta o
porte da pessoa entre outros, não pode ser considerado um meio livre de erros. O IMC
também não pode distingüir as proporções de músculos, gordura, ossos e água no corpo.
Portanto, seu uso não é recomendado para atletas e crianças, por exemplo.
Apesar dessas desvantagens, o índice de massa corporal vem sendo usado pela Organização
Mundial de Saúde como ferramenta para estatísticas sobre obesidade no mundo.
Alguns Links onde você pode realizar o cálculo do IMC:
http://www1.folha.uol.com.br/folha/equilibrio/corpo/2001-calculadora_imc.shtml
http://www.dietaesaude.org/calculo-imc-indice-de-massa-corporal.php
Tabela para Homens e Mulheres do IMC
Abaixo temos o algoritmo para cálculo do IMC para as Mulheres
19
algoritmo "IMC"
// Função : Cálculo do IMC
// Autor : Luiz Claudio Ferreira de Souza
// Data : 19/1/2011
// Seção de Declarações
var
Sexo:caracter
IMC:Real
Peso:Real
Altura:Real
inicio
// Seção de Comandos
Escreva("Qual seu Peso? ")
Leia (peso)
Escreva ("Qual sua Altura? ")
Leia (Altura)
IMC:=Peso/(Altura^2)
Escreva("Qual o seu Sexo? Masculino (M), Feminino (F)")
Leia(sexo)
Se Sexo = "F" Entao
Se IMC < 19.1 Entao
Escreva("Abaixo do Peso")
fimse
Se (IMC >= 19.1) e (IMC <= 25.8) Entao
Escreva("Peso Normal")
Fimse
20
Se (IMC > 25.8) e (IMC <= 27.3) Entao
Escreva("Marginalmente Acima do Peso")
Fimse
Se (IMC > 27.3) e (IMC <= 31.1) Entao
Escreva("Acima do Peso Ideal")
Fimse
Se (IMC >= 19.1) e (IMC <= 25.8) Entao
Escreva("Peso Normal")
Fimse
Se IMC > 31.1 Entao
Escreva("Obesa")
Fimse
Fimse
fimalgoritmo
Atividades:
1) Desenvolva um algoritmo para sabermos quem tem menor idade entre duas pessoas.
2) Desenvolva um algoritmo para sabermos quem tem maior idade entre três pessoas.
3) Logo acima temos o algoritmo para cálculo do IMC para as mulheres, note que se você fizer opção
para cálculo do IMC para Homens não funcionará. Complemente o algoritmo para calcular o IMC do
sexo Masculino no mesmo algoritmo.
4) Pesquise e desenvolva um algoritmo e implemente em Visualg para determinar se um triângulo é
Acutângulo, Retângulo ou Obtusângulo .
5) Pesquise e desenvolva um algoritmo para que realize as operações de Adição, Subtração,
Multiplicação, Divisão e Exponênciação.
21
Estruturas de Repetição
As estruturas de repetição são utilizadas em programação para repetir n vezes determinado
bloco de comandos enquanto uma condição for verdadeira.
Estudaremos três estruturas de repetição em nosso curso:
Estrutura Enquanto ... faca
Estrutura Repita ate ...
Estrutura Para ... Faca
Estrutura Enquanto ..........Faca
Exemplo:
Algorítmo para mostrar os números compreendidos entre 1 e 3 usando-se o comando
Enquanto....faca
22
Algorítmo para mostrar os números impares compreendidos entre 1 e 5 usando-se
o comando Enquanto...Faca
Atividades:
1- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 50 e
100 em ordem crescente
2- Faça um algoritmo, utilizando o Visualg para mostrar os números Impares compreendidos
entre 70 e 100 em ordem crescente
3- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos
entre 70 e 100 em ordem crescente
4- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos
entre 70 e 100 em ordem decrescente
5- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 15 e
-15 em ordem decrescente.
23
Estrutura Repita ate.........
Outra estrutura de repetição bastante utilizada no mundo da programação dos computadores,
correspondente aos algoritmos está na estrutura Repita ate...
Exemplo 1:
Algorítmo para mostrar os números compreendidos entre 1 e 3 usando-se o comando
repita.....ate
Exemplo 2:
Algorítmo para mostrar os números impares compreendidos entre 1 e 5 usando-se o
comando repita.....ate
24
Atividades:
Desenvolva as atividades abaixo utilizando a estrutura de repetição Repita ate ...
1- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 50 e
100 em ordem crescente.
2- Faça um algoritmo, utilizando o Visualg para mostrar os números Impares compreendidos
entre 70 e 100 em ordem crescente.
3- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos
entre 70 e 100 em ordem crescente.
4- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos
entre 70 e 100 em ordem decrescente.
25
5- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 15 e
-15 em ordem decrescente.
Estrutura para.........faca
Exemplo 1: O Algorítmo abaixo mostra os números compreendidos entre 1 a 10
26
Exemplo 2: O Algorítmo abaixo mostra os números compreendidos entre dois valores
informados
Exemplo 3: O Algorítmo abaixo mostra os números ímpares compreendidos entre 50 e 1
Atividades:
Desenvolva as atividades abaixo utilizando a estrutura de repetição Para ... Faca
27
1- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 50 e
100 em ordem crescente.
2- Faça um algoritmo, utilizando o Visualg para mostrar os números Impares compreendidos
entre 70 e 100 em ordem crescente.
3- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos
entre 70 e 100 em ordem crescente.
4- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos
entre 70 e 100 em ordem decrescente.
5- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 15 e
-15 em ordem decrescente.
Vetores
Até agora trabalhamos somente com variáveis simples, que nos permitem armazenar um
único valor a cada momento.
Muitas vezes, porém, precisamos usar um grupo de variáveis do mesmo tipo, mas que possam
ser referenciadas pelo conjunto, ou individualmente, com o mesmo nome.
Um exemplo dessa necessidade pode ser visto a seguir, em um pseudocódigo que soma cinco
números e, depois de mostrar o resultado, mostra os números na ordem inversa de leitura.
28
Imagine, agora, se em vez de cinco, fossem 100 números!
Quando o algoritmo estivesse implementado em alguma linguagem de programação, o
programa ficaria com a escrita imensa, além de ocupar um espaço de memória da máquina
muito grande. Somente a declaração das variáveis tornaria impraticável a redação do
algoritmo.
Um vetor, então, seria considerado uma variável de memória indexada, ou com índices, um
agregado homogênio de ddos, ou seja, um grupo de variáveis do mesmo tipo que recebam o
nome e são individualizados por um índice.
Abaixo temos o algoritmo acima implementado com vetores
Abaixo temos um algoritmo que solicita 5 valores e mostra-os.
29
ATIVIDADES
1- Para que serve uma variável do tipo vetor? 2- O que é um agregado homogênio de dados? 3- Desenvolva um algoritmo para guardar 10 valores em um vetor de 15 posições e
mostra-los na ordem que foram inseridos 4- Desenvolva um algoritmo para guardar 8 valores em um vetor de 10 posições e
mostra-los na ordem inversa que foram inseridos 5- Desenvolva um algoritmo para guardar 5 valores em um vetor de 10 posições e
mostrar somente os números que estão guardados nas duas últimas posições das cinco primeiras.
Vetores - Aplicação Prática
Uma interessante utilização do uso de vetores está na determinação dos dígitos verificadores
de importantes documentos, como no CPF (Cadastro de Pessoa Física da Receita Federal).
Temos também o dígito verificador no CNPJ (Cadstro Nacional de Pessoas Jurídica), Título
Eleitoral e em outros inúmeros documentos.
30
No CPF, o DV módulo 11 corresponde ao resto da divisão por 11 do somatório da multiplicação
de cada algarismo da base respectivamente por 9, 8, 7, 6, 5, 4, 3, 2, 1 e 0, a partir da unidade.
O resto 10 é considerado 0 (zero). Veja, abaixo, um exemplo de DV modulo 11 para o CPF
número 280012389;
31
Algoritmo para determinação do dígito verificador do CPF:
Você pode utilizar os CNPJ para testes:
CNPJ Para testes:
81.162.245/0001-17
32
74.938.104/0001-88
93.143.577/0001-33
10.441.988/0001-88
Fluxograma
33
Decisão Simples
Exemplo Prático:
Você enquanto Técnico em Informática, trabalhando em uma empresa de
procedência Americana instalada em nosso país, recebe a tarefa de
desenvolver um algorítmo para controlar as temperaturas dos aparelhos de
ar condicionado da empresa, algorítmo e ste que deve transformar a
temperatura da escala FARENHEIT (Escala termométrica adotada nos
E.U.A) para Celcius (Escala termométrica utilizada e nosso país). Visto que
os aparelhos são de procedência americana, portanto importados e utilizam
a escala termométrica diferente da nossa.
OBS: O algorítmo deve informar, através de mensagem no vídeo, sempre
que a temperatura for maior ou igual a 22º C, menor ou igual a 18º C
, portanto fora da especificação da empresa.
34
Algorítmo
algoritmo "Para Celcius"
// Função : Transformacao Entre Escalas CELCIUS e FAHRENHEIT
// Autor : Luiz Claudio F. de Souza
// Data : 6/5/2008
// Seção de Declarações
var
tc,tf:real
inicio
Escreva("Forneca a temperatura do ar Condicionado: ")
leia(tf)
tc := (tf-32)*5/9
Escreva("A Temperatura na Escala Celcius é:",tc,"º")
se (tc >= 22) ou (tc <= 18) entao
Escreva (" A Temperatura esta Fora da Especificacao da Empresa")
Senao
Escreva ("A temperatura esta Dentro da Especificacao da Empresa")
fimse
fimalgoritmo
Fluxograma
35
Atividades:
Atividade 1:
Abaixo temos um algoritmo que faz uso da condicional -> “SE”.
Se o valor da média aritmética da média do aluno for maior ou igual a 7 o aluno estará
aprovado.
Se o valor da média aritmética da média do aluno for menor que 7 o aluno estará em
Recuperação
Faça um fluxograma do Problema em questão
36
Atividade 2:
Faça um Fluxograma para mostrar quem é o maior entre dois números
Atividade 3:
Você precisa dar um treinamento básico de confecção de fluxogramas com a utilização
do Visio para um grupo de pessoas da área de informática de sua empresa. Elabore um
tutorial básico para utilização do Visio do Pacote Office.
Obs1: As três questões acima poderá ser feita em grupo de até 3 pessoas
0bs2: Não esquecer de colocar os componentes da equipe na atividade
Urna Eletrônica do TRE
Na eleição para governador de 2006, no segundo turno tivemos a disputa entre a Ana
Júlia e Almir Gabriel. As urnas eletrônicas possuem um algoritmo para contabilizar os
votos dos candidatos, muito semelhante ao exposto abaixo:
37
algoritmo "Urna Eletronica"
// Função : simular o uso da urna eletronica do T.R.E
// Autor : Luiz Claudio F. de Souza
// Data : 11/6/2008
// Seção de Declarações
var
aj,ag,br,nu,opcao:inteiro
inicio
opcao:=99
// Seção de Comandos
Enquanto opcao <> 0 faca
limpatela
escreval("Simulação da Urna Eletrônica do T.R.E")
escreval("*************************************")
escreval("Ana Júlia Carepa -> 13")
escreval("Almir gabriel -> 25")
escreval("Branco -> 3")
escreval("Digite sua opção de voto")
leia (opcao)
se opcao = 13 entao
aj:=aj+1
fimse
se opcao = 25 entao
ag:=ag+1
fimse
se opcao = 3 entao
br:=br+1
fimse
se (opcao <> 13) e (opcao <> 25) e (opcao <> 3) e (opcao <> 0) entao
nu:=nu+1
fimse
fimenquanto
limpatela
escreval ("Boletim da Una - Totalização dos votos")
escreval ("**************************************")
escreval ("**************************************")
escreval ("Ana Julia ->",aj)
escreval ("Almir Gabriel ->", ag)
escreval ("Branco ->",br)
escreval ("nulo ->", nu)
escreval ("***************************************")
fimalgoritmo
ATIVIDADE:
Utilize outra estrutura de repetição qualquer e desenvolva um algoritmo para
fazer simular a próxima eleição, com 5 prováveis candidatos.
38
REVISÃO – Questões de Concursos
1- Unama – Cea (Companhia de Eletricidade do Amapá) - 2006
2) O que será mostrado, ao analisar o pseudocódigo abaixo?
algoritmo "questao 2"
var j: inteiro
inicio
// Seção de Comandos
j <- 1
repita
escreva (j:3)
j <- j + 1
ate j > 10
fimalgoritmo
a) 10 9 8 7 6 5 4 3 2 1
b) 1 2 3 4 5 6 7 8 9 10
c) 1 3 5 7 9
d) 2 4 6 8 10
3) O que será mostrado, ao analisar o pseudocódigo abaixo?
39
algoritmo "Questao 3"
var j: inteiro
inicio
// Seção de Comandos
j <- 1
repita
escreva (j:3)
j <- j + 2
ate j > 10
fimalgoritmo
a) 10 9 8 7 6 5 4 3 2 1
b) 1 2 3 4 5 6 7 8 9 10
c) 1 3 5 7 9
d) 2 4 6 8 10
4) O que será mostrado, ao analisar o pseudocódigo abaixo?
algoritmo "Questao 4"
var j: inteiro
inicio
// Seção de Comandos
j <- 2
repita
escreva (j:3)
j <- j + 2
ate j > 10
fimalgoritmo
a) 10 9 8 7 6 5 4 3 2 1
b) 1 2 3 4 5 6 7 8 9 10
c) 1 3 5 7 9
d) 2 4 6 8 10
5) O que será mostrado, ao analisar o pseudocódigo abaixo?
algoritmo "Questão 5"
// Seção de Declarações
var
j: inteiro
inicio
// Seção de Comandos
para j de 49 ate 39 passo -2 faca
escreva (j:3)
fimpara
fimalgoritmo
49 48 47 46 45 44 43 42 41 49 45 43 41 41 42 43 44 45 46 47 48 49 49 47 45 43 41 39
6) Vesticon (Questão adaptada)
Você recebeu a tarefa de automatizar um
cálculo rotineiramente efetuado numa
empresa de engenharia. Após a análise do
Pseudocódigo abaixo, com os valores das
variáveis abaixo:
40
A1=10, A2=2, D3=3, A4=1, A3=3, B1=5, D2
= 9, D1 = 7
Qual o valor encontrado de X?
algoritmo "Questao 6"
// Seção de Declarações
var
a1: real
a2: real
d3: real
a4: real
a3: real
b1: real
d2: real
d1: real
x: real
inicio
// Seção de Comandos
leia (a1)
leia (a2)
leia (d3)
leia (a4)
leia (a3)
leia (b1)
leia (d2)
leia (d1)
x <- (a1*a2+d3+a4*a3+b1^a2*(d2-d1)-
a4)/b1
escreva ("o Resultado do cálculo é:",x)
fimalgoritmo
11) 15 12) 2371,6 13) 25 14) 6,2 15) 5
Gabarito
41
Bibliografia
MANZANO J. A. N. G.; OLIVEIRA J. F. O. Algoritmos: lógica para desenvolvimento de programação de
computadores. 14.ed. São Paulo: Érica, 2002.
SEBESTA, ROBERT W. Conceitos de Linguagem de Programação. Porto Alegre: Bookman. 2003.