Escola Estadual de
Educação Profissional - EEEP
Ensino Médio Integrado à Educação Profissional
Curso Técnico em Informática
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
Assessora Institucional do Gabinete da Seduc
Cristiane Carvalho Holanda
Coordenadora de Desenvolvimento da Escola
Maria da Conceição Ávila de Misquita Vinãs
Coordenadora da Educação Profissional – SEDUC
Andrea Rocha Araujo
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
LÓGICA DE PROGRAMAÇÃO
Ementa
Curso pretende aplicar os conhecimentos de lógica de programação servindo
de introdução ao estudo da programação de sistemas de computadores e a
orientação a objetos.
Objetivo
PROPICIAR AOS ALUNOS INTEGRANTES DO CURSO:

Desenvolver a construção de algorimos usando:
o
o
o
Seqüência Lógica.
Instruções.
Estruturas de Comandos
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
Informática - Lógica de Programação
1
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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
Informática - Lógica de Programação
2
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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.
Programar é basicamente Construir Algoritmos.
A meta principal de qualquer programador é resolver problemas por meio de soluções
lógicas para obter resultados eficientes (corretos) e eficazes (com qualidade). Porém, se as
soluções não forem bem planejadas (passo a passo),
com certeza essa meta não será atingida.
Antes de iniciar o estudo de Lógica de Programação, conheça alguns conceitos básicos:
SOFTWARE
Software é o conjunto dos programas que comandam o funcionamento do Hardware.
Programas são feitos a partir de algoritmos (objeto de estudo deste curso), seqüências de
instruções/comandos para se atingir um objetivo.
Depois de pronto, o algoritmo é convertido para uma linguagem de programação. O produto
dessa conversão é um programa.
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”.
Você pode perceber isso, nos exemplos a seguir:
O número 3 é menor que o número 5.
O número 7 é maior que o número 5.
Logo, o número 3 é menor que os números 5 e 7.
Quando chove, não é preciso regar as plantas do jardim.
Hoje choveu.
Logo, hoje não é preciso regar as plantas do jardim.
O Brasil fica na América do Sul.
A América do sul fica no continente americano. Logo, os brasileiros são americanos.
Às vezes o raciocínio funciona desordenadamente. Quantas vezes você já ouviu as frases: “E
se acontecer aquilo?”, ou “É, mas eu não tinha pensado nisso!”
Neste exemplo, estão descritas ações de quem vai a um banco; entretanto, veja se seria
possível retirar o dinheiro obedecendo à seqüência descrita.
Informática - Lógica de Programação
3
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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.
Informática - Lógica de Programação
4
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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.
Não existe apenas um Algoritmo para a solução de um problema.
Um Algoritmo pode ser numérico ou não.
Um Algoritmo pode ter tantas entradas e saídas de dados, quantas forem necessárias, pode
até não ter entradas, mas obrigatoriamente deverá ter pelo menos uma saída de dados que é o
resultado do processamento.
FORMAS DE REPRESENTAÇÃO DE UM ALGORITMO
Temos 3 (três) formas de representar um algoritmo:
• PSEUDOCÓDIGO (OU PORTUGUÊS ESTRUTURADO, OU PORTUGOL).
• FLUXOGRAMA
• DIAGRAMA DE CHAPIN
PSEUDOCÓDIGO: As estruturas lógicas são escritas numa linguagem próxima ao português,
na seqüência em que são executadas.
FLUXOGRAMA: Nesta forma de representação as estruturas lógicas são expressas através de
figuras geométricas, interligadas por setas que indicam o caminho a ser seguido.
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.
EXEMPLO DE ALGORITMO NATURAL
Algoritmo para retirar a devolução do Imposto de Renda.
Informática - Lógica de Programação
5
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
INICIO
Passo 1 – Sair de casa.
Passo 2 – Ir até o banco.
Passo 3 – dirigir-se ao balcão.
Passo 4 – Já chegou a devolução do Imposto de Renda?
Passo 5 – Sim: vá para o passo 12.
Passo 6 – Não: Voltar para casa.
Passo 8 – Esperar um dia.
Passo 9 – É sábado, domingo ou feriado?
Passo 10 – Sim: vá para o passo 8.
Passo 11 – Não: vá para o passo 1.
Passo 12 – Retirar o dinheiro.
Passo 13 – Voltar para casa.
FIM
ALGORITMO NATURAL COMPARADO COM ALGORITMO ESTRUTURADO
Desafio: ler dez valores numéricos, mostrar os valores lidos e no final mostrar a soma dos
números digitados.
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.
ELEMENTOS USADOS NOS ALGORITMOS
1 CONSTANTES:
1.1 Numérico;
Informática - Lógica de Programação
6
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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.
As constantes podem ser dos seguintes tipos:
NUMÉRICO: Quando começam por um número, um sinal ou um parêntese, todos os demais
caracteres são apenas números, com apenas uma exceção, que é o separador decimal
(dependendo da linguagem, pode ser o ponto ou a vírgula).
Exemplos: 123, 34,75, (567), -512, etc.
DATA: Quando tiver um formato conhecido de data. Os mais comuns são:
dd/mm/aa, dd/mmm/aa, dd/mm/aaaa, dd/mmm/aaaa, dd/mm, dd/mmm, mm/aa, mmm/aa,
mm/aaaa, mmm/aaaa.
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).
Informática - Lógica de Programação
7
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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.
Exemplos: Nome_cli, Num_func, Datanasc, etc.
As variáveis são declaradas no início do algoritmo. Dependendo do valor a ser armazenado, as
variáveis poderão ser dos tipos: Numérico, Data, Lógico ou Caracter (texto, literal ou string).
Os valores armazenados nas variáveis permanecem até que:
• 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: Só podemos armazenar um valor de cada vez em uma variável. Ao atribuirmos
um novo valor que deve ser do mesmo tipo, o valor anterior será sumariamente eliminado.
Exemplo: Se escrevermos A=5, o valor cinco será o conteúdo da variável A.
Se mais adiante escrevermos A=20, o valor vinte passa a ser o novo conteúdo da variável A, e
o valor anterior, cinco, será eliminado.
Escopo: (abrangência), as variáveis, dependendo da linguagem, podem ser
Públicas (Public) ou Globais (Global) e Privadas (Private) ou Locais (Locals).
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.
As expressões podem ser:
Informática - Lógica de Programação
8
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
ARITMÉTICAS: Nesse tipo de expressão só podemos utilizar operadores, constantes e
variáveis do tipo numérico, e o resultado será sempre um valor numérico. Exemplo 3+2, A*B.
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.
LÓGICAS: É a união de duas ou mais expressões relacionais utilizando operadores lógicos, e
o resultado também será sempre um valor lógico (verdadeiro ou falso). Exemplo: A>B E 10>5,
Cidade = “Canoas” OU Cidade = “Porto Alegre”.
OPERANDOS E OPERADORES
OPERANDOS
São os elementos que serão manipulados.
Como operandos podemos utilizar:
CONSTANTES: Exemplo: 15+25, 345/5, 12,35*20;
VARIÁVEIS: Exemplo: A-B, X/Y, HT*SH;
FUNÇÕES DA LINGUAGEM: Exemplo: PI()*Cos(x)+Raiz(256,2)
Observações: Linguagens aplicativas mais específicas como as Planilhas Eletrônicas e os
Gerenciadores de Bancos de Dados podem utilizar como operandos as referências a células
(Exemplo: A3*B5) ou os campos do Banco de dados (Exemplo:
Horas_Trab*Sal_Hora).
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: ^
Observação: Os operadores aritméticos mantêm a mesma prioridade matemática, ou seja: em
primeiro lugar são executadas as raízes e exponenciações, logo a seguir, as multiplicações e
divisões, e, por último, as somas e subtrações. Em caso de empate de prioridades, o cálculo é
efetuado sempre da esquerda para a direita. Para alterar a prioridade dos operadores, usamos
parênteses.
Informática - Lógica de Programação
9
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
RELACIONAIS
• Igualdade: =
• Maior do que: >
• Menor do que: <
• Maior ou igual a: >=
• Menor ou igual a: <=
• Diferente: <>
Observações: Entre os operadores relacionais não existem prioridades, sempre são
executados da esquerda para a direita, à medida que forem aparecendo.
LÓGICOS (Booleanos)
• NAO
•E
• OU
Observação: Nos operadores lógicos o E tem prioridade sobre o OU.
Os operadores lógicos igualmente chamados de Booleanos utilizam a álgebra de Boole, ou
álgebra Booleana, também denominada Tabela Verdade.
O operador NAO é um inversor de resultados, isto é, se o resultado da expressão for
verdadeiro transforma em falso e vice-versa.
Exemplo: 50>30, resultado verdadeiro. NAO (50>30), resultado falso.
Usando o operador E, o resultado final só será verdadeiro se o resultado de todas as condições
forem verdadeiras, qualquer outra hipótese, o resultado será falso.
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.
Veja o exemplo da tabela verdade abaixo:
Comando de atribuição
O comando de atribuição serve para colocar um valor (conteúdo) dentro de
uma variável.
O comando de atribuição, dependendo da linguagem, pode ser:
= ← := Exemplo: A = 15 ou A ←15 ou A := 15
Em qualquer dos casos estamos colocando o valor 15 como conteúdo da
variável A.
Informática - Lógica de Programação
10
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Neste curso utilizaremos como comando de atribuição o sinal de =.
ESTRUTURAS DE CONTROLE
As estruturas de controle servem para direcionar o fluxo do processamento.
As estruturas de controle podem ser:
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.
Observação: Conforme o que devemos fazer, de acordo com o resultado da condição, a
estrutura de seleção pode ser de três tipos diferentes:
Seleção Simples, Seleção Composta ou Seleção Múltipla.
ESTRUTURA DE SELEÇÃO SIMPLES
Na estrutura de Seleção Simples, somente teremos uma ação se o resultado
da condição for Verdadeiro, caso o resultado seja falso não há ação a ser
executada.
Informática - Lógica de Programação
11
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
As palavras chaves de uma estrutura de Seleção Simples são:
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
ESTRUTURA DE SELEÇÃO COMPOSTA
Na estrutura de Seleção Composta, será executado um comando ou um grupo de comandos,
caso o resultado da condição seja Verdadeiro e outro comando ou outro grupo de comandos
diferentes, se o resultado da condição for Falso.
As palavras-chave de uma estrutura de Seleção Composta são:
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.
Informática - Lógica de Programação
12
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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
ESTRUTURA DE SELEÇÃO MÚLTIPLA
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.
Observação: A estrutura de Seleção Múltipla pode ser construída com Estruturas de
Seleção Composta encadeadas (aninhadas), ou pela estrutura Faca Caso.
Utilizando Estruturas de Seleção Composta encadeada, para fazer a Seleção Múltipla
podemos fazer o encadeamento das seguintes formas:
Encadeamento, somente se o resultado da primeira condição for verdadeiro.
SE <CONDIÇÃO> ENTÃO
SE <CONDIÇÃO> ENTÃO
COMANDOS
SENAO
COMANDOS
FIM_SE
SENAO
COMANDOS
FIM_SE
Encadeamento somente se o resultado da primeira condição for falso.
Informática - Lógica de Programação
13
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
SE <CONDIÇÃO> ENTÃO
COMANDOS
SENAO
SE <CONDIÇÃO> ENTÃO
COMANDOS
SENAO
COMANDOS
FIM_SE
FIM_SE
Um encadeamento se o resultado da primeira condição seja verdadeiro, e outro encadeamento,
caso o resultado da primeira condição seja falso.
SELEÇÃO MÚLTIPLA COM ESTRUTURA DE FACA CASO:
As palavras-chave da estrutura Faca Caso são:
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.
SOLUÇÃO UTILIZANDO ESTRUTURA DE SELEÇÃO COMPOSTA ENCADEADA:
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”
Informática - Lógica de Programação
14
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
SENAO
ESCREVER “Valor inválido”
FIM_SE
FIM_SE
FIM_SE
SOLUÇÃO UTILIZANDO ESTRUTURA DE FACA CASO:
VARIAVEIS
NUMERICO EC
INICIO
EC = 0
ESCREVER “Digite o estado civil (1 – solteiro, 2 – casado, 3 – outros)”
LER EC
FACA CASO
CASO EC = 1:
ESCREVER “Solteiro”
CASO EC = 2:
ESCREVER “Casado”
CASO EC = 3:
ESCREVER “Outros”
OUTRO_CASO:
ESCREVER “Valor inválido”
FIM_CASO
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.
Para construir a estrutura de repetição, podemos utilizar dois tipos de estruturas: a
estrutura FACA ENQUANTO ou a estrutura PARA PROXIMO, sendo que a estrutura FACA
ENQUANTO serve tanto para repetições por Contador Fixo como para, repetições por Flag. A
estrutura de PARA PROXIMO só serve para repetições por Contador Fixo.
Informática - Lógica de Programação
15
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
ESTRUTURA FACA ENQUANTO
Os Comandos serão executados se a condição for verdadeira e se repetirá enquanto a
condição não seja negada.
ESTRUTURA PARA PROXIMO
As palavras chave da estrutura PARA PROXIMO são:
Neste tipo de construção a rotina sempre entra na estrutura a
primeira vez, visto que no inicio da estrutura temos uma atribuição: VAR =
VI (valor inicial), repete tudo que estiver dentro da estrutura até encontrar
a palavra PROXIMO. Quando encontra a palavra PROXIMO, pega o valor
do passo, soma na variável de controle e faz um teste com o valor final
(VF), enquanto o valor da variável de controle não for maior do que o valor final (VF), continua
repetindo.
EXEMPLO DE REPETIÇÃO POR CONTADOR FIXO
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.
SOLUÇÃO UTILIZANDO A ESTRUTURA FACA ENQUANTO
Informática - Lógica de Programação
16
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
VARIAVEIS
NUMERICO N1, N2, M, C
CARACTER NOME
INICIO
N1 = 0
N2 = 0
M=0
C=0
ESCREVER “DIGITE O NOME, N1, N2”
FACA ENQUANTO C < 15
LER NOME
LER N1
LER N2
M = (N1+N2)/2
ESCREVER NOME, N1, N2, M.
C=C+1
FIM_ENQUANTO
FIM
SOLUÇÃO UTILIZANDO A ESTRUTURA PARA PROXIMO
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
EXEMPLO DE REPETIÇÃO POR FLAG DE RESPOSTA
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.
Informática - Lógica de Programação
17
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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
EXEMPLO DE REPETIÇÃO POR FLAG PREDETERMINADO
Problema: Ler o nome e duas notas para uma turma de alunos, calcular a média e mostrar o
nome, as duas notas e a média de cada aluno. O programa irá terminar quando o usuário
digitar a palavra “FIM”, como conteúdo da variável
Nome, em vez de um nome válido.
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
Informática - Lógica de Programação
18
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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 SELEÇÃO SIMPLES - SE
Informática - Lógica de Programação
19
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
ESTRUTURA DE SELEÇÃO COMPOSTA
ESTRUTURA DE SELEÇÃO MÚLTIPLA
ESTRUTURA DE REPETIÇÃO
Informática - Lógica de Programação
20
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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.
Para inserir módulos em um algoritmo existem os comandos Procedimento e Função.
As ações de procedimento e função estão hierarquicamente subordinadas a um algoritmo
principal, geralmente, chamado de Módulo Principal. Dentro de um procedimento ou uma
função, pode haver o chamamento de outros procedimentos ou funções
DIFERENÇA ENTRE PROCEDIMENTO E FUNÇÃO
A diferença entre Procedimento e Função é que o Procedimento executa uma tarefa e
não retorna valores para o módulo que o chamou, já a Função também executa uma tarefa,
mas obrigatoriamente deverá retornar um resultado para o módulo que a chamou. A chamada
de um procedimento é feita como uma linha de comando normal, repassando ou não
parâmetros (argumentos); já a chamada de uma função sempre deve ser por atribuição a uma
variável ou por um teste condicional, também repassando ou não parâmetros (argumentos).
Parâmetros (argumentos)
Na técnica de modularização podem ser utilizados pontos de comunicação entre os
módulos. Esses pontos, chamados Parâmetros, classificam-se em formais e reais.
Informática - Lógica de Programação
21
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
PASSAGEM DE PARÂMETROS
PASSAGEM DE PARÂMETROS POR VALOR Quando passamos parâmetros por valor,
na verdade estamos enviando uma cópia do valor original da variável. Portanto, se no
Procedimento ou Função este valor for alterado, não modificará o conteúdo da variável cujo
valor foi repassado.
EXEMPLOS DE PROCEDIMENTO E FUNÇÃO
PROCEDIMENTO
Ler o estado civil de uma pessoa como valor numérico, sendo 1 para solteiro, 2 para casado e
3 para outros. Escrever o estado civil em caracteres.
Módulo Principal
VARIAVEIS
Numerico ec, e
INICIO
Ec = 0
Ler ec
Traduz (ec)
FIM
FUNÇÃO
Ler a base e altura de um triângulo,
calculada.
Módulo Principal
VARIAVEIS
Numerico base, altura, área,a
Inicio
Base = 0
Altura = 0
Area = 0
Ler Base
Ler Altura
Area = Calc_Área (Base, Altura)
Escrever Área
FIM
Procedimento Traduz(e)
INICIO
SE e = 1 entao
Escrever “Solteiro”
SENAO
SE e = 2 entao
Escrever “casado”
SENÃO
SE e = 3 entao
Escrever “outros”
SENAO
Escrever “Inválido”
FIM_SE
FIM_SE
FIM_SE a área. Escrever
calcular
FIM
a base, a altura e a área
Funcao Calc_Área(
INICIO
a=b*h
retornar a
FIM
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
Numerico Num, N
INICIO
Num= 0
Mostra(Num)
FIM
PROCEDIMENTO MOSTRA(N)
INICIO
N=N+2
Escrever N
SE N < 10 entao
Mostra(N)
FIM_SE
FIM
RESULTADO
Temos como resultado desse processamento, os seguintes valores:
2 – 4 – 6 – 8 – 10.
Informática - Lógica de Programação
22
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
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.
Matriz numérico V[5]
Índice
1
2
3
4
5
Valores
5
1
5
1
8
3
5
4
0
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
14
60
2
15
17
54
3
30
76
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).
Exemplo: M[2,3], o número 2 indica a linha, e o numero 3 indica a coluna,
Posição do Elemento (local do valor armazenado).
Informática - Lógica de Programação
23
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
ALGORITMOS PARA MANIPULAR VETORES E MATRIZES
Exemplo de Vetor: Algoritmo para ler
e escrever um Vetor de nome V com
cinco posições (elementos).
Exemplo de Matriz: Algoritmo para ler e escrever uma Matriz de nome M com
nove posições (elementos), com três linhas e três colunas.
VARIAVEIS
NUMERICO AUX, L, C
MATRIZ NUMERICO M[3,3]
INÍCIO
AUX = 0
PARA L = 1 ATE 3
PARA C = 1 ATE 3
LER AUX
M[L,C] = AUX
ESCREVER M[L,C]
PROXIMO
PROXIMO
FIM
VARIAVEIS
NUMERICO AUX, I
MATRIZ NUMERICO V[5]
INICIO
AUX = 0
PARA I = 1 ATE 5
LER AUX
EXEMPLO DE ALGORITMO PARA ORDENAR UM VETOR
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
EXERCÍCIOS COM ALGORITMOS
1) Escreva o pseudocódigo em português estruturado que leia três valores em variáveis
distintas e armazene a soma em uma outra variável e escreva o valor obtido.
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.
3) Escreva o pseudocódigo em português estruturado e que leia três valores em diferentes
variáveis e escreva o maior valor digitado.
Informática - Lógica de Programação
24
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
4) Escreva o pseudocódigo em português estruturado que leia dez valores fornecidos pelo
usuário e escreva os valores e seus dobros.
5) Gerar números de zero a 200 variando de 5 em 5. Mostrar estes números digitados e, no
final, a soma deles e quantos números foram gerados.
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.
8) Escreva o pseudocódigo em português estruturado que mostre somente os números pares
de 0 até 100. Se este número for maior que 20, escreva também o seu quadrado.
9) Escreva o pseudocódigo em português estruturado que, para 20 números fornecidos pelo
usuário, escreva a quantidade de positivos e de negativos.
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.
Informática - Lógica de Programação
25
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
18) Ler o nome e número de filhos de 30 pessoas, imprimindo:
a. Quantas pessoas têm de 1 a 3 filhos.
b. Quantas pessoas têm de 4 a 7 filhos.
c. Quantas pessoas têm 8 filhos ou mais.
d. Quantas pessoas não têm filho.
19) Ler nome, idade e sexo de 40 pessoas e após imprimir:
a. Número de pessoas do sexo masculino.
b. Número de pessoas do sexo feminino.
c. Número de pessoas com idade até 30 anos.
d. Número de pessoas com idade igual ou superior a 60 anos.
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.
Informática - Lógica de Programação
26
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
a. Elaborar um algoritmo para ler e imprimir estes dados, além do lucro obtido na venda de
cada televisor.
b. Usar como flag 9 no modelo.
c. Ao final do algoritmo deverá ser impresso um segundo relatório contendo as seguintes
informações:
i. Número de televisores vendidos do modelo 1;
ii. Número de televisores vendidos do modelo 2;
iii. Número de televisores vendidos do modelo 3;
iv. Número de televisores preto e branco vendidos;
v. Número de televisores coloridos vendidos;
vi. Lucro total obtido pela fábrica;
vii. Maior preço de custo;
viii. Maior preço de venda.
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.
Informática - Lógica de Programação
27
Hino Nacional
Hino do Estado do Ceará
Ouviram do Ipiranga as margens plácidas
De um povo heróico o brado retumbante,
E o sol da liberdade, em raios fúlgidos,
Brilhou no céu da pátria nesse instante.
Poesia de Thomaz Lopes
Música de Alberto Nepomuceno
Terra do sol, do amor, terra da luz!
Soa o clarim que tua glória conta!
Terra, o teu nome a fama aos céus remonta
Em clarão que seduz!
Nome que brilha esplêndido luzeiro
Nos fulvos braços de ouro do cruzeiro!
Se o penhor dessa igualdade
Conseguimos conquistar com braço forte,
Em teu seio, ó liberdade,
Desafia o nosso peito a própria morte!
Ó Pátria amada,
Idolatrada,
Salve! Salve!
Brasil, um sonho intenso, um raio vívido
De amor e de esperança à terra desce,
Se em teu formoso céu, risonho e límpido,
A imagem do Cruzeiro resplandece.
Gigante pela própria natureza,
És belo, és forte, impávido colosso,
E o teu futuro espelha essa grandeza.
Terra adorada,
Entre outras mil,
És tu, Brasil,
Ó Pátria amada!
Dos filhos deste solo és mãe gentil,
Pátria amada,Brasil!
Deitado eternamente em berço esplêndido,
Ao som do mar e à luz do céu profundo,
Fulguras, ó Brasil, florão da América,
Iluminado ao sol do Novo Mundo!
Do que a terra, mais garrida,
Teus risonhos, lindos campos têm mais flores;
"Nossos bosques têm mais vida",
"Nossa vida" no teu seio "mais amores."
Ó Pátria amada,
Idolatrada,
Salve! Salve!
Brasil, de amor eterno seja símbolo
O lábaro que ostentas estrelado,
E diga o verde-louro dessa flâmula
- "Paz no futuro e glória no passado."
Mas, se ergues da justiça a clava forte,
Verás que um filho teu não foge à luta,
Nem teme, quem te adora, a própria morte.
Terra adorada,
Entre outras mil,
És tu, Brasil,
Ó Pátria amada!
Dos filhos deste solo és mãe gentil,
Pátria amada, Brasil!
Mudem-se em flor as pedras dos caminhos!
Chuvas de prata rolem das estrelas...
E despertando, deslumbrada, ao vê-las
Ressoa a voz dos ninhos...
Há de florar nas rosas e nos cravos
Rubros o sangue ardente dos escravos.
Seja teu verbo a voz do coração,
Verbo de paz e amor do Sul ao Norte!
Ruja teu peito em luta contra a morte,
Acordando a amplidão.
Peito que deu alívio a quem sofria
E foi o sol iluminando o dia!
Tua jangada afoita enfune o pano!
Vento feliz conduza a vela ousada!
Que importa que no seu barco seja um nada
Na vastidão do oceano,
Se à proa vão heróis e marinheiros
E vão no peito corações guerreiros?
Se, nós te amamos, em aventuras e mágoas!
Porque esse chão que embebe a água dos rios
Há de florar em meses, nos estios
E bosques, pelas águas!
Selvas e rios, serras e florestas
Brotem no solo em rumorosas festas!
Abra-se ao vento o teu pendão natal
Sobre as revoltas águas dos teus mares!
E desfraldado diga aos céus e aos mares
A vitória imortal!
Que foi de sangue, em guerras leais e francas,
E foi na paz da cor das hóstias brancas!
Download

Lógica de Programação