ALGORÍTMOS E ESTRUTURA DE DADOS SLIDE - 2

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Construção de Algoritmos 2
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Paradigmas de Linguagens Conceitos Básicos
Exercicio 1 Dados três valores X, Y e Z, Faça um programa em C para verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem,verificar.
ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES
Introdução a Programação Renata Freire
Programação de Computadores - 2
Estruturas de repetição
Introdução à Programação
Introdução à Programação
Introdução à Lógica de Programação
Introdução à Lógica de Programação (cont.)
Introdução à Programação
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Lógica de Programação Módulo II
Resolução de Problemas
1- Leia um nº inteiro e diga se este é positivo.
Descreva por palavras suas o funcionamento de um algoritmo
Programação Baseada em Objectos Desenho de TAD
Estrutura de decisão e repetição em JAVA
Formas de Representação de Algoritmos
Identificar que o pneu furou
Processamento da Informação BC-05045
Estruturas de Controle
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Professor: Juliano Lucas Gonçalves
Introdução à Programação
Capítulo 3 Estruturas de Controle
Estrutura de dados, pseudocódigo
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Medidas de posição  Estudando as distribuições de  frequência,  percebe-se que existe uma  posição de  concentração dos valores, que podem estar mais concentrados no início, no meio ou no 
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Programação de Computadores
Operadores Relacionais, Lógicos e comandos de condição
Lógica de Programação/ Algoritmos Engenharia Produção 2014
Instituto Federal de Santa Catarina
Aula 6 - Estruturas de Controle
Android Aula 01 Introdução ao Java Humberto Moura
Desenvolvimento Web Lógica de Programação
Linguagem e Ambiente Scratch
Estrutura de Decisão Multipla
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Algoritmo e Estrutura de Dados
Introdução a Algoritmos
Fábio de Oliveira Borges
ESTRUTURAS DE CONTROLE
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Programação de PIC em C Exposição das funções básicas para
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Algoritmo e Programação
Algoritmos e Estrutura de Dados I
Fundamentos de linguagens de programação
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL  Operadores São meios pelo qual incrementamos, comparamos e avaliamos dados.
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.
Linguagem Técnica de Programação
Algoritmos e Programação I
Algoritmo Triângulo Problema: Precisa-se de um programa capaz de ler três valores para os lados de um triângulo e verificar se os lados fornecidos formam.
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Algoritmos – Exercícios
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:

ALGORÍTMOS E ESTRUTURA DE DADOS SLIDE - 2 Bacharelado em Ciência da Computação ALGORÍTMOS E ESTRUTURA DE DADOS SLIDE - 2

Lógica de programação INSTRUÇÃO: Cada um dos passos, cada uma das ações a tomar (obedecendo a seqüência lógica) para ir resolvendo o problema, ou para ir executando a tarefa Em informática, é a informação que indica a um computador uma operação elementar a executar Ex.: “somar”, “subtrair”, “comparar se é maior”, etc Uma só instrução não resolve problemas reais Executar um conjunto de instruções Executar em uma seqüência lógica 2 2 2

EXEMPLO: para “fazer omelete” Lógica de programação 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... Quanto às instruções isoladas: Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é suficiente para cumprir a tarefa “fazer omelete” Quanto à seqüê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” 3 3 3

Exemplo de algoritmo Quando uma dona de casa prepara um bolo, segue uma receita, que nada mais é do que um algoritmo em que cada instrução é um passo a ser seguido para que o prato fique pronto com sucesso: Bata 4 claras em neve Adicione 2 xícaras de açúcar Adicione 2 colheres de farinha de trigo, 4 gemas, uma colher de fermento e duas colheres de chocolate Bata por 3 minutos Unte uma assadeira com margarina Coloque o bolo para assar por 20minutos a 200 graus C 4 4 4

Exemplo de algoritmo Um motorista que necessita efetuar a troca de um pneu furado segue uma rotina para realizar essa tarefa: Verifica qual pneu está furado Posiciona o macaco e levanta o carro Solta os parafusos Pega o estepe Substitui o pneu furado Recoloca os parafusos Desce o carro Guarda o macaco e o pneu furado 5 5 5

Tipos de algoritmos PSEUDOCÓDIGO: Lógica de programação PSEUDOCÓDIGO: Facilita descrever o algoritmo antes de passá-lo para uma linguagem de programação Intermediária: linguagem natural – linguagem de programação FLUXOGRAMA: É uma forma universal de representação, que se utiliza de figuras geométricas para ilustrar passos a serem seguidos para a resolução de problemas 6 6 6

Comandos ESTRUTURA DE UM ALGORITMO Algoritmo < nome do algoritmo > Var < declaração de variáveis > Const < declaração de constante > Inicio escrever ler testar calcular Fim. Comandos 7 7

PSEUDOCÓDIGO OU LINGUAGEM ESTRUTURADA Algoritmo Média Var N1, N2, Média : real Início Leia N1, N2 Média  (N1 + N2) / 2 Se Média < 7 Então Escreva “Reprovado” Senão Escreva “Aprovado” Fim_se Fim. 8 8

Fluxograma Convencional Início Ler N1, N2 Média (N1+N2)/2 .N. Média > 7 “Reprovado” .S. “Aprovado” Fim 9 9

FASES para desenvolver o algoritmo: Lógica de programação FASES para desenvolver o algoritmo: Determinar o problema, definí-lo (entendê-lo) bem Dividir a solução nas três fases: Exemplo: Problema: calcular a média de quatro números Dados de entrada: os números N1, N2, N3 e N4 Processamento: somar os quatro números e dividir a soma por 4 Dado de saída: a média final ENTRADA PROCESSAMENTO SAÍDA N1 + N2 + N3 + N4 4 10 10 10

Algoritmo: Início Ler o primeiro número Ler o segundo número Lógica de programação Algoritmo: Início Ler o primeiro número Ler o segundo número Ler o terceiro número Ler o quarto número Somar todos os números Dividir a soma por 4 Mostrar o resultado da divisão Fim 11 11 11

Exercício 1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo · Início · Ler código da peça · Ler valor da peça · Ler Quantidade de peças · Calcule o valor total da peça (Quantidade * Valor da peça) · Mostre o código da peça e seu valor total · Fim 12 12 12

Variável Lógica de programação Representa uma posição na memória, onde pode ser armazenado um dado Possui um nome e um valor Durante a execução do algoritmo, pode ter seu valor alterado (seu valor pode variar) Mudanças no valor das variáveis: Por entrada de dados (“Ler N1”) Por atribuição (“N2  14”) 13 13 13

Operadores Aritméticos Total  preço * quantidade X  1 + 7 * 2 ** 2 - 1 Exemplos: Y  3*(1-2)+4*2 MEDIA = (N1+N2+N3+N4) / 4 14 14 14

TESTE DE MESA (Rastreio) Lógica de programação Todo algoritmo deve ser testado Usar dados e resultados previamente calculados, seguir precisamente as instruções do algoritmo e verificar se o procedimento está correto ou não 15 15 15

Exercícios Faca um algoritmo que receba como entrada uma determinada temperatura em graus Celsius e mostre a temperatura em graus Fahrenheit OBS: Fahrenheit = (9/5)*(Celsius) + 32 Tendo como entrada o total vendido por um funcionário no mês de abril, faça um algoritmo que mostre a sua comissão e salário bruto neste mês, sabendo que o seu salário base é R$1.200,00 e sua comissão é de 10% sobre o total vendido. - Entre com a base e a altura de um retângulo e mostre os resultados: Perímetro (Perímetro é igual à soma dos 4 lados) Área (Área é igual à lado vezes lado) 16 16 16

Exercício Leia dois valores A e B e depois coloque em A o valor lido em B e em B o valor lido em A e mostre os novos valores de A e B 17 17 17

Lógica de programação Operadores Usados para incrementar, decrementar, comparar e avaliar dados, que são operações básicas em processamento de dados. Tipos: Aritméticos (+, -, *, /, ** ou ^) Resultados numéricos Relacionais (>, <, >=, <=, =, <> ou #) Resultados lógicos (V ou F) Lógicos (e, ou, não) Combinam resultados lógicos Precedência dos operadores 18 18 18

Lógica de programação Operadores relacionais são muito usados quando temos que tomar decisões nos algoritmos. Com eles fazemos testes, comparações, que resultam em valores lógicos (verdadeiro ou falso): Exemplo: tendo duas variáveis, A = 5 e B = 3: 19 19 19

Exercícios 6) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo, informe se as expressões são verdadeiras ou falsas. 7) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C) > B ( ) b) B >= (A + 2) ( ) c) C = (B –A) ( ) d) (B + A) <= C ( ) e) (C+A) > B ( ) 20 20 20

Exercícios 9) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. a) (A > C) AND (C <= D) ( ) b) (A+B) > 10 OR ((A+B) = (C+D)) ( ) c) (A>=C) AND (D >= C) ( ) 21 21 21

Decisão em algoritmos Os algoritmos vistos até agora eram sequenciais, isto é, todas as operações eram realizadas em sequência. Muitos problemas reais exigem a tomada de decisão no algoritmo, com mais de um caminho sendo possível de ser seguido. 22 22 22

Lógica de programação ESTRUTURAS DE DECISÃO Comandos de decisão ou desvio fazem parte das técnicas de programação, para construir estruturas de algoritmos que não são totalmente seqüenciais. Com as instruções de desvio pode-se fazer com que o algoritmo proceda de uma ou outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou resultados anteriores. As principais estruturas de decisão são: SE...ENTÃO SE...ENTÃO...SENÃO 23 23 23

SE ... ENTÃO ... - Formato: Se <condição> então <ações> Lógica de programação - Formato: Se <condição> então <ações> Significado: Se a <condição> resultar em verdadeiro, então executar as <ações>. Senão, simplesmente ignorar as <ações> e seguir para a próxima instrução no algoritmo. Usada para decidir se um conjunto de ações opcionais deve ser executado ou não, dependendo do valor de algum dado ou de algum resultado que já tenha sido calculado no algoritmo. 24 24 24

SE ... ENTÃO ...SENÃO... - Formato: Lógica de programação - Formato: Se <condição> então <ações 1> senão <ações 2> Significado: Se a <condição> resultar em verdadeiro, então executar <ações 1>. Senão, ignorar <ações 1> e executar <ações 2>. Usada para decidir entre duas alternativas de ações. Um dos dois conjuntos de ações será executado e o outro não, dependendo do valor de algum dado ou de algum resultado que já tenha sido calculado no algoritmo. O valor do dado ou do resultado anterior será testado na condição, determinando qual conjunto de ações será executado. 25 25 25

Lógica de programação Exemplo da estrutura SE...ENTÃO...SENÃO: “Mostrar a diferença entre 2 números quaisquer.” PSEUDOCÓDIGO: Ler N1 Ler N2 Se (N1 > N2) então DIF = N1 - N2 senão DIF = N2 - N1 Mostrar DIF O que acontece se os dois números forem iguais? O que acontece se um ou os dois números forem negativos? 26 26 26

INÍCIO FLUXOGRAMA: N1 N2 N1 > N2 DIF = N2 - N1 DIF = N1 - N2 DIF Lógica de programação INÍCIO FLUXOGRAMA: N1 N2 N1 > N2 DIF = N2 - N1 DIF = N1 - N2 DIF FIM 27 27 27

Exemplo Ler salário de funcionários da empresa XYZ e conceder reajuste salarial conforme os cargos. Aos Técnicos o reajuste será de 50 %, os Gerentes 30 % e aos demais 10 %. 28 28

“Salário Reajustado”, Sal_reaj FLUXOGRAMA SEGUIDO DE ALGORITMO Algoritmo Program reaj_salario; var Salario, Sal_reaj : real; Prof : literal[20]; Início; Leia salário, prof; Escolha Caso prof = “Técnico” Sal_reaj 1.5 * salário; Caso prof = “Gerente” Sal_reaj 1.3 * salário; Senão Sal_reaj 1.1 * salário; Fim escolha Escrever “Salário Reajustado”, Sal_reaj; Fim. Início Ler Salário Prof.. Prof = “Técnico”. V Sal_Reaj. 1.5 * Salário Prof = “Gerente”. V Sal_Reaj. 1.3 * Salário F Sal_reaj. 1.1 * Salário “Salário Reajustado”, Sal_reaj Fim 29 29

Exercícios Faça um algoritmo que leia um número e mostre o número lido e uma mensagem indicando se este número é par ou ímpar e se é positivo ou negativo. 30 30 30

Desenvolva um algoritmo que efetue a leitura de três valores correspondentes ao tamanho dos lados de um triângulo, considerando lados como: A, B e C. O algoritmo deverá verificar se os lados fornecidos formam realmente um triângulo. Se for esta condição verdadeira, deverá ser indicado qual tipo de triângulo foi formado: isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou eqüilátero (todos os lados são iguais). 31 31 31