Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Lógica de Programação PDF
Apostila Lógica de Programação PDF
EDIO N 1 - 2007
___________________________________________________________________
SUMRIO
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 3
Apresentao
Carta do Professor
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 4
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 5
Cronograma de Estudo
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 6
Plano de Estudo
Ementa
Fundamentos da lgica de programao, motivadores e histrico, processo e os
Objetivos da Disciplina
Geral
.Transmitir ao aluno os conhecimentos essenciais para a programao de
Especficos
pseudocdigos e fluxogramas;
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 7
Aula 1
INTRODUO LGICA E AO
PROCESSO DE PROGRAMAO
Objetivos da aula
Contedos da aula
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 8
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 9
Com uma construo cada vez mais fcil, reduz o nvel de domnio do
programador sobre o conhecimento da linguagem. Em caso de problema na
construo do programa, o programador pode ter dificuldades para resolv-lo,
j que no possui um amplo controle sobre as peculiaridades da linguagem;
Com a necessidade de velocidade na construo de sistemas, os aplicativos
utilizados acabam gerando maior importncia que a prpria linguagem. Isso
exige do programador domnio sobre a linguagem, como tambm, sobre o
prprio programa que ser utilizado para implementar a linguagem;
Com o volume cada vez maior de recursos disponveis na linguagem, exige-se
cada vez mais a atualizao do programador em novas tecnologias, sem
conseguir obter o domnio completo de recursos essenciais;
Com a insero de mais recursos linguagem, para que o programador
esteja no topo da tecnologia, precisar dedicar cada vez mais tempo para
aprender e construir recursos, que antes poderiam ser realizados de forma
mais simples.
PERCEBEU O DESAFIO?
medida que evolumos as linguagens de programao, melhoramos
a capacidade e velocidade na construo de programas, mas tambm
geramos cada vez mais opes para se resolver um problema,
aumentando a complexidade para a elaborao de solues.
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 10
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 11
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 12
Dessa forma, podemos descrever sete passos para atender um ciclo de vida
de desenvolvimento:
1. Definio do Problema;
2. Desenho da soluo;
3. Refinamento da soluo;
4. Estratgia de testes do desenvolvimento;
5. Codificao do programa e testes;
6. Documentao;
7. Manuteno do programa.
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 13
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 14
SNTESE
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 15
EXERCCIOS PROPOSTOS
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 16
Aula 2
LINGUAGENS DE PROGRAMAO
Objetivos da aula
Contedos da aula
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 17
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 18
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 19
Programa de Linguagem de
Interpretador Computador
Computador Mquina
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 20
Programa de Linguagem de
Compilador Computador
Computador Mquina
Programa de
Computador
Computador
(em linguagem de
mquina)
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 21
4 PROGRAMAO E A INTERNET
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 23
6 O QUE SO ALGORITMOS?
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 24
SNTESE
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 25
EXERCCIOS PROPOSTOS
___________________________________________________________________
___________________________________________________________________
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 26
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 27
Aula 3
FORMAS DE REPRESENTAO DE
UM ALGORITMO
Objetivos da aula
Contedo da aula
1 FORMAS DE REPRESENTAO DE UM
ALGORITMO
2 O QUE UM PSEUDOCDIGO?
uma forma especial de linguagem, bem mais restrita que a lingua portuguesa
e com significados bem definidos para todas as palavras utilizadas nas instrues
inseridas em um programa. O objetivo principal dessa abordagem permitir ao
programador pensar no problema em si e no nas regras particulares de uma
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 29
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 31
Guia Descrio/Objetivo
Ecran Apresenta os resultados do algoritmo
Informaes Apresenta informaes sobre o sistema
e pontos de observao sobre a
execuo do programa.
Ajuda da Linguagem Manual com as regras da linguagem de
pseudocdigo utilizada na ferramenta.
Figura 8 Pginas do painel de informaes
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 33
ler nome
ler nota1
ler nota2
seno
fimse
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 34
ler nome
fimEnquanto
fim
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 35
5 O QUE UM FLUXOGRAMA?
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 37
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 38
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 39
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 40
SNTESE
Agora sim!
Comeamos a ter uma viso prtica sobre a construo de programas de
computador. Nesta aula voc aprendeu as duas principais representaes que
podem ser utilizadas para a construo de algoritmos. So as ferramentas principais
do curso e servem como principal base para acelerar no conhecimento de
linguagens de programao.
Cabe ressaltar que o uso dessas ferramentas tem como principal objetivo
facilitar a descrio do seu entendimento para a soluo de um problema e a opo
entre pseudocdigo ou fluxograma depender do contexto do problema a ser
resolvido.
Nas prximas aulas voc conhecer os comandos utilizados em cada
representao de um algoritmo, estudando detalhadamente cada exemplo.
At a prxima aula.
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 41
EXERCCIOS PROPOSTOS
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 42
Aula 4
VARIVEIS E CONSTANTES
Objetivos da aula
Contedos da aula
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 43
1 VARIVEIS E CONSTANTES
1.1 VARIVEIS
1.2 CONSTANTES
Toda varivel possui algum contedo que ser armazenado e manipulado pelo
algoritmo. As variveis que sero utilizadas nos algoritmos devem ser declaradas
inicialmente. A declarao de uma varivel indica o tipo de dado que ela pode
guardar no decorrer da execuo do algoritmo (ou no decorrer da execuo do
programa que futuramente ser construdo).
Para declararmos uma varivel, temos que criar-lhe um identificador, que ser
o nome da varivel no algoritmo e tambm temos que definir o tipo de dado que a
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 45
Onde tipo pode ser uma das palavras: inteiro, real, lgico ou texto; o nome
deve seguir as seguintes regras:
Deve comear por um caractere alfabtico;
Pode ser seguido por mais caracteres alfabticos e/ou numricos;
No permitido o uso de caracteres especiais, como: @, #, &, *, +, ? etc.
(exceto o sublinhado).
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 46
X2
3 COMENTANDO ALGORITMOS
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 47
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 48
/ Diviso 2
* Multiplicao 2
+ Adio 3
- Subtrao 3
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 49
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 50
SNTESE
EXERCCIOS PROPOSTOS
( ) 1000 ( ) 4,56
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 51
( ) 12 ( ) .Verdadeiro.
( ) .v. ( ) cinco
( ) Casa 8 ( ) 5
( ) -456 ( ) 456
( ) -4.56 ( ) 45.876
2) Supondo que as variveis Nota1, Nota2, Matrcula e Sexo sero utilizadas para
armazenar as notas de um aluno, o nmero da matrcula do aluno e o sexo do aluno,
respectivamente, efetue abaixo a declarao das variveis e seus tipos
corretamente.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
Variveis
Texto idade, x
Lgico NomeDoPai
___________________________________________________________________
___________________________________________________________________
Aula 5
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 52
ESTRUTURAS DE PROGRAMAO -
CONDICIONAIS
Objetivos da aula
Contedos da aula
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 53
1 ESTRUTURAS DE CONTROLE
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 55
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 57
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 58
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 59
4 BLOCO SE-SENO-ENTO
ler B
se A < B ENTO
escrever "A menor que B!!"
fimse
fim
Observe que, no exemplo, caso o usurio digitar o valor de B maior do que A,
nada ir acontecer no programa. Se desejarmos apresentar alguma instruo para o
B ser maior que A, precisamos utilizar a palavra SENO. Por exemplo:
inicio
inteiro A
inteiro B
escrever "Digite um valor para A:"
ler A
escrever "Digite um valor para B:"
ler B
se A < B ENTO
escrever "A menor que B!!"
SENO
escrever "B menor que A!!"
fimse
fim
5 BLOCO ESCOLHE-CASO
Por exemplo:
inicio
real a, b, resposta
inteiro escolha
a <- 20
b <- 5
resposta <- 0
escrever "O que voc quer ver: 1 = soma 2 = multiplicao 3 = diviso"
ler escolha
escolhe escolha
caso 1:
resposta <- a + b
escrever "A resposta "
escrever resposta
caso 2:
resposta <- a * b
escrever "A resposta "
escrever resposta
caso 3:
resposta <- a / b
escrever "A resposta "
escrever resposta
defeito:
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 62
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 64
Alm disso, o editor tambm apresenta cores diferentes para os elementos que
compem as instrues digitadas, exemplo: valores em vermelho e smbolo de
atribuio de valor em azul.
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 65
SNTESE
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 66
EXERCCIOS PROPOSTOS
1) Numa festa, foi feito um sorteio para distribuir um prmio. Cinco pessoas foram
sorteadas e deveriam pegar uma bola numerada de 1 a 5, Conforme o algarismo
sorteado o prmio ser:
Nmero da Bola % do prmio
1 10%
2 25%
3 15%
4 20%
5 30%
O usurio dever informar o valor do prmio e qual o nmero da bola que tirou.
Calcule o valor do prmio e escreva na tela, utilizando o desvio ESCOLHE- CASO.
Construa o algoritmo usando o software PORTUGOL.
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 67
4) Faa um algoritmo que aps receber dois valores numricos, calcule a mdia e
imprima o resultado se, e somente se for maior que 33.
Aula 6
ESTRUTURAS DE PROGRAMAO -
REPETIO
Objetivos da aula
Contedos da aula
Bem vindo a mais esta aula do curso. Veja que agora vamos evoluir o
conceito de lgica condicional, usando blocos de repetio e
entender quando utilizar uma condio ou outra, de acordo com o
problema a ser resolvido.
Boa aula!
1 ESTRUTURAS DE REPETIO
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 69
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 70
2 BLOCO ENQUANTO-FAZ
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 71
3 BLOCO FAZ-ENQUANTO
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 72
4 BLOCO PARA-AT-PASSO
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 73
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 74
5 CONTADOR E ACUMULADOR
SNTESE
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 75
EXERCCIOS PROPOSTOS
2) Escreva um algoritmo para ler dois valores. Aps a leitura deve-se calcular a
soma dos valores lidos e armazen-la em uma varivel. Aps o clculo da soma,
escrever o resultado e escrever tambm a pergunta 'Novo Clculo (S/N)?'. Deve-
se ler a resposta e se a resposta for 'S' (sim), deve-se repetir todos os comandos
(instrues) novamente, mas se a resposta for 'N' (no), o algoritmo deve ser
finalizado escrevendo a mensagem 'Fim dos Clculos'.
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 76
Aula 7
MODULARIZAO DE ALGORITMOS
Objetivos da aula
Contedos da aula
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 77
1 MODULARIZAO
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 78
pelo usurio. Um subalgoritmo pode ser chamado pelo algoritmo principal ou por
outros subalgoritmos que compem o programa. Quando ocorre a chamada ao
subalgoritmo, as instrues contidas sero executadas e, aps sua execuo, o
processamento do programa retornar para o ponto de chamada.
Algumas caractersticas de um algoritmo refletem a abordagem de
modularizao:
Confiabilidade: pela diviso do problema em pequenas partes simples,
aumenta a possibilidade da soluo correta;
Legibilidade: o programa fcil de ser lido e entendido por um programador
de nvel mdio;
Facilidade de manuteno: o programa fcil de ser modificado. Quando
houver necessidade de mudana, a alterao ser facilmente implementada.
Na verdade, apenas pequenas partes recebero modificaes;
Flexibilidade: o programa fcil de ser reutilizado.
Por exemplo:
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 79
2 MDULOS
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 81
3 FUNES
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 82
4 PASSAGEM DE PARMETROS
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 83
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 84
SNTESE
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 85
EXERCCIOS PROPOSTOS
Algoritmos
SOCIESC Sociedade Educacional de Santa Catarina 86
REFERNCIAS
LOGICA DE PROGRAMAAO
A CONSTRUO DE ALGORITMOS E ESTRUTURA DE DADOS
Autor: FORBELLONE, A. e EBERSPACHER, H.
Editora: MAKRON
LGICA DE PROGRAMAO
Autor: FORBELLONE, ANDRE LUIZ
Editora: PRENTICE HALL BRASIL
LGICA DE PROGRAMAO
Autor: XAVIER, GLEY FABIANO CARDOSO
Editora: SENAC SO PAULO
LGICA DE PROGRAMAO
Autores: BERG, ALEXANDRE CRUZ e FIGUEIRO, JOICE PAVEK
Editora: ULBRA
Algoritmos