Escolar Documentos
Profissional Documentos
Cultura Documentos
Lógica de Programação
Governador
Cid Ferreira Gomes
Vice Governador
Francisco José Pinheiro
Secretária da Educação
Maria Izolda Cela de Arruda Coelho
Secretário Adjunto
Maurício Holanda Maia
Secretário Executivo
Antônio Idilvan de Lima Alencar
LÓGICA DE PROGRAMAÇÃO
Ementa
Objetivo
Conteúdo programático
CONCEITOS INICIAIS
LÓGICA
LÓGICA DE PROGRAMAÇÃO
ALGORITMOS
FORMAS DE REPRESENTAÇÃO DE UM ALGORITMO
ALGORITMOS NATURAIS
ELEMENTOS USADOS NOS ALGORITMOS
CONSTANTES
VARIÁVEIS
EXPRESSÕES
OPERANDOS E OPERADORES
OPERANDOS
OPERADORES
ESTRUTURAS DE CONTROLE
ESTRUTURA SEQÜENCIAL
ESTRUTURA DE SELEÇÃO SIMPLES
ESTRUTURA DE SELEÇÃO COMPOSTA
ESTRUTURA DE SELEÇÃO MÚLTIPLA
SELEÇÃO MÚLTIPLA COM ESTRUTURA DE FACA CASO:
ESTRUTURA DE REPETIÇÃO
ESTRUTURA PARA PROXIMO
EXEMPLO DE REPETIÇÃO POR FLAG DE RESPOSTA
EXEMPLO DE REPETIÇÃO POR FLAG PREDETERMINADO
PROCEDIMENTOS E FUNÇÕES
DIFERENÇA ENTRE PROCEDIMENTO E FUNÇÃO
PASSAGEM DE PARÂMETROS
EXEMPLOS DE PROCEDIMENTO E FUNÇÃO
RECURSIVIDADE
RESULTADO
VETORES E MATRIZES
ALGORITMOS PARA MANIPULAR VETORES E MATRIZES
EXERCÍCIOS COM ALGORITMOS
Referencia bibliográfica
Lógica de Programação : SENAC.RS - Departamento Regional no Rio Grande do Sul
CONCEITOS INICIAIS
Desde os primórdios, o homem vem tentando resolver seus problemas com maior
rapidez e o menor esforço possíveis, procurando automatizar as tarefas rotineiras. Isso
possibilitou o aparecimento de instrumentos como a roda, roldana,
alavanca, carro e até o computador. No entanto as tarefas que devem ser realizadas pelo
computador, de forma automática, têm de ser anteriormente pensadas e colocadas em uma
seqüência de ações para, posteriormente, serem inseridas na máquina. A essa seqüência
deações denomina-se Programa e à fase de formular soluções que gerem programas
denomina-se Lógica de Programação.
SOFTWARE
LÓGICA
As pessoas utilizam a lógica no cotidiano sem perceber; chegam mesmo a citá-la, sem
entender direito o seu significado.
Segundo o dicionário Aurélio, a lógica é a “coerência de raciocínio, de idéias”, ou ainda a
“seqüência coerente, regular e necessária de acontecimentos, de coisas”.
1 Sair do banco.
2 Aguardar a vez de ser atendido.
3 Entrar na fila do caixa.
4 Digitar a senha.
5 Entrar no banco
6 Informar o valor a ser retirado.
7 Procurar a fila do caixa.
8 Pegar o comprovante de saque, o cartão eletrônico e o dinheiro.
9 Entregar o cartão eletrônico ao funcionário que atende no caixa.
10 Conferir o valor em dinheiro.
Você conseguiria retirar o dinheiro? Com certeza não, pois, embora as ações estejam corretas,
a seqüência está errada. A primeira ação é sair do banco. Como se pode retirar dinheiro de
um banco estando fora dele? Agora observe as mesmas ações na seqüência correta.
1 Entrar no banco.
2 Procurar a fila do caixa.
3 Entrar na fila do caixa.
4 Aguardar a vez de ser atendido.
5 Entregar o cartão eletrônico ao funcionário que atende no caixa.
6 Informar o valor a ser retirado.
7 Digitar a senha.
8 Pegar o comprovante de saque, o cartão eletrônico e o dinheiro.
9 Conferir o valor em dinheiro.
10 Sair do banco
Utiliza-se a lógica para ordenar e corrigir pensamentos ou ações voltados
para a solução de problemas.
LÓGICA DE PROGRAMAÇÃO
Falar em Lógica de Programação significa apenas contextualizar a lógica na programação de
computadores, buscando a melhor seqüência de ações para solucionar determinado problema.
Na programação de computadores, o nome dessa seqüência de ações é Algoritmo, que é, de
maneira bem simples, a seqüência de passos ou ações para atingir um objetivo.
Já ação é um fato que, a partir de um estado inicial, após um período de tempo finito, produz
um estado final previsível e definido. Por exemplo, abrir uma porta é uma ação.
Estado inicial (porta fechada), é aplicada a ação (abrir) por um tempo determinado (segundos),
levando ao estado final (porta aberta), previsível e definido (pois é esperado que, quando se
abre algo, principalmente qualquer porta, no final, ela esteja aberta).
OBJETIVO
O objetivo deste curso é proporcionar a apropriação de conhecimentos capazes de reconhecer,
utilizar e saber a finalidade e o funcionamento das técnicas, ferramentas e elementos utilizados
na construção de algoritmos para que possamos ordenar, desenvolver e aprimorar o raciocínio
lógico aplicado na solução de problemas do cotidiano.
ALGORITMOS
O QUE É UM ALGORITMO?
Um Algoritmo é uma seqüência finita de instruções bem claras, bem definidas e bem
detalhadas que, quando colocadas em uma ordem lógica, nos levam a solução de um
problema.
Os Algoritmos independem da linguagem de programação a ser utilizada. O objetivo da
construção de Algoritmos é que eles possam ser adaptados a qualquer linguagem de
programação.
ALGORITMOS NATURAIS
Algoritmos naturais são usados para linguagens mais antigas que não são estruturadas e nem
modulares, como Fortran, Basic, Cobol (antes de ter ocomando Perform), etc...
Esse tipo de algoritmo utiliza comandos de retorno ou avanço (instrução GOTO), do fluxo para
determinada linha do algoritmo.
Com o surgimento das linguagens de programação estruturadas e modulares esse tipo de
algoritmo se tornou obsoleto.
As linguagens estruturadas não possuem mais os comandos de retorno ou avanço (instrução
GO TO), para uma determinada linha do algoritmo, a própriaestrutura é que define o retorno ou
avanço do fluxo.
INICIO
Na construção de algoritmos, utilizamos diversos elementos. Entre eles podemos citar valores
informados ao programa (pelo teclado ou lidos de um disco), comandos para armazenar
valores, expressões, estruturas, e etc.
Veremos a seguir quais são esses elementos, quando usar, para que usar e como eles
funcionam dentro de um algoritmo.
1 CONSTANTES:
1.1 Numérico;
1.2 Data;
1.3 Lógica;
1.4 Caracter (texto, literal, string)
2 VARIÁVEIS:
2.1 Numérico;
2.2 Data;
2.3 Lógica;
2.4 Caracter (texto, literal, string)
3 EXPRESSÕES:
3.1 Operandos;
3.2 Operadores;
4 COMANDO DE ATRIBUIÇÃO:
5 ESTRUTURAS:
5.1 Seqüencial;
5.2 Seleção;
5.2.1 Simples;
5.2.2 Composta;
5.2.3 Múltipla;
5.3 Repetição;
5.3.1 Contador fixo;
5.3.2 Flag;
5.3.2.1 De resposta;
5.3.2.2 Predeterminado;
CONSTANTES
CONSTANTES: são valores utilizados no processamento, mas que não sofrerão alterações
durante o mesmo. Exemplos: nomes, datas de nascimento, números de funcionários, nomes de
cidades, etc.
LÓGICA: (Booleanas). São os valores que correspondem às quatro letras ou palavras lógicas
correspondentes: T (True), F (False), Y (Yes), N (No).
CARACTER: (Texto, Literal ou String). São reconhecidas pela exclusão, ou seja, tudo que não
for reconhecido como numérico, data ou lógico, é do tipo caracter.
VARIÁVEIS
VARIÁVEIS: Não são valores. Variáveis são endereços de memória (Ram) que armazenam
temporariamente valores. Esses endereços recebem um rótulo, que é o nome da variável, e um
conteúdo. Cada vez que mencionamos o nome da
variável, é manipulado o seu conteúdo.
Observação: Podemos imaginar uma variável como sendo uma gaveta em um armário
(endereço de memória Ram), onde guardamos alguma coisa (conteúdo), prego, por exemplo.
Para identificar esta gaveta colocamos uma etiqueta (rótulo), com o nome de prego (nome da
variável). Quando queremos pregos temos que abrir a gaveta que tem o rótulo prego e pegar o
seu conteúdo.
Os nomes das variáveis devem sempre começar por uma letra, não devem ter espaços em
branco e nem caracteres especiais, no máximo o símbolo sublinhado.
• O computador seja desligado (normal ou por falta de energia), visto que são armazenados na
memória Ram;
• Por término do programa ou rotina onde foram criadas;
• Seja atribuído um novo valor para a mesma variável.
Observação: As variáveis Públicas ou Globais são vistas por todos os módulos do programa,
e as Locais ou Privadas somente nas rotinas onde são criadas.
EXPRESSÕES
Expressão: é qualquer instrução de manipulação de dados.
RELACIONAIS: Nesse tipo de expressão realizamos uma comparação entre dois ou mais
operandos do mesmo tipo, utilizando operadores relacionais e o resultado será sempre um
valor lógico (verdadeiro ou falso). Exemplo: 10>5, A<B.
OPERANDOS E OPERADORES
OPERANDOS
São os elementos que serão manipulados.
OPERADORES
São símbolos ou palavras que indicam o tipo de manipulação e também determinam de que
tipo é a expressão.
Os operadores se dividem em três grupos:
ARITMÉTICOS:
• Adição: +
• Subtração: -
• Multiplicação: *
• Divisão: /
• Exponenciação: ^
RELACIONAIS
• Igualdade: =
• Maior do que: >
• Menor do que: <
• Maior ou igual a: >=
• Menor ou igual a: <=
• Diferente: <>
LÓGICOS (Booleanos)
• NAO
•E
• OU
Usando o operador OU, o resultado final só será falso se o resultado de todas as condições
forem falsas; qualquer outra hipótese, o resultado será verdadeiro.
Comando de atribuição
O comando de atribuição serve para colocar um valor (conteúdo) dentro de
uma variável.
ESTRUTURAS DE CONTROLE
As estruturas de controle servem para direcionar o fluxo do processamento.
ESTRUTURA SEQÜENCIAL
A estrutura seqüencial, como diz o próprio nome, é uma seqüência de instruções que se
sucedem uma após a outra sem desvios ou interrupções. Este tipo de estrutura não possui
palavras chaves, é composta somente por linhas de
comandos sucessivas e está sempre limitada pelo início e fim do algoritmo ou pelo inicio e fim
de uma outra estrutura.
Exemplo: Ler o nome e duas notas de um aluno, calcular a média e mostrar o nome do aluno,
as duas notas e a média calculada.
VARIAVEIS
NUMERICO N1, N2, M
CARACTER NOME
INICIO
N1 = 0
N2 = 0
M=0
LER NOME
LER N1
LER N2
M = (N1+N2)/2
ESCREVER NOME, N1, N2,M
FIM
ESTRUTURA DE SELEÇÃO
Devemos utilizar uma estrutura de seleção. Sempre que para executar alguma ação dependa
do resultado de uma condição, isto é, no que temos que fazer existe uma condicionante.
SE <CONDIÇÃO> ENTÃO
COMANDOS
FIM_SE
Exemplo: Ler o nome e duas notas de um aluno, calcular a média e mostrar o nome do aluno,
as duas notas, a média calculada e as palavras Aluno Reprovado, caso a média seja menor do
que sete.
VARIAVEIS
NUMERICO N1, N2, M
CARACTER NOME
INICIO
N1 = 0
N2 = 0
M=0
LER NOME
LER N1
LER N2
M = (N1+N2)/2
ESCREVER NOME, N1, N2, M
SE M < 7 ENTAO
ESCREVER “ALUNO REPROVADO”
FIM_SE
FIM
SE <CONDIÇÃO> ENTÃO
COMANDOS
SENAO
COMANDOS
FIM_SE
Observação: Se o resultado da condição for Verdadeiro será executado tudo que estiver entre
as palavras ENTAO e SENAO, sendo ignorado o que tudo que estiver após a palavra SENAO,
porem se o resultado da condição for Falso, será desprezado tudo que estiver entre as
palavras ENTAO e SENAO, sendo executado apenas o que estiver entre as palavras SENAO
e FIM_SE.
Exemplo: Ler o nome e duas notas de um aluno, calcular a média e mostrar o nome do aluno,
as duas notas, a média calculada e as palavras Aluno Reprovado, caso a média seja menor do
que sete e Aluno Aprovado em caso contrário.
VARIAVEIS
NUMERICO N1, N2, M
CARACTER NOME
INICIO
N1 = 0
N2 = 0
M=0
LER NOME
LER N1
LER N2
M = (N1+N2)/2
ESCREVER NOME, N1, N2,M
SE M < 7 ENTAO
ESCREVER “ALUNO REPROVADO”
SENAO
ESCREVER “ALUNO APROVADO”
FIM_SE
FIM
A Estrutura de Seleção Múltipla é utilizada quando devemos fazer vários testes em uma
mesma variável ou testar o valor de uma variável dependendo do teste do valor de outra
variável.
SE <CONDIÇÃO> ENTÃO
SE <CONDIÇÃO> ENTÃO
COMANDOS
SENAO
COMANDOS
FIM_SE
SENAO
COMANDOS
FIM_SE
SE <CONDIÇÃO> ENTÃO
COMANDOS
SENAO
SE <CONDIÇÃO> ENTÃO
COMANDOS
SENAO
COMANDOS
FIM_SE
FIM_SE
Observação: Para a solução do próximo exemplo, usaremos uma solução com estrutura de
Seleção Composta encadeada e outra solução utilizando a estrutura Faca Caso.
Exemplo: Ler o estado civil de uma pessoa como valor numérico, sendo que 1 corresponde a
Solteiro, 2 a Casado e 3 para Outros.
Testar estes valores levando-se em conta que o usuário pode digitar errado e escrever o
estado civil em caracteres.
VARIAVEIS
NUMERICO EC
INICIO
EC = 0
ESCREVER “Digite o estado civil (1 – solteiro, 2 – casado, 3 – outros)”
LER EC
SE EC = 1 ENTAO
ESCREVER “Solteiro”
SENAO
SE EC = 2 ENTAO
ESCREVER “Casado”
SENAO
SE EC = 3 ENTAO
ESCREVER “Outros”
SENAO
ESCREVER “Valor inválido”
FIM_SE
FIM_SE
FIM_SE
ESTRUTURA DE REPETIÇÃO
Uma Estrutura de Repetição deve ser usada sempre que uma rotina tenha que ser
executada mais do que uma vez durante o mesmo processamento.
As repetições podem ser feitas por Contador Fixo, ou seja, a rotina vai ser repetida
sempre um número fixo de vezes. Por Flag de Resposta, onde a cada volta do laço
perguntamos ao usuário se ele quer continuar ou não, se a resposta for sim à rotina, segue
repetindo; e se for não, a rotina termina. Ainda podemos fazer a repetição por Flag
Predeterminado, isto é, determinamos que quando o usuário pressionar um determinado
conjunto de teclas ou um determinado valor para conteúdo de uma variável, a rotina termina.
Desafio: Ler o nome do aluno e duas notas para uma turma de 15 alunos,
calcular a média e mostrar o nome as duas notas e a média de cada aluno.
VARIAVEIS
NUMERICO N1, N2, M, C
CARACTER NOME
INICIO
N1 = 0
N2 = 0
M=0
C=0
ESCREVER “DIGITE O NOME, N1, N2”
VARIAVEIS
NUMERICO N1, N2, M, C
CARACTER NOME
INICIO
N1 = 0
N2 = 0
M=0
C=0
ESCREVER “DIGITE O NOME, N1, N2”
PARA C = 1 ATE 15
LER NOME
LER N1
LER N2
M = (N1+N2)/2
ESCREVER NOME, N1, N2,M
PROXIMO
FIM
Desafio: Ler o nome e duas notas para os diversos alunos, calcular a média e mostrar o nome,
as duas notas e a média de cada aluno. Após processar cada aluno, perguntar ao usuário se
deseja continuar. Enquanto o usuário responder
sim (S), o programa continua; se a resposta for não (N), o programa termina.
Observação: Para repetições usando como controle o Flag, só poderemos utilizar a estrutura
FACA ENQUANTO.
Solução:
VARIAVEIS
NUMERICO N1, N2, M
CARACTER NOME, CF
INICIO
N1 = 0
N2 = 0
M=0
CF = “S”
ESCREVER “DIGITE O NOME, N1, N2”
FACA ENQUANTO CF = “S”
LER NOME
LER N1
LER N2
M = (N1+N2)/2
ESCREVER NOME, N1, N2,M
ESCREVER “DESEJA CONTINUAR (S/N)?”
LER CF
FIM_ENQUANTO
FIM
Observação: Predeterminamos que quando o usuário digitar a palavra FIM no lugar do nome
de um aluno, o programa irá terminar.
Solução:
VARIAVEIS
NUMERICO N1, N2, M
CARACTER NOME
INICIO
N1 = 0
N2 = 0
M=0
ESCREVER “DIGITE O NOME (FIM PARA SAIR), N1, N2”
NOME = “ “
FACA ENQUANTO NOME <> “FIM”
LER NOME
SE NOME <> “FIM”
LER N1
LER N2
M = (N1+N2)/2
ESCREVER NOME, N1, N2,M
FIM_SE
FIM_ENQUANTO
FIM
Até aqui analisamos quais são as palavras-chave e como se representam os algoritmos em
Pseudocódigo. Veremos a seguir como fazer a representação das estruturas de controle
através de Fluxograma.
ESTRUTURA SEQÜENCIAL
ESTRUTURA DE REPETIÇÃO
PROCEDIMENTOS E FUNÇÕES
Programação Estruturada.
A característica dessa programação é a utilização de técnicas que decompõem a
solução de um problema em “blocos” que interagem com um bloco principal. Isso é possível por
meio da técnica de refinamentos sucessivos e da modularização dos algoritmos.
Parâmetros (argumentos)
PASSAGEM DE PARÂMETROS
RECURSIVIDADE
Os Procedimentos e as Funções, na maioria das linguagens, possuem a propriedade da
recursividade, isto é, a capacidade de um procedimento ou função chamar eles mesmos.
VARIAVEIS PROCEDIMENTO MOSTRA(N)
Numerico Num, N INICIO
INICIO N=N+2
Num= 0 Escrever N
Mostra(Num) SE N < 10 entao
FIM Mostra(N)
FIM_SE
FIM
RESULTADO
Temos como resultado desse processamento, os seguintes valores:
2 – 4 – 6 – 8 – 10.
VETORES E MATRIZES
O QUE SÃO VETORES E MATRIZES
Vetores e Matrizes, que nas linguagens de programação são chamados de Array, são
variáveis indexadas, isto e, em uma mesma variável podemos armazenar diversos valores, e
esses valores são identificados pelo nome da variável e por um número ou mais números,
dependendo de quantas dimensões tem a matriz. Esse número ou esses números são os
índices da matriz, pois indicam a posição do valor (elemento) dentro da Matriz ou do Vetor.
A Matriz pode-se comparar como sendo um armário com, por exemplo, três gavetas. Neste
caso eu posso guardar três objetos, um em cada gaveta, porém, se em cada gaveta são feitas
três divisões, podemos nesse armário guardar não apenas três objetos, mas, sim, nove
objetos.
Para referenciar o valor 18, temos que indicar V[3], isto é, o valor 18 é o terceiro elemento do
Vetor V, ou que o valor 18 encontra-se na terceira posição do vetor.
EXEMPLO DE MATRIZ
Matriz numérico M[3,3]
Índice 1 2 3
1 20 15 30
2 14 17 76
3 60 54 10
Para referenciar o valor 76, temos que indicar M[2,3], isto é, o elemento da matriz que
armazena o valor 76 está na linha 2, coluna 3.
A indicação do índice ou índices é feita sempre entre colchetes “[ ]”, ou em algumas outras
linguagens ente parênteses “( )”.
Como o Vetor é uma matriz que possui dimensão única, temos apenas um índice, que indica a
posição que o elemento ocupa dentro do Vetor.
Por exemplo: V[3]. O número 3 entre os colchetes indica da Posição do Elemento (local onde
o valor está armazenado).
Desafio: Classificar em ordem crescente um vetor A com dez elementos (dez posições)
VARIAVEIS
NUMERICO N, I, J, AUX
MATRIZ NUMERICO A [10]
INICIO
N=0
AUX = O
PARA I = 1 ATE 10
LER N
A [I] = N (Bloco para carregar e imprimir o vetor)
ESCREVER A [I]
PROXIMO
PARA I = 1 ATE 9
PARA J = I+1 ATE 10
SE A [I] > A [J] ENTAO
AUX = A [I]
A [I] = A [J] (Bloco para ordenar o vetor)
A [J] = AUX
FIM_SE
PROXIMO
PROXIMO
PARA I = 1 ATE 10
ESCREVER A [I] (Bloco para imprimir o vetor ordenado)
PROXIMO
FIM
2) Ler três valores em variáveis diferentes armazene, a soma das duas primeiras em uma nova
variável e o produto das duas últimas em uma outra variável e mostre o produto das duas
novas variáveis em uma terceira variável.
4) Escreva o pseudocódigo em português estruturado que leia dez valores fornecidos pelo
usuário e escreva os valores e seus dobros.
6) Fazer uma tabela de conversão de polegadas para centímetros. Esta tabela deverá começar
em uma polegada e terminar em 10 polegadas variando de 0.5 em 0.5 de polegada. Mostrar a
tabela
7) Ler 10 valores dois a dois, compará-los entre si. Mostrar cada par de números, e ao lado
deles a mensagem, segundo cada caso. Se forem iguais, se o maior é o primeiro ou se o maior
é o segundo.
10) Escreva o pseudocódigo em português estruturado que mostre a tabuada de zero até 10
para um número fornecido pelo usuário.
11) Ler oito valores positivos. Testar cada valor, se for maior do que 100, extrair a raiz
quadrada, caso contrário, elevar ao quadrado. Mostrar os números lidos e ao lado a raiz ou o
quadrado. No final informar quantos números pares foram digitados.
12) Uma empresa possui 15 funcionários. Ler para cada funcionário o seu nome, as horas
trabalhadas e seu salário hora. Calcular o salário bruto. Mostrar o nome de cada funcionário, as
horas trabalhadas, o salário hora e o salário bruto. No final mostrar o total de salários brutos.
13) Ler 20 valores dois a dois. Testar estes valores. Se o segundo for maior que o primeiro,
calcular a soma deles. Se o primeiro for maior que o segundo, calcular a diferença, e, se forem
iguais, multiplicá-los.
14) Fazer um algoritmo que calcule as raízes da equação do segundo grau usando a fórmula
de Báscara. Testar o discriminante, caso seja negativo, informar que é impossível no campo
dos números reais; caso contrário, calcular e mostrar as raízes.
15) Ler o nome, o sexo e a idade de 100 pessoas. Mostrar quantas pessoas são do sexo
masculino e quantas são do sexo feminino, quantas são menores de 18 anos e quantas são
maiores ou iguais a 18.
16) Ler oito valores diferentes de zero, imprimir os valores lidos e no final mostrar quantos
números são negativos.
17) Ler uma série de dez números, mostrar os números lidos e, no final, a soma deles e quais
foram o maior e o menor número digitado.
20) O proprietário de um cinema desejou saber certo dia qual seria a sessão mais lucrativa
para ele. Assim sendo, para cada um dos 100 espectadores deste dia registrou nome e sessão
(tarde ou noite). Fazer um algoritmo para ler estes dados e após informar ao proprietário
qual foi a sessão que teve mais espectadores ou se foram iguais.
21) Numa pesquisa populacional, entre outros dados, registrou-se para cada um dos 160000
recenseados o nome, sexo, idade e grau de escolaridade (0=analfabeto, 1=primário,
2=secundário, 3=superior, 4=pós-graduação). Como resultado da pesquisa deseja-se obter um
relatório contendo as seguintes informações:
a. Número de analfabetos.
b. Número de pessoas com instrução primária.
c. Número de pessoas com mais de 50 anos e instrução secundária.
d. Número de pessoas com formação superior
e. Número de homens pós-graduados.
f. Número de mulheres pós-graduadas
22) Ler as notas e os nomes de uma turma de 30 alunos, mostrar os nomes e as notas de cada
aluno e a mensagem de aprovado, se a nota for maior ou igual a 7 e reprovado, se menor que
7. No final imprimir a nota mais alta, a nota mais baixa, a média aritmética da turma, quantos
alunos foram aprovados e quantos foram reprovados.
23) Ler 10 valores maiores que zero. Mostrar os valores e informar se são ímpares ou não. No
final mostrar a soma deles, a média aritmética, a soma dos pares, a soma dos ímpares, o maior
e o menor valor.
28) Em um certo estabelecimento selecionaram 20 pessoas com diferentes idades e para cada
uma delas foram registrados, nome, idade e mês de nascimento. Após o registro de dados,
desejou-se saber:
a. Idade da pessoa mais jovem;
b. Nome e idade da pessoa mais idosa;
c. Número de pessoas nascidas no mês de setembro e no mês de outubro.
24) Um fabricante de televisores deseja inteirar-se do movimento de sua produção durante um
determinado período, para cada um dos televisores fabricados, registraram-se os seguintes
dados: modelo (1, 2 ou 3), tipo preto e branco (PB) ou colorido (C), preço de custo e preço de
venda. Elaborar um algoritmo para ler e imprimir estes dados, além do lucro obtido na venda
de cada televisor.
a. Elaborar um algoritmo para ler e imprimir estes dados, além do lucro obtido na venda de
cada televisor.
25) Uma empresa deseja realizar um levantamento no cadastro de seus funcionários. Para
isso, deverá ser lido para cada funcionário: nome, idade, salário e ano de admissão;
a. Ao final deverá ser impresso um relatório em que constarão os seguintes dados:
i. Nome do funcionário mais idoso;
ii. Nome do funcionário mais antigo na empresa;
iii. Maior salário na empresa.
iv. Usar como flag ZZZ no nome.
Terra adorada,
Entre outras mil,
És tu, Brasil,
Ó Pátria amada!
Dos filhos deste solo és mãe gentil,
Pátria amada, Brasil!