SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Lógica de Programação, Algoritmos e
Estruturas de Dados
Professores:
Juliano Lucas Gonçalves
juliano.goncalves@ifsc.edu.br
Introdução a Programação
1
Agenda
• Funções Básicas do Software;
• Introdução à Algoritmos;
• Introdução à Lógica;
• Introdução à Estruturas de Dados;
2
FUNÇÕES BÁSICAS DO SOFTWARE
Entrada, Saída e Processamento
3
Função do Software
1. O que faz um software?
– Processamento!
2. O que um software precisa para processar?
– Informações ou Dados!
3. Qual é o resultado de um processamento?
– Informações, Dados ou Conhecimento!
4
Função do Software
4. Como definir o processamento?
– Através do Algoritmo!
5. De onde obter as informações à serem
processadas?
– Entrada! Teclado, Arquivos, Bancos de Dados, ...
6. Como utilizar o resultado do processamento?
– Saída! Tela, Arquivos, Comandos elétricos, ...
5
Função do Software
Software:
Algoritmo
Computador:
Processamento
Entrada
Saída
6
INTRODUÇÃO À ALGORITMOS
Lógica de Programação, Estruturas de Dados e
7
Algoritmos
• Forma de descrever uma tarefa, função ou
programa de computador;
• Pode ser representado por pseudocódigo ou
fluxograma;
• Representa uma sequência de passos que o
computador deve executar a fim de atingir ou
obter um resultado.
8
• Instruções Simples para “Passar Café”: Quais?
Algoritmo – Passar Café
Esquentar
Água
Pó de Café
no Filtro
Filtro na
Jarra
Água no
Filtro
Água na
Chaleira
Café
10
• Algoritmo: “Passar Café”:
Algoritmo – Passar Café
2 - Esquentar Água
4 - Pó de Café no Filtro
3 - Filtro na Jarra
5 - Água no Filtro
1 - Água na Chaleira
Café
Esquentar
Água
Pó de Café
no Filtro
Filtro na
Jarra
Água no
Filtro
Água na
Chaleira
11
O PROBLEMA DE SER
PROGRAMADOR
Minha mulher disse:
“Amor, vá ao mercado e compre 1 litro de leite. Se eles tiverem ovos, traga 6.”
Eu voltei com 6 litros de leite.
Ela disse: “Porque diabos você comprou 6 litros de leite?”
“PORQUE ELES TINHAM OVOS!!!”
12
INTRODUÇÃO À LÓGICA
Algoritmos, Estruturas de Dados e
13
O que é Lógica?
• Trata da Correção do Pensamento;
• Porque pensamos assim e não de outro
jeito?
• A Lógica estuda ou tem em vista a
“correção do raciocínio”
Por isso a Lógica Ensina a “ COLOCAR ORDEM
NO PENSAMENTO”
14
Testando sua Lógica (exercícios)
1. Qual das cinco alternativas representa a melhor comparação? AMOR está para ROMA assim como
5232 está para:
A) 2523
B) 3252
C) 2325
D) 3225
E) 5223
2. Qual é o próximo número da série? 1 – 3 – 6 – 11 – 19 – 32 – 53 – ?
A) 45
B) 93
C) 66
D) 86
E) NDA (Nenhuma das alternativas anteriores)
15
Testando sua Lógica (exercícios)
3. Um agente de viagens atende três amigas. Uma delas é loira, a outra é
morena e a outra é Ruiva. O agente sabe que uma delas se chama Bete, a
outra se chama Elza e a outra se chama Sara. Sabe, ainda, que cada uma delas
fará uma viagem a um país diferente da Europa: uma delas irá à Alemanha, a
outra irá à França e a outra irá à Espanha. Ao agente de viagens, que queria
identificar o nome e o destino de cada uma, eles deram as seguintes dicas:
A loira: “não vou à França nem à Espanha”.
A morena: “Meu nome não é Elza nem Sara”.
“A ruiva: “Nem eu nem Elza Vamos à França”.
O agente de viagens concluiu, então, acertadamente que:
a) A loira é Sara e vai á Espanha.
b) A ruiva é Sara e vai á França
c) A ruiva é Bete e vai à Espanha
d) A morena é Bete e vai à Espanha
e) A loira é Elza e vai à Alemanha
16
Lógica de Programação
“Lógica de programação é a técnica de encadear
pensamentos para atingir determinado objetivo”
Paulo Sérgio de Moraes – Unicamp
• Importância?
– Requisito para programar;
– Grande diferencial entre os programadores;
– Reconhecer, interpretar e estruturar o problema:
• Solucionar o problema;
17
Lógica de Programação
• Definições:
– Instruções: (algoritmo)
• Comandos ou ações;
• Atividade parcial;
– Sequência Lógica: (lógica)
• Ordem das instruções;
• Completar a atividade.
18
Lógica de Programação
• Sequência Lógica Simples para “Passar Café”:
Esquentar
Água
Filtro na
Jarra
Pó de Café
no Filtro
Água no
Filtro
Água na
Chaleira
Café
2 - Esquentar Água
4 - Pó de Café no Filtro
3 - Filtro na Jarra
5 - Água no Filtro
1 - Água na Chaleira
19
Lógica de Programação
• Sequência Lógica Simples para “Passar Café”:
Esquentar
Água
Filtro na
Jarra
Pó de Café
no Filtro
Água no
Filtro
Água na
Chaleira
Café
20
• Sequência Lógica Simples para “Passar Café”:
Lógica de Programação
Esquentar
Água
Pó de Café
no Filtro
Filtro na
Jarra
Água no
Filtro
Água na
Chaleira
Café
21
Exemplo 2
Ex: “Comer uma Bala”
1. Pegar a bala
2. Retirar o papel
3. Colocar a bala na boca
4. Jogar o papel no lixo.
Em síntese, um ALGORITMO é uma sequência lógica de passos ou instruções
finitas que resolvem um determinado problema.
22
Exercícios
Faça um algoritmo (descreva os passos) para realizar as seguintes tarefas:
1. Vir para o IFSC
2. Somar dois números quaisquer
23
ESTRUTURAS DE DADOS
Algoritmos, Lógica e Introdução à
24
Estruturas de Dados
Nossos algoritmos trabalham com Dados.
Vamos começar separando o tema:
1. Dados;
2. Estruturas;
3. Armazenamento;
25
Dados na Informática
• O que é, ou pode ser, um “dado”?
– É um número;
– É um nome;
– É um endereço;
– É o valor de um produto;
– É um pixel de uma imagem;
– Pode ser muitas coisas...
26
Estruturas
• Para você, o que é uma “estrutura”?
– É algo que dá forma?
– É algo que sustenta?
– Segundo Houaiss: “aquilo que dá sustentação
(concreta ou abstrata) a alguma coisa; armação,
arcabouço”.
27
Como Armazenar Dados?
• Dados são representados em pequenas
estruturas e em geral são chamados de
variáveis ou constantes!
• Tudo que é armazenado dentro do
computador, permanece em alguma
memória!
28
A Memória do Computador
29
Como Armazenar Dados?
• Variáveis: armazenam dados em caráter
temporário e tem conteúdo dinâmico, ou seja,
podem ser acessadas ou alteradas a qualquer
momento;
• Constantes: são dados estáticos, o seu
conteúdo pode ser acessado a qualquer
momento, mas será definido no momento de
sua criação e não poderá ser mais alterado.
30
Como Armazenar Dados?
• Todas as variáveis ou constantes são
estruturadas por um tipo de dado!
– Idade:
• número inteiro;
– Peso:
• número fracionário;
– Letra:
• é um caractere;
– Um pixel:
• Um número inteiro que representa a luminosidade.
31
Como Armazenar Dados?
Tipos de Dados Básicos:
• Inteiro: números inteiros;
• Real: números fracionários;
• Caractere: letras;
• Logico: verdadeiro ou falso;
32
Como Armazenar Dados?
• Partes básicas de uma variável ou constante:
Conteúdo:
41
Tipo de
Dado:
Inteiro
Nome:
Idade
33
Como Armazenar Dados?
• Declarando uma variável, precisamos
determinar:
• Tipo de Dado: Referente aos valores que serão
armazenados;
• Nome: Identificação da variável, algo que indique o que
ela armazena;
• Valor: Pré-determinado ou pós-determinado?
– Sintaxe:
Nome: TipodeDado
34
Como Armazenar Dados?
• Atribuindo ou alterando valores dos dados:
– Podemos apenas definir valores coerentes com o
tipo de dado.
– Sintaxe Correta:
Nome <- Valor
– Erros comuns:
Idade: inteiro
Idade <- 22.0
35
Como Armazenar Dados?
• Regras para Nomear Variáveis:
1. nomes de variáveis não podem ser iguais a palavras
reservadas;
2. nomes de variáveis devem possuir como primeiro
caractere uma letra ou sublinhado '_' (os outros
caracteres podem ser letras, números e sublinhado);
3. nomes de variáveis não devem ser muito longas;
4. nomes de variáveis não podem conter espaços em
branco;
5. na sintaxe do Português Estruturado, não há
diferença entre letras maiúsculas de minúsculas
(NOME é o mesmo que noMe).
36
Exercícios
1 – Dê 5 exemplos de nomes válidos para variáveis.
2 – Dê 5 exemplos de nomes inválidos para variáveis
3 – Que nome de variável você daria para representar as
informações abaixo:
a) Numero de filhos de uma pessoa
b) Quantidade de dvds de uma locadora
c) Preço de um carro
d) Nome de uma pessoa
e) Altura média de 10 pessoas
37
Pseudocódigo
• Forma de representação de algoritmos;
• É bem similar ao que será feito quando se
utiliza uma linguagem de programação;
• Mas não é aceito por nenhuma linguagem de
programação (pseudo = falso);
38
Comandos Básico de um
algoritmo em pseudocódigo
• Leia (entrada)
– Ex.: Leia (idade)
• Atribuição (processamento)
– Idade <- 10
• Escreva (saída/resultados)
– Ex.: Escreva (nome)
– Escreva (“Nome”, nome)
39
Estrutura básica de um algoritmo
em pseudocódigo
Declaração de variáveis
40
Inicio (Início do algoritmo)
Fase de Entrada de Dados
Ou Leia (n1)
Leia (n2)
Processamento dos Dados
soma  n1+n2
n1, n2, soma : inteiro
Saída de dados
Escreva (soma)
Fim (fim do algoritmo)
n1 <-10
n2<-20
Operadores Aritméticos
41
Operador Representação
Soma +
Subtração -
Divisão /
Multiplicação *
• Algoritmo para somar números:
1. x: inteiro
2. y: inteiro
3. soma: inteiro
4. x <- 10
5. y <- 20
6. soma <- x + y
7. escreva(soma) Saída
Processamento
Entrada
Declarações
Exemplo de Aplicação 1:
42
Conclusões
• Algoritmos nos mostram os passos;
• Lógica se preocupa com a coerência;
• Estruturas de dados com o armazenamento e
manipulação dos dados;
• A linguagem é colocar tudo em prática.
Veremos cada um destes mais a fundo.
43
Exercícios:
1. Faça um algoritmo que mostre a média da
soma de dois números;
2. Faça um algoritmo que mostre os números
de 1 até 5;
44
Faça um algoritmo em pseudocódigo para:
1. Somar três números inteiros
Exercício
45
46
Teste de Mesa
• Após desenvolver um algoritmo ele deverá sempre ser testado;
• Como testar os algoritmos?
• Coloca-se as variáveis uma ao lado da outra formando colunas;
• Utiliza-se valores quaisquer para as variáveis cujo o resultado final é conhecido.
• Agora pegamos os valores utilizados anteriormente e testamos no algoritmo executando passo a passo
(instrução a instrução;
• Exemplo: Fazer o teste de mesa para o algoritmo somar três números inteiros.
Observação: Valores na cor Azul (Valores quaisquer cujo resultado final é conhecido)
Valores na cor Verde (valores utilizados anteriormente e a saída deve ser calculada executando-se
o algoritmo instrução a instrução)
n1 n2 n3 soma
4 19
10
5
4 ?
10
5 19
4 10
5 ?
-1
19
Situação Conhecida
Algoritmo Correto
Erro no algoritmo
Faça um algoritmo em pseudocódigo para:
1. Somar três números reais
2. Subtrair dois números inteiros
3. Multiplicar dois números reais
4. Somar um número real com um número inteiro
Exercícios
47

Mais conteúdo relacionado

Mais procurados

Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmosJocelma Rios
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
 
Introdução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosIntrodução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosMicael Coutinho
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programaçãoamansilha
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de ProgramaçãoAndré Agostinho
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Thiago Dieb
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Pacc UAB
 

Mais procurados (12)

Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmos
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
Introdução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosIntrodução a Lógica e a Algoritmos
Introdução a Lógica e a Algoritmos
 
Int. à Logica de Programação
Int. à Logica de ProgramaçãoInt. à Logica de Programação
Int. à Logica de Programação
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0
 
Programação de computadores
Programação de computadoresProgramação de computadores
Programação de computadores
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1
 

Semelhante a Lógica de programação e algoritmos

Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programaçãoCarlos Santos
 
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)Carlos Santos
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSprofjotamarcosduarte
 
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptxrapc987
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Aula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdfAula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdfEMERSONMUNIZDECARVAL
 
Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Márcio Santos
 
Fundamento da ciência da computação
Fundamento da ciência da computaçãoFundamento da ciência da computação
Fundamento da ciência da computaçãoMarcos Gregorio
 
Aula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxAula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxMárcio Santos
 
(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programaçãoCarlos Santos
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonGiancarlo Silva
 

Semelhante a Lógica de programação e algoritmos (20)

Ip 01 logica
Ip 01 logicaIp 01 logica
Ip 01 logica
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Lp
LpLp
Lp
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação
 
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
 
Aula1
Aula1Aula1
Aula1
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
 
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Aula02
Aula02Aula02
Aula02
 
Aula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdfAula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdf
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
Introduçao a Algoritmo...................
Introduçao a Algoritmo...................Introduçao a Algoritmo...................
Introduçao a Algoritmo...................
 
Fundamento da ciência da computação
Fundamento da ciência da computaçãoFundamento da ciência da computação
Fundamento da ciência da computação
 
Aula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptxAula 01 - Apresentação - Introdução a Lógica.pptx
Aula 01 - Apresentação - Introdução a Lógica.pptx
 
(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 

Lógica de programação e algoritmos

  • 1. Lógica de Programação, Algoritmos e Estruturas de Dados Professores: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br Introdução a Programação 1
  • 2. Agenda • Funções Básicas do Software; • Introdução à Algoritmos; • Introdução à Lógica; • Introdução à Estruturas de Dados; 2
  • 3. FUNÇÕES BÁSICAS DO SOFTWARE Entrada, Saída e Processamento 3
  • 4. Função do Software 1. O que faz um software? – Processamento! 2. O que um software precisa para processar? – Informações ou Dados! 3. Qual é o resultado de um processamento? – Informações, Dados ou Conhecimento! 4
  • 5. Função do Software 4. Como definir o processamento? – Através do Algoritmo! 5. De onde obter as informações à serem processadas? – Entrada! Teclado, Arquivos, Bancos de Dados, ... 6. Como utilizar o resultado do processamento? – Saída! Tela, Arquivos, Comandos elétricos, ... 5
  • 7. INTRODUÇÃO À ALGORITMOS Lógica de Programação, Estruturas de Dados e 7
  • 8. Algoritmos • Forma de descrever uma tarefa, função ou programa de computador; • Pode ser representado por pseudocódigo ou fluxograma; • Representa uma sequência de passos que o computador deve executar a fim de atingir ou obter um resultado. 8
  • 9. • Instruções Simples para “Passar Café”: Quais? Algoritmo – Passar Café Esquentar Água Pó de Café no Filtro Filtro na Jarra Água no Filtro Água na Chaleira Café 10
  • 10. • Algoritmo: “Passar Café”: Algoritmo – Passar Café 2 - Esquentar Água 4 - Pó de Café no Filtro 3 - Filtro na Jarra 5 - Água no Filtro 1 - Água na Chaleira Café Esquentar Água Pó de Café no Filtro Filtro na Jarra Água no Filtro Água na Chaleira 11
  • 11. O PROBLEMA DE SER PROGRAMADOR Minha mulher disse: “Amor, vá ao mercado e compre 1 litro de leite. Se eles tiverem ovos, traga 6.” Eu voltei com 6 litros de leite. Ela disse: “Porque diabos você comprou 6 litros de leite?” “PORQUE ELES TINHAM OVOS!!!” 12
  • 12. INTRODUÇÃO À LÓGICA Algoritmos, Estruturas de Dados e 13
  • 13. O que é Lógica? • Trata da Correção do Pensamento; • Porque pensamos assim e não de outro jeito? • A Lógica estuda ou tem em vista a “correção do raciocínio” Por isso a Lógica Ensina a “ COLOCAR ORDEM NO PENSAMENTO” 14
  • 14. Testando sua Lógica (exercícios) 1. Qual das cinco alternativas representa a melhor comparação? AMOR está para ROMA assim como 5232 está para: A) 2523 B) 3252 C) 2325 D) 3225 E) 5223 2. Qual é o próximo número da série? 1 – 3 – 6 – 11 – 19 – 32 – 53 – ? A) 45 B) 93 C) 66 D) 86 E) NDA (Nenhuma das alternativas anteriores) 15
  • 15. Testando sua Lógica (exercícios) 3. Um agente de viagens atende três amigas. Uma delas é loira, a outra é morena e a outra é Ruiva. O agente sabe que uma delas se chama Bete, a outra se chama Elza e a outra se chama Sara. Sabe, ainda, que cada uma delas fará uma viagem a um país diferente da Europa: uma delas irá à Alemanha, a outra irá à França e a outra irá à Espanha. Ao agente de viagens, que queria identificar o nome e o destino de cada uma, eles deram as seguintes dicas: A loira: “não vou à França nem à Espanha”. A morena: “Meu nome não é Elza nem Sara”. “A ruiva: “Nem eu nem Elza Vamos à França”. O agente de viagens concluiu, então, acertadamente que: a) A loira é Sara e vai á Espanha. b) A ruiva é Sara e vai á França c) A ruiva é Bete e vai à Espanha d) A morena é Bete e vai à Espanha e) A loira é Elza e vai à Alemanha 16
  • 16. Lógica de Programação “Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo” Paulo Sérgio de Moraes – Unicamp • Importância? – Requisito para programar; – Grande diferencial entre os programadores; – Reconhecer, interpretar e estruturar o problema: • Solucionar o problema; 17
  • 17. Lógica de Programação • Definições: – Instruções: (algoritmo) • Comandos ou ações; • Atividade parcial; – Sequência Lógica: (lógica) • Ordem das instruções; • Completar a atividade. 18
  • 18. Lógica de Programação • Sequência Lógica Simples para “Passar Café”: Esquentar Água Filtro na Jarra Pó de Café no Filtro Água no Filtro Água na Chaleira Café 2 - Esquentar Água 4 - Pó de Café no Filtro 3 - Filtro na Jarra 5 - Água no Filtro 1 - Água na Chaleira 19
  • 19. Lógica de Programação • Sequência Lógica Simples para “Passar Café”: Esquentar Água Filtro na Jarra Pó de Café no Filtro Água no Filtro Água na Chaleira Café 20
  • 20. • Sequência Lógica Simples para “Passar Café”: Lógica de Programação Esquentar Água Pó de Café no Filtro Filtro na Jarra Água no Filtro Água na Chaleira Café 21
  • 21. Exemplo 2 Ex: “Comer uma Bala” 1. Pegar a bala 2. Retirar o papel 3. Colocar a bala na boca 4. Jogar o papel no lixo. Em síntese, um ALGORITMO é uma sequência lógica de passos ou instruções finitas que resolvem um determinado problema. 22
  • 22. Exercícios Faça um algoritmo (descreva os passos) para realizar as seguintes tarefas: 1. Vir para o IFSC 2. Somar dois números quaisquer 23
  • 23. ESTRUTURAS DE DADOS Algoritmos, Lógica e Introdução à 24
  • 24. Estruturas de Dados Nossos algoritmos trabalham com Dados. Vamos começar separando o tema: 1. Dados; 2. Estruturas; 3. Armazenamento; 25
  • 25. Dados na Informática • O que é, ou pode ser, um “dado”? – É um número; – É um nome; – É um endereço; – É o valor de um produto; – É um pixel de uma imagem; – Pode ser muitas coisas... 26
  • 26. Estruturas • Para você, o que é uma “estrutura”? – É algo que dá forma? – É algo que sustenta? – Segundo Houaiss: “aquilo que dá sustentação (concreta ou abstrata) a alguma coisa; armação, arcabouço”. 27
  • 27. Como Armazenar Dados? • Dados são representados em pequenas estruturas e em geral são chamados de variáveis ou constantes! • Tudo que é armazenado dentro do computador, permanece em alguma memória! 28
  • 28. A Memória do Computador 29
  • 29. Como Armazenar Dados? • Variáveis: armazenam dados em caráter temporário e tem conteúdo dinâmico, ou seja, podem ser acessadas ou alteradas a qualquer momento; • Constantes: são dados estáticos, o seu conteúdo pode ser acessado a qualquer momento, mas será definido no momento de sua criação e não poderá ser mais alterado. 30
  • 30. Como Armazenar Dados? • Todas as variáveis ou constantes são estruturadas por um tipo de dado! – Idade: • número inteiro; – Peso: • número fracionário; – Letra: • é um caractere; – Um pixel: • Um número inteiro que representa a luminosidade. 31
  • 31. Como Armazenar Dados? Tipos de Dados Básicos: • Inteiro: números inteiros; • Real: números fracionários; • Caractere: letras; • Logico: verdadeiro ou falso; 32
  • 32. Como Armazenar Dados? • Partes básicas de uma variável ou constante: Conteúdo: 41 Tipo de Dado: Inteiro Nome: Idade 33
  • 33. Como Armazenar Dados? • Declarando uma variável, precisamos determinar: • Tipo de Dado: Referente aos valores que serão armazenados; • Nome: Identificação da variável, algo que indique o que ela armazena; • Valor: Pré-determinado ou pós-determinado? – Sintaxe: Nome: TipodeDado 34
  • 34. Como Armazenar Dados? • Atribuindo ou alterando valores dos dados: – Podemos apenas definir valores coerentes com o tipo de dado. – Sintaxe Correta: Nome <- Valor – Erros comuns: Idade: inteiro Idade <- 22.0 35
  • 35. Como Armazenar Dados? • Regras para Nomear Variáveis: 1. nomes de variáveis não podem ser iguais a palavras reservadas; 2. nomes de variáveis devem possuir como primeiro caractere uma letra ou sublinhado '_' (os outros caracteres podem ser letras, números e sublinhado); 3. nomes de variáveis não devem ser muito longas; 4. nomes de variáveis não podem conter espaços em branco; 5. na sintaxe do Português Estruturado, não há diferença entre letras maiúsculas de minúsculas (NOME é o mesmo que noMe). 36
  • 36. Exercícios 1 – Dê 5 exemplos de nomes válidos para variáveis. 2 – Dê 5 exemplos de nomes inválidos para variáveis 3 – Que nome de variável você daria para representar as informações abaixo: a) Numero de filhos de uma pessoa b) Quantidade de dvds de uma locadora c) Preço de um carro d) Nome de uma pessoa e) Altura média de 10 pessoas 37
  • 37. Pseudocódigo • Forma de representação de algoritmos; • É bem similar ao que será feito quando se utiliza uma linguagem de programação; • Mas não é aceito por nenhuma linguagem de programação (pseudo = falso); 38
  • 38. Comandos Básico de um algoritmo em pseudocódigo • Leia (entrada) – Ex.: Leia (idade) • Atribuição (processamento) – Idade <- 10 • Escreva (saída/resultados) – Ex.: Escreva (nome) – Escreva (“Nome”, nome) 39
  • 39. Estrutura básica de um algoritmo em pseudocódigo Declaração de variáveis 40 Inicio (Início do algoritmo) Fase de Entrada de Dados Ou Leia (n1) Leia (n2) Processamento dos Dados soma  n1+n2 n1, n2, soma : inteiro Saída de dados Escreva (soma) Fim (fim do algoritmo) n1 <-10 n2<-20
  • 40. Operadores Aritméticos 41 Operador Representação Soma + Subtração - Divisão / Multiplicação *
  • 41. • Algoritmo para somar números: 1. x: inteiro 2. y: inteiro 3. soma: inteiro 4. x <- 10 5. y <- 20 6. soma <- x + y 7. escreva(soma) Saída Processamento Entrada Declarações Exemplo de Aplicação 1: 42
  • 42. Conclusões • Algoritmos nos mostram os passos; • Lógica se preocupa com a coerência; • Estruturas de dados com o armazenamento e manipulação dos dados; • A linguagem é colocar tudo em prática. Veremos cada um destes mais a fundo. 43
  • 43. Exercícios: 1. Faça um algoritmo que mostre a média da soma de dois números; 2. Faça um algoritmo que mostre os números de 1 até 5; 44
  • 44. Faça um algoritmo em pseudocódigo para: 1. Somar três números inteiros Exercício 45
  • 45. 46 Teste de Mesa • Após desenvolver um algoritmo ele deverá sempre ser testado; • Como testar os algoritmos? • Coloca-se as variáveis uma ao lado da outra formando colunas; • Utiliza-se valores quaisquer para as variáveis cujo o resultado final é conhecido. • Agora pegamos os valores utilizados anteriormente e testamos no algoritmo executando passo a passo (instrução a instrução; • Exemplo: Fazer o teste de mesa para o algoritmo somar três números inteiros. Observação: Valores na cor Azul (Valores quaisquer cujo resultado final é conhecido) Valores na cor Verde (valores utilizados anteriormente e a saída deve ser calculada executando-se o algoritmo instrução a instrução) n1 n2 n3 soma 4 19 10 5 4 ? 10 5 19 4 10 5 ? -1 19 Situação Conhecida Algoritmo Correto Erro no algoritmo
  • 46. Faça um algoritmo em pseudocódigo para: 1. Somar três números reais 2. Subtrair dois números inteiros 3. Multiplicar dois números reais 4. Somar um número real com um número inteiro Exercícios 47