Você está na página 1de 34

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 Seqüência Lógica.
o Instruções.
o 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.
Procedimento Traduz(e)
Módulo Principal
INICIO
VARIAVEIS
SE e = 1 entao
Numerico ec, e
Escrever “Solteiro”
INICIO SENAO
Ec = 0 SE e = 2 entao
Ler ec Escrever “casado”
Traduz (ec) SENÃO
FIM SE e = 3 entao
Escrever “outros”
SENAO
Escrever “Inválido”
FIM_SE
FUNÇÃO FIM_SE
Ler a base e altura de um triângulo, calcular
FIM_SE a área. Escrever a base, a altura e a área
FIM
calculada.
Módulo Principal Funcao Calc_Área(
VARIAVEIS INICIO
Numerico base, altura, área,a a=b*h
Inicio retornar a
Base = 0 FIM
Altura = 0
Area = 0
Ler Base
Ler Altura
Area = Calc_Área (Base, Altura)
Escrever Área
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 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.

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 1 3 4
5 8 5 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 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).

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 Exemplo de Matriz: Algoritmo para ler e escrever uma Matriz de nome M com
e escrever um Vetor de nome V com nove posições (elementos), com três linhas e três colunas.
cinco posições (elementos).
VARIAVEIS
NUMERICO AUX, L, C
VARIAVEIS MATRIZ NUMERICO M[3,3]
NUMERICO AUX, I INÍCIO
MATRIZ NUMERICO V[5] AUX = 0
INICIO PARA L = 1 ATE 3
AUX = 0 PARA C = 1 ATE 3
PARA I = 1 ATE 5 LER AUX
LER AUX M[L,C] = AUX
ESCREVER M[L,C]
PROXIMO
PROXIMO
FIM

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 Poesia de Thomaz Lopes


De um povo heróico o brado retumbante, Música de Alberto Nepomuceno
E o sol da liberdade, em raios fúlgidos, Terra do sol, do amor, terra da luz!
Brilhou no céu da pátria nesse instante. Soa o clarim que tua glória conta!
Terra, o teu nome a fama aos céus remonta
Se o penhor dessa igualdade Em clarão que seduz!
Conseguimos conquistar com braço forte, Nome que brilha esplêndido luzeiro
Em teu seio, ó liberdade, Nos fulvos braços de ouro do cruzeiro!
Desafia o nosso peito a própria morte!
Mudem-se em flor as pedras dos caminhos!
Ó Pátria amada, Chuvas de prata rolem das estrelas...
Idolatrada, E despertando, deslumbrada, ao vê-las
Salve! Salve! Ressoa a voz dos ninhos...
Há de florar nas rosas e nos cravos
Brasil, um sonho intenso, um raio vívido Rubros o sangue ardente dos escravos.
De amor e de esperança à terra desce, Seja teu verbo a voz do coração,
Se em teu formoso céu, risonho e límpido, Verbo de paz e amor do Sul ao Norte!
A imagem do Cruzeiro resplandece. Ruja teu peito em luta contra a morte,
Acordando a amplidão.
Gigante pela própria natureza, Peito que deu alívio a quem sofria
És belo, és forte, impávido colosso, E foi o sol iluminando o dia!
E o teu futuro espelha essa grandeza.
Tua jangada afoita enfune o pano!
Terra adorada, Vento feliz conduza a vela ousada!
Entre outras mil, Que importa que no seu barco seja um nada
És tu, Brasil, Na vastidão do oceano,
Ó Pátria amada! Se à proa vão heróis e marinheiros
Dos filhos deste solo és mãe gentil, E vão no peito corações guerreiros?
Pátria amada,Brasil!
Se, nós te amamos, em aventuras e mágoas!
Porque esse chão que embebe a água dos rios
Deitado eternamente em berço esplêndido, Há de florar em meses, nos estios
Ao som do mar e à luz do céu profundo, E bosques, pelas águas!
Fulguras, ó Brasil, florão da América, Selvas e rios, serras e florestas
Iluminado ao sol do Novo Mundo! Brotem no solo em rumorosas festas!
Abra-se ao vento o teu pendão natal
Do que a terra, mais garrida, Sobre as revoltas águas dos teus mares!
Teus risonhos, lindos campos têm mais flores; E desfraldado diga aos céus e aos mares
"Nossos bosques têm mais vida", A vitória imortal!
"Nossa vida" no teu seio "mais amores." Que foi de sangue, em guerras leais e francas,
E foi na paz da cor das hóstias brancas!
Ó 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!

Você também pode gostar