lógica de programação, algoritmos e estruturas de …4. nomes de variáveis não podem conter...
TRANSCRIPT
![Page 1: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/1.jpg)
Lógica de Programação,
Algoritmos e Estruturas de Dados Professor:
Vilson Heck Junior [email protected]
![Page 2: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/2.jpg)
Agenda
• Funções Básicas do Software;
• Relações entre áreas;
• Introdução à Algoritmos;
• Introdução à Lógica;
• Introdução à Estruturas de Dados;
Maiores detalhes nas próximas aulas.
![Page 3: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/3.jpg)
FUNÇÕES BÁSICAS DO SOFTWARE
Entrada, Saída e Processamento
![Page 4: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/4.jpg)
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!
![Page 5: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/5.jpg)
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, ...
![Page 6: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/6.jpg)
Função do Software
Software: Algoritmo
Computador: Processamento
Entrada
Saída
![Page 7: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/7.jpg)
RELAÇÕES ENTRE AS ÁREAS
Algoritmos, Lógica e Estruturas de Dados
![Page 8: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/8.jpg)
Composição do Software
30%
30%
30%
10%
Algoritmos
Lógica de Programação
Estruturas de Dados
Linguagem de Programação
![Page 9: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/9.jpg)
Relações entre as Partes
Algoritmos
Estruturas de Dados
Lógica
Linguagem
![Page 10: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/10.jpg)
INTRODUÇÃO À ALGORITMOS
Lógica de Programação, Estruturas de Dados e
![Page 11: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/11.jpg)
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.
![Page 12: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/12.jpg)
Algoritmos
• Informal: “Procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída”.
– Cormen, T. H. Algoritmos – Teoria e Prática, 2001.
![Page 13: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/13.jpg)
• 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é
![Page 14: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/14.jpg)
• 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
![Page 15: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/15.jpg)
INTRODUÇÃO À LÓGICA
Algoritmos, Estruturas de Dados e
![Page 16: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/16.jpg)
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;
![Page 17: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/17.jpg)
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.
![Page 18: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/18.jpg)
Lógica de Programação
• Sequência Lógica Simples para “Passar Café”:
Esquentar Água
Pó de Café no Filtro
Filtro na Jarra
Á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
![Page 19: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/19.jpg)
Lógica de Programação
• Sequência Lógica Simples para “Passar Café”:
Esquentar Água
Pó de Café no Filtro
Filtro na Jarra
Água no Filtro
Água na Chaleira
Café
![Page 20: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/20.jpg)
• 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é
![Page 21: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/21.jpg)
ESTRUTURAS DE DADOS
Algoritmos, Lógica e Introdução à
![Page 22: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/22.jpg)
Estruturas de Dados
Nossos algoritmos trabalham com Dados.
Vamos começar separando o tema:
1. Dados;
2. Estruturas;
3. Armazenamento;
![Page 23: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/23.jpg)
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...
![Page 24: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/24.jpg)
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”.
![Page 25: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/25.jpg)
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!
![Page 26: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/26.jpg)
A Memória do Computador
![Page 27: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/27.jpg)
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.
![Page 28: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/28.jpg)
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.
![Page 29: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/29.jpg)
Como Armazenar Dados?
Tipos de Dados Básicos:
• Inteiro: números inteiros;
• Real: números fracionários;
• Caractere: letras;
• Logico: verdadeiro ou falso;
![Page 30: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/30.jpg)
Como Armazenar Dados?
• Partes básicas de uma variável ou constante:
Conteúdo: 41
Tipo de Dado: Inteiro
Nome: Idade
![Page 31: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/31.jpg)
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
![Page 32: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/32.jpg)
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
![Page 33: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/33.jpg)
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).
![Page 34: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/34.jpg)
• 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:
![Page 35: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/35.jpg)
Como Armazenar Dados?
• Número: OK.
– Mas e uma matriz numérica?
• Letra: OK.
– Mas e um nome?
• Pixel: OK.
– Mas e uma imagem completa?
![Page 36: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/36.jpg)
Estruturas de Dados
• Definição:
– Uma estrutura de dados é um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente.
![Page 37: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/37.jpg)
Estruturas de Dados
• Vetores, Matrizes, Imagens e diversas outras composições de tipos de dados podem ser chamados de estruturas de dados.
• As Estruturas de Dados permitem melhor organização para o armazenamento e manipulação de dados.
![Page 38: Lógica de Programação, Algoritmos e Estruturas de …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](https://reader034.vdocuments.net/reader034/viewer/2022042405/5f1c3f55181a075cce4e705f/html5/thumbnails/38.jpg)
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 em colocar tudo em prática.
Veremos cada um destes mais a fundo.