Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda Funes Bsicas do Software; Relaes entre reas; Introduo Algoritmos; Introduo Lgica; Introduo Estruturas de Dados;
Maiores detalhes nas prximas aulas.
FUNES BSICAS DO SOFTWARE Entrada, Sada e Processamento Funo do Software 1. O que faz um software? Processamento! 2. O que um software precisa para processar? Informaes ou Dados! 3. Qual o resultado de um processamento? Informaes, Dados ou Conhecimento! Funo do Software 4. Como definir o processamento? Atravs do Algoritmo! 5. De onde obter as informaes serem processadas? Entrada! Teclado, Arquivos, Bancos de Dados, ... 6. Como utilizar o resultado do processamento? Sada! Tela, Arquivos, Comandos eltricos, ... Funo do Software Software: Algoritmo Computador: Processamento Entrada Sada RELAES ENTRE AS REAS Algoritmos, Lgica e Estruturas de Dados Composio do Software 30% 30% 30% 10% Algoritmos Lgica de Programao Estruturas de Dados Linguagem de Programao Relaes entre as Partes Algoritmos Estruturas de Dados Lgica Linguagem INTRODUO ALGORITMOS Lgica de Programao, Estruturas de Dados e Algoritmos Forma de descrever uma tarefa, funo ou programa de computador; Pode ser representado por pseudocdigo ou fluxograma; Representa uma sequncia de passos que o computador deve executar a fim de atingir ou obter um resultado. 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 sada. Cormen, T. H. Algoritmos Teoria e Prtica, 2001. Instrues 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 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 INTRODUO LGICA Algoritmos, Estruturas de Dados e Lgica de Programao Lgica de programao a tcnica de encadear pensamentos para atingir determinado objetivo Paulo Srgio de Moraes Unicamp
Importncia? Requisito para programar; Grande diferencial entre os programadores; Reconhecer, interpretar e estruturar o problema: Solucionar o problema; Lgica de Programao
Definies: Instrues: (algoritmo) Comandos ou aes; Atividade parcial; Sequncia Lgica: (lgica) Ordem das instrues; Completar a atividade.
Lgica de Programao Sequncia Lgica 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 Lgica de Programao Sequncia Lgica Simples para Passar Caf: Esquentar gua P de Caf no Filtro Filtro na Jarra gua no Filtro gua na Chaleira Caf Sequncia Lgica Simples para Passar Caf: Lgica de Programao Esquentar gua P de Caf no Filtro Filtro na Jarra gua no Filtro gua na Chaleira Caf ESTRUTURAS DE DADOS Algoritmos, Lgica e Introduo Estruturas de Dados Nossos algoritmos trabalham com Dados. Vamos comear separando o tema: 1. Dados; 2. Estruturas; 3. Armazenamento;
Dados na Informtica O que , ou pode ser, um dado? um nmero; um nome; um endereo; o valor de um produto; um pixel de uma imagem; Pode ser muitas coisas...
Estruturas Para voc, o que uma estrutura? algo que d forma? algo que sustenta? Segundo Houaiss: aquilo que d sustentao (concreta ou abstrata) a alguma coisa; armao, arcabouo. Como Armazenar Dados? Dados so representados em pequenas estruturas e em geral so chamados de variveis ou constantes!
Tudo que armazenado dentro do computador, permanece em alguma memria! A Memria do Computador
Como Armazenar Dados? Variveis: armazenam dados em carter temporrio e tem contedo dinmico, ou seja, podem ser acessadas ou alteradas a qualquer momento; Constantes: so dados estticos, o seu contedo pode ser acessado a qualquer momento, mas ser definido no momento de sua criao e no poder ser mais alterado. Como Armazenar Dados? Todas as variveis ou constantes so estruturadas por um tipo de dado! Idade: nmero inteiro; Peso: nmero fracionrio; Letra: um caractere; Um pixel: Um nmero inteiro que representa a luminosidade.
Como Armazenar Dados? Partes bsicas de uma varivel ou constante: Contedo: 41 Tipo de Dado: Inteiro Nome: Idade Como Armazenar Dados? Declarando uma varivel, precisamos determinar: Tipo de Dado: Referente aos valores que sero armazenados; Nome: Identificao da varivel, algo que indique o que ela armazena; Valor: Pr-determinado ou ps-determinado? Sintaxe: Nome: TipodeDado 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 Como Armazenar Dados? Regras para Nomear Variveis: 1. nomes de variveis no podem ser iguais a palavras reservadas; 2. nomes de variveis devem possuir como primeiro caractere uma letra ou sublinhado '_' (os outros caracteres podem ser letras, nmeros e sublinhado); 3. nomes de variveis no devem ser muito longas; 4. nomes de variveis no podem conter espaos em branco; 5. na sintaxe do Portugus Estruturado, no h diferena entre letras maisculas de minsculas (NOME o mesmo que noMe). Algoritmo para somar nmeros: 1. x: inteiro 2. y: inteiro 3. soma: inteiro 4. x <- 10 5. y <- 20 6. soma <- x + y 7. escreva(soma) Sada Processamento Entrada Declaraes Exemplo de Aplicao 1: Como Armazenar Dados? Nmero: OK. Mas e uma matriz numrica? Letra: OK. Mas e um nome? Pixel: OK. Mas e uma imagem completa? Estruturas de Dados Definio: Uma estrutura de dados um modo particular de armazenamento e organizao de dados em um computador de modo que possam ser usados eficientemente. Estruturas de Dados Vetores, Matrizes, Imagens e diversas outras composies de tipos de dados podem ser chamados de estruturas de dados. As Estruturas de Dados permitem melhor organizao para o armazenamento e manipulao de dados. Concluses Algoritmos nos mostram os passos; Lgica se preocupa com a coerncia; Estruturas de dados com o armazenamento e manipulao dos dados; A linguagem em colocar tudo em prtica.