Desenvolvendo Algoritmos

Slides:



Advertisements
Apresentações semelhantes
TÉCNICAS DE PROGRAMAÇÃO I
Advertisements

Introdução à Programação
Data: 10 a 12 de fevereiro de 2009 e
Construção de Aplicativos Computacionais METEOROLOGIA
Marco Antonio Montebello Júnior
Marco Antonio Montebello Júnior
INTRODUÇÃO – LOGICA E ALGORITMOS
Paradigmas de Linguagens Conceitos Básicos
Algoritmos.
Tipos de dados, Variáveis, Expressões e Operadores
ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES
Capítulo 2 Tópicos Preliminares
Lógica de Programação Módulo II
Introdução à Lógica de Programação (cont.)
Estruturas de Controle
Universidade Federal do Espírito Santo
Lógica de Programação/ Algoritmos 2013
Introdução aos Algoritmos
Programação e Sistemas de Informação
INTRODUÇÃO À PROGRAMAÇÃO
Algoritmos Prof. Kelly E. Medeiros.
Introdução a Programação
Processamento da Informação BC-05045
Estruturas de Controle
Professor: Juliano Lucas Gonçalves
ENGENHARIA AMBIENTAL COMPUTAÇÃO APLICADA Aula 7
Lógica de Programação Introdução.
Introdução à Programação
Aula 5 Lógica de Programação Germano Marcos
Fábio de Oliveira Borges
Capítulo 3 Estruturas de Controle
Capítulo 2 Tópicos Preliminares
Introdução Capítulo 1 Lógica de Programação
CEPMAT Curso Técnico em Informática
INTRODUÇÃO – LOGICA E ALGORITMOS
Representação de Algoritmos
Estrutura de dados, pseudocódigo
Lógica de Programação Aula anterior
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Algoritmos e Programação I
Introdução a Programação
Algoritmos e Programação de Computadores
Programação de Computadores
Operadores Relacionais, Lógicos e comandos de condição
Linguagem e Ambiente Scratch
Programação e Sistemas de Informação
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Conceitos Básicos Luis Antonio Tavares
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
CH: 60h Créditos: 3 Prof Me. Tiago Araujo
Introdução a Algoritmos
Fábio de Oliveira Borges
ESTRUTURAS DE CONTROLE
Instituto Federal de Santa Catarina
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Algoritmos Estruturados
Programação de PIC em C Exposição das funções básicas para
ENGENHARIA DE CONTROLE E AUTOMAÇÃO COMPUTAÇÃO PARA ENGENHARIA Aula /02/2013 Professor Leomir J. Borba- –
Fundamentos de linguagens de programação
Programação de Computadores - 1
Etapas : Algoritmo é uma sequência lógica de instruções que podem ser executadas. É importante destacar que qualquer tarefa que siga um certo padrão.
Linguagens de Programação
Algoritmos e Programação I
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Introdução a Programação Aula 02 Jackson Eduardo
DESENVOLVIMENTO Prof: Marcelo West Disciplina: Lógica de Programação.
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Lógica de programação Introdução à lógica de programação
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Desenvolvendo Algoritmos Fundamentos de Lógica Marco Antonio Montebello Júnior marco.antonio@aes.edu.br

Agenda Regras para construção de uma algoritmo Tipos de algoritmos Tipos de dados e variáveis Operadores Aritméticos Relacionais Lógicos Estrutura Seqüencial Estruturas de Decisão Fundamentos de Lógica

Algoritmo O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação. Fundamentos de Lógica

Regras para construção do algoritmo Descrever a seqüência de instruções, de maneira simples e objetiva. Usar somente um verbo por frase Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática Usar frases curtas e simples Ser objetivo Procurar usar palavras que não tenham sentido dúbio Fundamentos de Lógica

Fases Para montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais: ENTRADA: São os dados de entrada do algoritmo PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados Entrada Processamento Saída Fundamentos de Lógica

Fases Analogia com um homem Fundamentos de Lógica

Tipo: Pseudocódigo – Português Estruturado Utiliza linguagem estruturada e se assemelha, na forma, a um programa escrito na linguagem de programação. É um tipo de algoritmo que utiliza uma linguagem flexível, intermediária entre a linguagem natural e a linguagem de programação. “Pseudocódigo” significa “falso código”; o nome se deve à proximidade que existe entre um algoritmo escrito em pseudocódigo e a maneira pela qual um programa é escrito em uma linguagem de programação Fundamentos de Lógica

Pseudocódigo Trocar uma lâmpada (V1) pegar uma escada; posicionar a escada embaixo da lâmpada; buscar uma lâmpada nova; subir na escada; retirar lâmpada velha; colocar lâmpada nova. Fundamentos de Lógica

Pseudocódigo Trocar 10 lâmpadas SE estiverem queimadas ir até o interruptor do primeiro soquete; enquanto a quantidade de soquetes testados for menor que 10, faça acionar o interruptor; se a lâmpada não acender, então pegar uma escada; posicionar a escada embaixo da lâmpada; buscar uma lâmpada nova; subir na escada; retirar lâmpada queimada; colocar lâmpada nova; enquanto a lâmpada não acender, faça ir até o interruptor do próximo soquete; Fundamentos de Lógica

Tipo: Descrição Narrativa Utiliza linguagem natural para especificar os passos para a realização das tarefas. Não é muito utilizada Fundamentos de Lógica

Tipo: Fluxograma Utiliza-se de figuras geométricas para ilustrar os passos a serem seguidos na resolução dos problemas. Diagrama de Blocos. É bastante utilizado Fundamentos de Lógica

Fluxograma - Simbologia Cada instrução ou ação a ser executada deve ser representada por meio de um símbolo gráfico. Terminal: representa o início e o final do fluxograma. Vídeo: representa a saída de informações por meio do monitor de vídeo. Decisão: representa uma ação lógica que resultará na escolha de uma das seqüências de instruções. Processamento: representa a execução de operações ou ações. Teclado: representa a entrada de dados para as variáveis por meio do teclado. Preparação: representa uma ação de preparação para o processamento. Fundamentos de Lógica

Fluxograma - Simbologia Conector: utilizado para interligar partes do fluxograma ou para desviar o fluxo corrente para um determinado trecho do fluxograma. Conector de Páginas: utilizado para interligar partes do fluxograma em páginas distintas. Seta de orientação do fluxo. Fundamentos de Lógica

Fluxograma início ir para o primeiro soquete posicionar escada F não acendeu? F soquetes restantes < 10 buscar lâmpada nova F V acionar o interruptor retirar a lâmpada queimada V acionar o interruptor subir na escada colocar lâmpada nova não acendeu? retirar a lâmpada queimada F ir ao próximo soquete colocar lâmpada nova V pegar uma escada acionar o interruptor fim Fundamentos de Lógica

Tipo: Diagrama de Chapin Conhecido também como diagrama de Shneiderman ou diagrama N-S. Apresenta a solução do problema por meio de um diagrama de quadros com uma visão hierárquica e estruturada Fundamentos de Lógica

Diagrama de Chapin Fundamentos de Lógica

Formas de Representação Gráficas (Fluxograma e Chapin) Vantagens Maior clareza no fluxo de execução Linguagem visual Desvantagens Requer conhecimento de convenções gráficas Mais trabalhoso em decorrência de seus desenhos Dificuldade para fazer correções Textuais (Português Estruturado) Apresenta mais vantagens, desde que se tomem alguns cuidados: Riqueza gramatical de nossa língua pode levar a ambigüidades A frase “O pregador foi grampeado durante o conserto” tem “8” sentidos diferentes quando pronunciada Para resolver, utilizaremos um conjunto restrito de regras, conhecido como Português Estruturado Fundamentos de Lógica

Tipos de dados e variáveis Tipos Primitivos São os tipos básicos de informação dos algoritmos Inteiro: informação pertencente ao conjunto dos números inteiros relativos (positiva ou negativa). Real: informação pertencente ao conjunto dos números reais. Caractere: informação alfanumérica (caracteres alfabéticos, numéricos e especiais) Lógico: informação biestável (admite apenas 2 valores: verdadeiro ou falso) Fundamentos de Lógica

Tipos de dados e variáveis Constantes São valores que não sofrem nenhuma variação no decorrer do tempo São exemplos de constantes: Valor de PI; Velocidade da luz; 5; “Não fume”. Fundamentos de Lógica

Tipos de dados e variáveis Variáveis São valores que podem sofrer alteração no decorrer do tempo. Exemplo: Cotação do dólar; Peso de uma pessoa; Preço da gasolina. São como gavetas que podem receber diversos tipos de objetos Fundamentos de Lógica

Tipos de dados e variáveis Variáveis Identificadores: São os nomes escolhidos para as informações variáveis. Deve iniciar por caractere alfabético; Pode ser seguido por mais caracteres alfabéticos ou numéricos; Não devem ser usados caracteres especiais. Declaração: Processo de reservar e etiquetar gavetas; Só podem armazenar valores de um mesmo tipo, de maneira que também são classificadas como sendo numéricos, lógicos e literais. Fundamentos de Lógica

Operadores Aritméticos Utilizados para a realização de cálculos matemáticos Operador Função Exemplos + Adição 2 + 3, X + Y - Subtração 4 - 2, N – M * Multiplicação 3 * 4, A * B / Divisão 10 / 2, C / D pot(x,y) Potenciação (x elevado a y) pot(2, 3) rad(x) Raiz quadrada (de x) rad(9) Mod Resto da divisão 9 mod 4 resulta 1 Div Quociente da divisão inteira 9 div 4 resulta 2 Fundamentos de Lógica

Operadores Relacionais Utilizados para a estabelecer relação de comparação entre valores Operador Função Exemplos = Igual a 3 = 3, X = Y > Maior que 5 > 4, X > Y < Menor que 3 < 6, X < Y >= Maior ou igual a 5 >= 3, X >= Y <= Menor ou igual a 3 <= 5, X <= Y <> ou != Diferente de 8 <> 9, X <> Y, 7 != 9 Fundamentos de Lógica

Operadores Relacionais B = 3 Expressão Resultado A = B Falso (F) A <> B Verdadeiro (V) A > B A < B A >= B A <= B Fundamentos de Lógica

Operadores Lógicos não (not) ! e (and) && ou (or) || Utilizados para a efetuar avaliações lógicas entre valores Operador Função Exemplos não (not) ! Negação: inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. não V, não X e (and) && Conjugação: é verdadeira se todas as condições forem verdadeira V e V, X e Y ou (or) || Disjunção: é verdadeira se pelo menos uma condição for verdadeira V ou V, X ou Y Fundamentos de Lógica

Operadores Lógicos Tabela Verdade Conjunto de todas as possibilidades de cada operador lógico. A não A ! A F V A B A e B A && B F V A B A ou B A || B F V Fundamentos de Lógica

Estrutura Seqüencial O fluxo de controle segue a mesma seqüência linear da nossa escrita, ou seja: De cima para baixo; Da esquerda para direita Cada ação é seguida de um ; Objetiva separar uma ação da outra Indica que a próxima ação da seqüência deve ser executada Fundamentos de Lógica

Estrutura Seqüencial Algoritmo – Média Aritmética início // declaração de variáveis real: N1, N2, N3, N4, // notas bimestrais MA; // média anual // entrada de dados leia (N1, N2, N3, N4); // processamento MA ← (N1 + N2 + N3 + N4) / 4; // saída de dados escreva (MA); fim Fundamentos de Lógica

Estruturas de Decisão São aquelas que permitem alterar o fluxo de execução, de forma a selecionar qual parte deve ser executada Essa “decisão” de execução é tomada a partir de uma condição, que pode resultar apenas em verdadeiro ou falso Uma condição é representada por expressões relacionais ou lógicas As estruturas de seleção podem ser classificadas em simples, compostas ou encadeadas. Fundamentos de Lógica

Estruturas de Decisão Fundamentos de Lógica

Estruturas de Decisão Simples Quando a <condição> for verdadeira o “bloco verdadeiro” é executado. Quando a <condição> for falsa o “bloco verdadeiro” não é executado. se <condição> então início // início do bloco verdadeiro comando 1; comando 2; ... comando n; fim; // fim do bloco verdadeiro fim_se; Fundamentos de Lógica

Estruturas de Decisão Simples Algoritmo – Média Aritmética com Aprovação início // declaração de variáveis real: N1, N2, N3, N4, // notas bimestrais MA; // média anual // entrada de dados leia (N1, N2, N3, N4); // processamento MA ← (N1 + N2 + N3 + N4) / 4; // saída de dados escreva (MA); se (MA >= 7) então escreva (“Aluno Aprovado !”); fim_se; fim. Fundamentos de Lógica

Estruturas de Decisão Composta Quando a <condição> for verdadeira o “bloco verdadeiro” é executado Quando a <condição> for falsa o “bloco falso” é executado se <condição> então início // início do bloco verdadeiro comando 1; comando n; fim; // fim do bloco verdadeiro senão início // início do bloco falso fim; // fim do bloco falso fim_se; Fundamentos de Lógica

Estruturas de Decisão Composta Algoritmo – Média Aritmética com aprovação e reprovação início // declaração de variáveis real: N1, N2, N3, N4, // notas bimestrais MA; // média anual leia (N1, N2, N3, N4); MA ← (N1 + N2 + N3 + N4) / 4; escreva (MA); se (MA >= 7) então escreva (“Aluno Aprovado!”); escreva (“Parabéns!”); fim; senão escreva (“Aluno Reprovado!”); escreva (“Estude mais!”); fim_se; fim. Fundamentos de Lógica

Estruturas de Decisão Encadeada (aninhada) Ocorre quando uma seleção tem como ação uma outra seleção Uma seleção encadeada pode ser: Heterogênea: Quando não é possível identificar padrão de comportamento Homogênea: Quando é possível identificar padrão de comportamento se – então – se: quando depois de cada então ocorre outro se se – senão – se: quando depois de cada senão ocorre outro se Fundamentos de Lógica

Estruturas de Decisão Encadeada – Heterogênea Algoritmo – Tipos de Triângulo início inteiro: A, B, C; // tamanho dos lados leia (A, B, C); se (A<B+C) e (B<A+C) e (C<A+B) então se (A=B) e (B=C) então escreva (“Triangulo Equilátero”); senão se (A=B) ou (B=C) ou (A=C) então escreva (“Triângulo Isósceles”); escreva (“Triangulo Escaleno”); fim_se; escreva (“Estes valores não formam um triângulo”); fim. Fundamentos de Lógica

Estruturas de Decisão Encadeada – Homogênea se – então – se se <Cond1> então se <Cond2> então se <Cond3> então se <Cond4> então W; fim_se; É equivalente a: se <Cond1> e <Cond2> e <Cond3> e <Cond4> então W; fimse; Fundamentos de Lógica

Estruturas de Decisão Encadeada – Homogênea se X=V1 então C1; fim_se; se X=V2 então C2; se X=V3 então C3; se X=V4 então C4; se X=V1 então C1; senão se X=V2 então C2; senão se X=V3 então C3; senão se X=V4 então C4; fim_se; se – senão – se X=V1 X=V2 X=V3 X=V4 Ação V F C1 C2 C3 C4 X=V1 X=V2 X=V3 X=V4 Ação V - C1 F C2 C3 C4 Fundamentos de Lógica

Estruturas de Decisão Múltipla Escolha Seleções encadeadas homogêneas se-senão-se são bastante freqüentes para o tratamento de listas de valor Para simplificar a escrita, pode-se utilizar o comando escolha. Adaptando o algoritmo anterior: escolha X caso V1: C1; caso V2: C2; caso V3: C3; caso V4: C4; fim_escolha; Fundamentos de Lógica

Estruturas de Decisão Múltipla Escolha Algoritmo – Múltipla Escolha início real: Preço; inteiro: Origem; leia (Preço, Origem); escolha Origem caso 1: escreva (Preço, “ – produto do Sul”); caso 2: escreva (Preço, “ – produto do Norte”); caso 3: escreva (Preço, “ – produto do Leste”); caso 4: escreva (Preço, “ – produto do Oeste”); caso 7, 8, 9: escreva (Preço, “ – produto do Sudeste”); caso 10..20: escreva (Preço, “ – produto do Centro-Oeste”); caso 5, 6, 25..50: escreva (Preço, “ – produto do Nordeste”); caso contrário: escreva (Preço, “ – produto importado”); fimescolha; fim. Fundamentos de Lógica