Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

LÓGICA DE 
PROGRAMAÇÃO E 
ALGORITMOS - LPA
Prof.ª Me. Liliane Balduino de Carvalho Coelho
e-mail: liliane.coelho@docente.unip.br
1
PLANO DE 
ENSINO
2
PLANO DE ENSINO
3
⦁ PLANO DE ENSINO
CURSO: Ciência da Computação ANO APLICAÇÃO: 
2023-2
SÉRIE: 2º/1º 
semestre
DISCIPLINA: J701 – Lógica de Programação e 
Algoritmos
C. H. SEMANAL: 4,5 horas
PROFESSOR: Liliane Balduino de Carvalho Coelho C. H. SEMESTRAL: 90 horas
PLANO DE 
ENSINO
• 1. EMENTA
• Lógica de programação. Técnica de
desenvolvimento de algoritmo.
Atribuição. Entrada e saída. Fluxo de
execução. Entradas de controle de
fluxo de execução. Tipos primitivos
de dados. Ferramentas para
elaboração de algoritmos.
Fluxograma e pseudocódigo.
4
2. OBJETIVO GERAL
Desenvolver o raciocínio lógico aplicado à solução 
de problemas em nível computacional.
3. OBJETIVOS ESPECÍFICOS
Capacitar o aluno a analisar problemas, projetar e 
validar soluções para os mesmos, através do uso de 
técnica e ferramentas de programação que envolvam 
raciocínio estruturado e modularização. 
PLANO DE ENSINO
5
4. COMPETÊNCIAS
Ser capaz de desenvolver raciocínio lógico, e ordenado, no 
desenvolvimento de algoritmos para atingir as soluções 
necessárias ao desenvolvimento de projetos de software. 
Compreender os algoritmos básicos necessários para o 
desenvolvimento de algoritmos. Aplicar o conhecimento acerca 
dos algoritmos básicos como base para o desenvolvimento de 
novos algoritmos. Conhecer as ferramentas de suporte ao 
desenvolvimento de algoritmos. 
PLANO DE 
ENSINO
6
5 – CONTEÚDO PROGRAMÁTICO
MODÚLO 01
• Conceitos Básicos
Conceito de Algoritmo
• Método para a construção de algoritmos
• Tipos de Algoritmos
• Descrição Narrativa
• Fluxograma
• Pseudocódigo ou portugol
• Exemplos de Algoritmos
• MÓDULO 02
• Conceito de Variável
• Tipos de Dados
• Numérico
• Lógico
• Literal ou caractere
• Formação de Identificadores
• Exemplo de Identificadores
PLANO DE 
ENSINO
7
MÓDULO 03
Estrutura Sequencial
• Estrutura sequencial em algoritmos.
o Declaração de Variáveis em algoritmos.
o Comando de atribuição em algoritmos.
• Exercícios
MÓDULO 04
• Continuação de Estrutura sequencial
• Comando de Entradas em algoritmos
• Comando de saída em algoritmos.
MÓDULO 05
Estrutura Condicional
• Estrutura condicional em algoritmos
• Estrutura condicional simples
• Estrutura condicional composta
• Exercícios
PLANO DE 
ENSINO
8
MÓDULO 6: EXERCICIOS
• Estrutura condicional
MÓDULO 07
• Estrutura CASE
• Operadores Lógicos
• Exercícios 
MÓDULO 08
Estrutura de Repetição
• Estrutura de repetição em algoritmo
• Estrutura de repetição para números definidos de 
repetições (estrutura PARA)
PLANO DE 
ENSINO
9
MÓDULO 09
• Estrutura de repetição para número indefinido de 
repetições e testes no início (estrutura ENQUANTO)
• Estrutura de repetição para número indefinido de 
repetições e teste no final (estrutura REPITA)
MÓDULO 10
• Vetor simples
MÓDULO 11
• Vetor composto
MÓDULO 12
Funções
PLANO DE ENSINO
10
6 – ESTRATÉGIAS DE TRABAHO
As disciplinas são ministradas preferencialmente por meio de aulas
expositivas, metodologias ativas e diversificadas apoiadas nos planos de
ensino. O desenvolvimento dos conceitos e conteúdos ocorre com apoio
de propostas de leituras de livros e artigos científicos básicos e
complementares, exercícios, discussões em fórum/chats ou presenciais -
quando for o caso, sugestões de filmes, vídeos e demais recursos
audiovisuais. Com o objetivo de aprofundar e enriquecer o domínio dos
conhecimentos e incentivar a pesquisa, o docente pode propor trabalhos
individuais ou em grupo, palestras, atividades complementares e práticas
em diferentes cenários, que permitam aos alunos assimilarem os
conhecimentos essenciais para sua formação. Uso da ferramenta VisualG
para elaboração e testes de algoritmos.
PLANO DE ENSINO
11
7. AVALIAÇÃO
A média do semestre será calculada de acordo com o Regimento da IES. As avaliações e
o critério de aprovação seguem o determinado pela instituição, conforme divulgação
feita no manual do aluno. É exigida a frequência mínima de 75%. O desempenho do 
aluno é avaliado numa escala de 0 (zero) a 10 (dez).
PLANO DE ENSINO
12
8. BIBLIOGRAFIA
Básica
ASCENCIO, Ana Fernanda G. CAMPOS, Edilene A. V. de. Fundamentos da Programação de Computadores : Algoritmos, Pascal 
e C/C++. 2.ed. Prentice Hall, 2008.
https://plataforma.bvirtual.com.br/Leitor/Publicacao/417/pdf/0. Acesso em: 09 nov. 2022
CARBONI, Irenice de Fátima. Lógica de Programação. Thomson.
XAVIER, Gley Fabiano Cardoso. Lógica de Programação - Cd-rom. Senac São Paulo – 2007.
Complementar
CARVALHO, Fábio Romeu, ABE, Jair Minoro. Tomadas de decisão com ferramentas da lógica paraconsistente anotada: Método 
Paraconsistente de Decisão (MPD). São Paulo: Blucher, 2012. https://plataforma.bvirtual.com.br/Leitor/Publicacao/177681/pdf/0. 
Acesso em: 10 nov. 2022. 
FORBELLONE, André Luiz Villar. Eberspache, Henri Frederico. Lógica de Programação : a construção de algoritmos e
estrutura de dados. São Paulo: Pearson, 2005.
https://plataforma.bvirtual.com.br/Leitor/Publicacao/323/pdf/0. Acesso em: 09 nov. 2022
LEITE, Mário - Técnicas de Programação – Brasport - 2006.
PAIVA, Severino – Introdução à Programação – Ed. Ciência Moderna – 2008.
PAULA, Everaldo Antonio de. SILVA, Camila Ceccatto da. Lógica de Programação – Viena – 2007.
https://plataforma.bvirtual.com.br/Leitor/Publicacao/417/pdf/0
https://plataforma.bvirtual.com.br/Leitor/Publicacao/177681/pdf/0
https://plataforma.bvirtual.com.br/Leitor/Publicacao/323/pdf/0
PLANO DE ENSINO
13
PLANO DE ENSINO
14
PLANO DE ENSINO
15
AULAS
16
MÓDULO I
CONCEITOS BÁSICOS
17
Conceito de Problema
Problema (Dicionário):
• Questão matemática
proposta para ser resolvida.
• Questão difícil, delicada,
suscetível de diversas
soluções.
• Qualquer coisa de difícil
explicação; mistério, enigma.
• Dúvida, questão.
18
19
Problemas fazem parte do nosso cotidiano.
Sempre que nos deparamos com um problema buscamos um 
procedimento para solucionar o mesmo.
20
Exemplo de problemas cotidianos: Trocar a resistência de um chuveiro. Para 
trocar a resistência de um chuveiro devemos:
1. Adquirir uma resistência nova;
2. Localizar o chuveiro a ser manipulado;
3. Abrir o chuveiro;
4. Retirar a resistência defeituosa;
5. Colocar a resistência nova;
6. Fechar o chuveiro;
7. Descartar a resistência defeituosa.
CONCEITOS BÁSICOS
21
O que orientou a obtenção dos procedimentos para as soluções 
vislumbradas?
A lógica!
O que é lógica?
“A lógica é o ramo da Filosofia e da Matemática que estuda os métodos e 
princípios que permitem fazer distinção entre raciocínios válidos e não 
válidos, determinando o processo que leva ao conhecimento verdadeiro.”
22
O uso da lógica é primordial na solução de problemas. Com 
ela é possível alcançar objetivos com eficiência e eficácia.
Ninguém ensina outra pessoa a pensar, mas a 
desenvolver e aperfeiçoar esta técnica, com 
persistência e constância.
23
Por que Aprenderemos Lógica de
Programação?
A finalidade em aprendermos “lógica de
programação” é justamente fazer com que o
pensamento lógico seja desenvolvido em
nossos cérebros. Para muitos, o pensamento
lógico é uma arte, ou seja, a “arte de
pensar”.
24
25
Diariamente nos deparamos com 
problemas que dependem de 
raciocínio para serem 
solucionados. 
Isso acontece em casa, no 
trabalho, na escola, ..., por 
exemplo, no momento que 
acordamos realizamos uma 
porção de tarefas em uma 
sequência lógica.
26
Não pensamos para realizar tais tarefas, pois já 
são automáticas em nossas rotinas. 
Todos os dias nós acordamos, levantamos da 
cama, vamos até o banheiro, escovamos os 
dentes, tomamos banho, trocamos de roupa, 
tomamos café da manhã e saímos de casa 
para a escola, trabalho etc. Claro que nem 
todos executam todos esses passos e nem 
mesmo nesta mesma ordem. Porém, como 
isso já é automático no dia-a-dia,nós sequer 
pensamos em como realizar essas tarefas.
27
Muitas outras tarefas podem ser observadas no dia a dia:
• Tomar um banho;
• Trocar de roupa;
• Ir para o trabalho;
• Dirigir um veículo;
• Definir o melhor caminho para ir ao trabalho;
• A forma de cálculo de nossa conta de luz, água, telefone 
etc.
28
Na programação acontece a mesma coisa. 
O computador precisa receber as 
instruções de forma lógica e coerente para 
realizar suas tarefas. 
E aplicando com bastante frequência o 
pensamento lógico para a resolução de 
nossos problemas, isso acaba se tornando 
uma coisa natural. Assim como hoje em dia 
é natural a tarefa de acordar ou tomar café 
da manhã.
29
Essa sequência lógica de execução de tarefas leva o nome de 
“algoritmo”.
Conceitos para ALGORITMOS. Vamos citar alguns:
“Um conjunto finito de regras que provê uma sequência de 
operações para resolver um tipo de problema especifico”. (KNUTH)
30
“Sequência ordenada e não ambígua de passos que levam a solução de 
um problema”. (TREMBLAY)
“Processo de cálculo ou resolução de um grupo de problemas 
semelhantes, em que se estipulam, com generalidade e sem restrições, as 
regras formais para a obtenção do resultado ou da solução de um 
problema”. (AURÉLIO)
"Algoritmo é uma sequência de passos que visa atingir um objetivo bem 
definido." (FORBELLONE, 1999).
31
“Algoritmo é a descrição de uma sequência de passos que deve ser seguida 
para a realização de uma tarefa." (ASCENCIO, 1999).
"Algoritmo é uma sequência finita de instruções ou operações cuja 
execução, em tempo finito, resolve um problema computacional, qualquer 
que seja sua instância." (SALVETTI,1999).
"Algoritmo são regras formais para a obtenção de um resultado ou da 
solução de um problema, englobando fórmulas de expressões aritméticas." 
(MANZANO, 1997).
32
“Ação é um acontecimento que, a partir de um estado inicial, 
após um período de tempo finito, produz um estado final 
previsível e bem definido. Portanto, um algoritmo é a 
descrição de um conjunto de comandos que, obedecidos, 
resultam numa sucessão finita de ações." (FARRER, 1999).
Será que fazemos 
algoritmos diariamente???
33
• Algoritmos
No dia a dia fazemos centenas de algoritmos. Por 
exemplo: tomar banho, tomar o café da manhã, 
trocar uma lâmpada, fazer uma ligação 
telefônica, fazer uma receita de bolo, fazer um 
omelete, consultar extrato bancário, etc.
34
Para que serve os Algoritmos?
Serve como modelo para programas, pois
sua linguagem é intermediária à linguagem
humana e às linguagens de programação,
sendo então, uma boa ferramenta na
validação da lógica de tarefas a serem
automatizadas.
35
36
Ao utilizarmos a lógica para listar passos ordenados que resultem 
na solução de um determinado problema estamos construindo 
um algoritmo.
Podemos definir um algoritmo como:
• uma sequência de passos que visa atingir um objetivo bem 
definido;
• uma sequência de passos bem definida que deve ser seguida 
para a realização de uma tarefa ou solução de um problema.
Lógica é a técnica de encadear 
pensamentos para atingir 
determinado objetivo. 
Necessária para desenvolver 
programas e sistemas, pois permite 
definir a sequência lógica para a 
solução de um problema.
37
38
Um exemplo de ambiguidade presente em uma sentença na 
linguagem natural é:
O policial escutou o barulho da porta.
Esta frase pode ter pelo menos três interpretações:
1 - O policial escutou o barulho produzido pela porta.
2 - O policial estava junto à porta e escutou o barulho.
3 - O policial escutou o barulho que veio através da porta.
39
Do ponto de vista computacional um algoritmo será implementado 
em uma linguagem de computação gerando um programa, que visa 
instruir um computador (uma máquina) a executar determinada 
tarefa.
Devemos ter consciência que um computador não é dotado da 
capacidade de tomar decisões com base em premissas.
40
Portanto, não podemos instruir um computador com sentenças dúbias. 
Todo algoritmo deve apresentar algumas características básicas:
• ter fim;
• não dar margem à dupla interpretação (não ambíguo);
• capacidade de receber dado(s) de entrada do mundo exterior;
• poder gerar informações de saída para o mundo externo ao do 
ambiente do algoritmo;
• ser efetivo (todas as etapas especificadas no algoritmo devem ser 
alcançáveis em um tempo finito).
Sendo assim, consideraremos que um algoritmo é uma sequência, 
que não permite ambiguidade, de passos finitos, passível de ser 
executada com um esforço finito em tempo finito.
41
O algoritmo tem como papel fundamental ser o elo de ligação entre dois mundos (real 
e computacional). A atividade de programação tem início com a construção do 
algoritmo.
42Inicia o processo de mapeamento das abstrações
O Gap Semântico, definido 
como “a distância do que o 
usuário solicita para o que 
o analista de sistemas 
compreende”
O que é abstração?
O que é Programação? = ABSTRAÇÃO!
A realidade é complexa 
e rica em detalhes!
O que você abstrai dessa realidade?
Abstração
Abstração
=
Operação mental que 
observa a realidade e 
captura apenas os 
aspectos relevantes 
para um contexto
47
Ao analisarmos as imagens, observamos que muitos podem 
ter a percepção diferente um dos outros, e, portanto, 
abstrair elementos de modo diferente para o mesmo 
cenário. Entende-se então que é importante diversos 
olhares distintos, os quais permitirão abstrair todos os 
objetos relevantes de um determinado negócio (domínio).
A tarefa de programar sistemas computacionais envolve o exercício constante da 
abstração da realidade e sua codificação em uma linguagem de programação.
Abstração
49
Para executar um programa dentro de um computador 
temos que ter em mente três passos essenciais:
Vale lembrar que o computador não toma decisão alguma sozinho, 
portanto nunca podemos dizer que computadores cometem erros. 
Sempre que encontramos um erro, com certeza esse erro foi de origem 
humana.
Conceitos Básicos
Dados de entrada: representam os dados que são fornecidos para o 
computador para que ele possa manipular a saída de saída.
Processamento: qualquer manipulação nos dados de entrada para 
gerar a saída. 
Dados de Saída: estes representam os resultados do processamento 
sobre os dados de entrada. 
50
Exemplo 1: Algoritmo para calcular a média de três valores inteiros: 
Início
Fornecer o primeiro valor inteiro; 
Fornecer o segundo valor inteiro; 
Fornecer o terceiro valor inteiro; 
Somar os três valores; 
Pegar o resultado da soma e dividir por 3; 
Mostrar o resultado obtido;
Fim
51
Para o exemplo anterior, temos: 
• Quais são os dados de entrada? 
R: Três números inteiros.
• Qual é o processamento a ser realizado nos dados de entrada? 
R: Somar os três valores inteiros e dividir o resultado por três.
• Quais são os dados de saída?
R: A média dos três valores inteiros.
Processamento 
dos Dados 
(Processo)
Entrada de 
Dados 
(Fornecidos)
Saída de Dados 
(Resultado)
52
Início
Fornecer o primeiro valor inteiro; 
Fornecer o segundo valor inteiro; 
Fornecer o terceiro valor inteiro; 
Somar os três valores; 
Pegar o resultado da soma e dividir por 3;
 
Mostrar o resultado obtido;
Fim
ENTRADA
PROCESSAMENTO
SAÍDA
53
54
Podemos ter vários algoritmos para a resolução de um mesmo 
problema. Costumamos dizer que a possibilidade de um algoritmo 
ser igual a outro é quase remota (portanto meus queridos alunos, 
colar em uma prova de lógica de programação ou 
desenvolvimento nem pensar !).
55
Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:
1. Compreender completamente o problema a ser resolvido, destacando os 
pontos mais importantes e os objetos que o compõem.
2. Definir os dados de entrada, ou seja, quais dados serão fornecidos e quais 
objetos fazem parte desse cenário-problema.
3. Definir os passos e a ordem a serem realizados: determinar a sequências de 
ações que leve à solução do problema (transforme as entradas nas saídas).
Diretrizes paraa Elaboração de Algoritmos
56
4. Definir o processamento, ou seja, quais
cálculos serão efetuados e quais as restrições
para esses cálculos.
O processamento é responsável pela
transformação dos dados de entrada em dados
de saída. Além disso, deve-se verificar quais
objetos são responsáveis pelas atividades.
Diretrizes para a Elaboração de Algoritmos
57
5.Definir os dados de saída, ou seja, quais
dados serão gerados depois do
processamento.
6. Construir o algoritmo utilizando um dos
seus tipos.
7. Testar o algoritmo realizando simulações.
Diretrizes para a Elaboração de Algoritmos
Propriedades de Algoritmos
Para que se tenha um algoritmo, é preciso:
a) Possuir ações simples e bem definidas (não ambíguas); 
b) Possuir sequência ordenada; 
c) Possuir sequência finita de passos; 
d) Possuir fim (todas as ações devem ser executadas em um tempo 
finito); 
e) Pode receber entradas externas; 
f) Pode fornecer saídas externas.
58
Propriedades de Algoritmos
• Um algoritmo é considerado eficaz, quando o 
resultado pretendido é obtido, 
independentemente do tempo e dos recursos 
utilizados.
• Por outro lado, um algoritmo será 
considerado eficiente, caso consiga atingir o 
resultado esperado no mínimo de tempo e 
com o menor número possível de recursos.
• Um algoritmo deverá ser sempre eficaz e 
eficiente.
59
60
Critérios de qualidade de um programa - Refere-se à 
precisão das informações manipuladas pelo programa, ou 
seja, os resultados gerados pelo processamento do programa 
devem estar corretos, caso contrário o programa 
simplesmente não tem sentido. A seguir são apresentados os 
critérios importantes:
• Generalidade: É interessante que um programa seja tão 
genérico quanto possível de forma a permitir a 
reutilização de seus componentes em outros projetos.
ESTRATÉGIAS A SEREM SEGUIDAS NA RESOLUÇÃO DE PROBLEMAS 
• Eficiência: Refere-se à velocidade de processamento e a correta utilização da 
memória. Um programa deve ter performance SUFICIENTE para atender às 
necessidade do problema e do usuário, bem como deve utilizar os recursos de 
memória de forma moderada, dentro das limitações do problema.
• Modularização: Durante a fase de projeto, a solução do problema total vai sendo 
fatorada em soluções de subproblemas, o que permite geralmente dividir o 
problema em forma natural em módulos com subfunções claramente delimitadas, 
que podem ser implementados separadamente por diversos programadores de 
uma equipe, ou seja, a modularização consiste no particionamento do programa em 
módulos menores bem identificáveis e com funções específicas, de forma que o 
conjunto desses módulos e a interação entre eles permite a resolução do problema 
de forma mais simples e clara.
61
ESTRATÉGIAS A SEREM SEGUIDAS NA RESOLUÇÃO DE PROBLEMAS 
• Clareza: Refere-se à facilidade de leitura do programa. Se um programa for 
escrito com clareza, deverá ser possível a outro programador seguir a lógica do 
programa sem muito esforço, assim como o próprio autor do programa 
entendê-lo após ter estado um longo período afastado dele. A indentação irá 
contribuir com isso.
• Simplicidade: A clareza e precisão de um programa são normalmente 
melhoradas tornando as coisas o mais simples possível, consistentes com os 
objetivos do programa. Muitas vezes torna-se necessário sacrificar alguma 
eficiência de processamento, de forma a manter a estrutura do programa mais 
simples.
62
ESTRATÉGIAS A SEREM SEGUIDAS NA RESOLUÇÃO DE PROBLEMAS 
Ex. “somar dois números”:
• Escrever primeiro número no retângulo A
• Escrever segundo número no retângulo B
• Somar o número do retângulo A com o número 
do retângulo B e 
• escrever o resultado no retângulo C
A B C
+ =
63
Exemplo de algoritmo
10 12 22
64
Antes de nos aprofundarmos nos métodos de construção de algoritmos, 
devemos ter de forma clara a compreensão de alguns conceitos como:
• Constante;
• Variável;
• Identificador;
• Palavra-reservada;
• Entrada;
• Saída.
65
Para uma melhor compreensão dos conceitos citados, analisaremos o problema de 
preparar uma omelete.
Partiremos da lista de ingredientes:
• 5 ovos
• 1/3 de uma xícara de chá de leite
• 2 colheres de sopa de cebolinha verde picada
• 3 pitadas de sal
• 1 colher de sopa de manteiga
66
O procedimento de preparo, em linguagem natural, é o seguinte:
Colocar em uma tigela os ovos, o leite, a cebolinha e o sal. Com a ajuda de 
uma colher de pau bater bem os ingredientes contidos na tigela. Colocar a 
manteiga em uma frigideira e a derreter. Colocar o conteúdo da tigela na 
frigideira e fritar em fogo baixo até a omelete dourar suavemente. Quando 
estiver quase seca, dobrar a omelete ao meio, colocar a omelete em um 
prato. A omelete está pronta para servir.
67
Ao analisarmos o procedimento de preparo percebemos que são 
necessários três recipientes: uma tigela, uma frigideira e um prato, além de 
uma colher de pau.
Podemos visualizar os recipientes como variáveis, pois estes são regiões do 
espaço onde pode-se armazenar inúmeras substâncias.
A colher de pau como uma constante devido a esta representar um objeto 
que participa do processo de preparo da omelete e que ao final se mantém 
inalterado.
Percebemos também que são executadas algumas operações: colocar, 
bater, derreter, fritar, dobrar e servir.
68
Os nomes dos recipientes e os verbos correspondentes às ações podem ser 
visualizados como identificadores, uma vez que estes especificam o que será 
manipulado ou como será manipulado.
Uma observação a ser feita é o fato de não podermos nomear um recipiente 
com um verbo correspondente a uma ação utilizada no processo, logo os 
verbos podem ser considerados como palavras-reservadas.
Os ingredientes constituirão as entradas para o processo e a omelete será a 
saída.
EXEMPLO: para “fazer omelete”
Instruções: “quebrar ovos”, “bater 
ovos”, “pôr sal”, “ligar fogão”, “pôr 
óleo na frigideira”, “pôr frigideira no 
fogo”, “fritar ovos batidos”, etc...
69
EXEMPLO: para “fazer omelete”
 Quanto às instruções isoladas: 
 Só “quebrar ovos”, ou só “pôr óleo na 
frigideira”, não é suficiente para cumprir 
a tarefa “fazer omelete”.
70
EXEMPLO: para “fazer omelete”
 Quanto à sequência lógica:
Se executarmos “fritar ovos batidos” 
antes de “bater ovos”, ou pior, antes de 
“quebrar ovos”, não iremos cumprir a 
tarefa “fazer omelete”
71
72
Representações Lógicas
Existem várias formas para representar a resolução de um problema, vamos 
estudar as seguintes: 
descrição narrativa, pseudocódigo (ou português estruturado ou portugol) e 
Fluxograma (ou Diagrama de Bloco).
73
Descrição Narrativa
Consiste em analisar o enunciado do problema e escrever, utilizando uma 
linguagem natural (por exemplo, a língua portuguesa), os passos a serem 
seguidos para sua resolução.
• Vantagem: não é necessário aprender nenhum conceito novo, pois uma 
língua natural, neste ponto, já é bem conhecida.
• Desvantagem: a língua natural abre espaço para várias interpretações, o que 
posteriormente dificultará a transcrição desse algoritmo para programa.
74
Descrição Narrativa
Algoritmo 1 Somar Três Números
Passo 1 Receber os três números 
Passo 2 Somar os três números 
Passo 3 Mostrar o resultado obtido
75
Descrição Narrativa
Algoritmo 2 Sacar dinheiro no banco 24 horas 
Passo 1 Ir até um banco 24 horas 
Passo 2 Colocar o cartão
Passo 3 Digitar a senha
Passo 4 Solicitar a quantia desejada
Passo 5 Se o saldo for maior ou igual à quantia desejada, sacar; caso 
contrário, mostrar mensagem de impossibilidade de saque
Passo 6 Retirar o cartão
Passo 7 Sair do banco 24 horas
76
Pseudocódigo ou Português Estruturado ou Portugol
Consiste em analisar o enunciado do problema e escrever, por meio de 
regras predefinidas, os passos a serem seguidos para sua resolução.
• Vantagem: a passagem do algoritmo para qualquer linguagem de 
programação é quase imediata, bastando conhecer as palavras reservadas 
dessa linguagem que serão utilizadas.
• Desvantagem: é necessárioaprender as regras do pseudocódigo.
77
Pseudocódigo é o código intermediário entre o português e a linguagem de 
programação. Utilizamos algumas instruções básicas para formar o 
pseudocódigo. A partir dele fica muito mais fácil implementar o programa.
X,
78
Fluxograma ou Diagrama de Bloco
Consiste em analisar o enunciado do problema e escrever, utilizando 
símbolos gráficos predefinidos, os passos a serem seguidos para sua 
resolução.
• Vantagem: o entendimento de elementos gráficos é mais simples que o 
entendimento de textos.
• Desvantagem: é necessário aprender a simbologia dos fluxogramas e, 
além disso, o algoritmo resultante não apresenta muitos detalhes, 
dificultando sua transcrição para um programa.
79
Simbologia Básica utilizada no fluxograma. 
A seguir alguns dos símbolos mais conhecidos 
e utilizados ao longo dos anos, para a 
elaboração de diagramas de bloco.
80
81
82
83
Exemplos:
01) Desenvolva um algoritmo em descrição narrativa, 
pseudocódigo e diagrama de bloco para ler um nome, 
endereço e telefone e imprimi-los na tela.
84
85
86
02) Desenvolva um algoritmo em descrição narrativa, pseudocódigo e diagrama de bloco 
para ler a base e a altura de um retângulo, calcular o seu perímetro e área, e exibir o 
resultado na tela.
87
Pseudocódigo
88
89
90
• Programa de Computador: sequência de
instruções não ambígua e finita em uma
linguagem de programação específica que,
quando executada, resolve um problema
determinado.
• Linguagem de máquina: é a linguagem
binária (composta de zeros e uns) utilizada
pelos computadores, para representar
dados, programas e informações. É tediosa,
difícil de se compreender e fácil de gerar
erros na programação.
91
Compilador x Interpretador
• Compilador: é um programa utilizado para traduzir os programas escritos pelo 
programador nas linguagens de alto nível (programa fonte) para a linguagem de máquina 
(programa executável), a fim de poder ser executado pelo computador. Ex: Linguagem C, 
phyton
• Interpretador: é um programa que traduz os programas escritos pelo programador para a 
linguagem de máquina, no momento da execução (não existindo assim o programa 
executável). Ex: Linguagem PHP e Phyton.
92
93
	Slide 1: LÓGICA DE PROGRAMAÇÃO E ALGORITMOS - LPA
	Slide 2: PLANO DE ENSINO
	Slide 3: PLANO DE ENSINO
	Slide 4: PLANO DE ENSINO
	Slide 5: PLANO DE ENSINO
	Slide 6: PLANO DE ENSINO
	Slide 7: PLANO DE ENSINO
	Slide 8: PLANO DE ENSINO
	Slide 9: PLANO DE ENSINO
	Slide 10: PLANO DE ENSINO
	Slide 11: PLANO DE ENSINO
	Slide 12: PLANO DE ENSINO
	Slide 13: PLANO DE ENSINO
	Slide 14: PLANO DE ENSINO
	Slide 15: PLANO DE ENSINO
	Slide 16: AULAS
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33: Será que fazemos algoritmos diariamente???
	Slide 34
	Slide 35: Para que serve os Algoritmos?
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44: O que é Programação? = ABSTRAÇÃO!
	Slide 45: Abstração
	Slide 46
	Slide 47
	Slide 48: Abstração
	Slide 49
	Slide 50: Conceitos Básicos
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58: Propriedades de Algoritmos
	Slide 59: Propriedades de Algoritmos
	Slide 60
	Slide 61
	Slide 62
	Slide 63: Exemplo de algoritmo
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide 69
	Slide 70
	Slide 71
	Slide 72
	Slide 73
	Slide 74
	Slide 75
	Slide 76
	Slide 77
	Slide 78
	Slide 79
	Slide 80
	Slide 81
	Slide 82
	Slide 83
	Slide 84
	Slide 85
	Slide 86
	Slide 87
	Slide 88
	Slide 89
	Slide 90
	Slide 91
	Slide 92: Compilador x Interpretador
	Slide 93

Mais conteúdos dessa disciplina