Aula2-Algoritmos

Embed Size (px)

Citation preview

Introduo ProgramaoDeise Saccol

Lgica de programaoAdaptado de slides das Profas. Patrcia Jaques e Mnica Py

1

Lgica de programao

LGICA DE PROGRAMAO: Tcnica de encadear pensamentos para atingir determinado objetivo Necessria para desenvolver programas e sistemas, pois permite definir a seqncia lgica para a soluo de um problema

SEQNCIA LGICA:

? 1. 2. 3. !

Estes pensamentos podem ser descritos como uma seqncia de instrues, que devem ser seguidas para se cumprir uma determinada tarefa Passos executados at se atingir um objetivo ou soluo de um problema2

Lgica de programao

INSTRUO: Cada um dos passos, cada uma das aes a tomar (obedecendo a seqncia lgica) para ir resolvendo o problema, ou para ir executando a tarefa Em informtica, a informao que indica a um computador uma operao elementar a executar Ex.: somar, subtrair, comparar se maior, etc

Uma s instruo no resolve problemas Executar um conjunto de instrues Executar em uma seqncia lgica

3

Lgica de programao

EXEMPLO: para fazer omelete Instrues: quebrar ovos, bater ovos, pr sal, ligar fogo, pr leo na frigideira, pr frigideira no fogo, fritar ovos batidos, etc...

Quanto s instrues isoladas: S quebrar ovos, ou s pr leo na frigideira, no suficiente para cumprir a tarefa fazer omelete

Quanto seqncia lgica: Se executarmos fritar ovos batidos antes de bater ovos, ou pior, antes de quebrar ovos, no iremos cumprir a tarefa fazer omelete4

Lgica de programao

ALGORITMO: Seqncia finita de passos que levam execuo de uma tarefa Claro e preciso. Ex. somar dois nmeros: Escrever primeiro nmero no retngulo A Escrever segundo nmero no retngulo B Somar o nmero do retngulo A com o nmero do retngulo B e escrever o resultado no retngulo C

A +

B =

C

5

Exemplo de algoritmoQuando uma dona de casa prepara um bolo, segue uma receita, que nada mais do que um algoritmo em que cada instruo um passo a ser seguido para que o prato fique pronto com sucesso: 1. Bata 4 claras em neve 2. Adicione 2 xcaras de acar 3. Adicione 2 colheres de farinha de trigo, 4 gemas, uma colher de fermento e duas colheres de chocolate 4. Bata por 3 minutos 5. Unte uma assadeira com margarina e farinha de trigo 6. Coloque o bolo para assar por 20minutos6

Exemplo de algoritmoUm motorista que necessita efetuar a troca de um pneu furado segue uma rotina para realizar essa tarefa: 1. Verifica qual pneu est furado 2. Posiciona o macaco para levantar o carro 3. Pega o estepe 4. Solta os parafusos 5. Substitui o pneu furado 6. Recoloca os parafusos 7. Desce o carro 8. Guarda o macaco e o pneu furado

7

Lgica de programao

PROGRAMA: Algoritmo escrito em uma linguagem de computador (linguagem de programao - C, Pascal, COBOL, Fortran, Basic, Java, etc.) Interpretado e executado por um computador Interpretao rigorosa, exata, do computador escrita do algoritmo na linguagem de prog. tem que seguir regras mais rigorosas

8

Tipos de algoritmos PSEUDOCDIGO:

Lgica de programao

Facilita descrever o algoritmo antes de pass-lo para uma linguagem de programao Intermediria: linguagem natural linguagem de programao

Pseudocdigo = cdigofalso FLUXOGRAMA: uma forma universal de representao, pois se utiliza de figuras geomtricas para ilustrar passos a serem seguidos para a resoluo de problemas9

Lgica de programao

PSEUDOCDIGO: Descrio do algoritmo, menos rigorosa que na linguagem de programao (cdigo fonte) Fcil de entender e fcil de codificar depois Independente da linguagem de programao Simples e objetivo Tcnicas:

10

Lgica de programao

FASES para desenvolver o algoritmo: Determinar o problema, defin-lo bem Dividir a soluo nas trs fases: ENTRADA PROCESSAMENTO SADA

Exemplo: Problema: calcular a mdia de quatro nmeros Dados de entrada: os nmeros, N1, N2, N3 e N4 Processamento: somar os quatro nmeros e dividir a soma por 4 N1 + N2 + N3 + N4 4 Dados de sada: a mdia final11

Lgica de programao

Algoritmo: Receber o primeiro nmero Receber o segundo nmero Receber o terceiro nmero Receber o quarto nmero Somar todos os nmeros Dividir a soma por 4 Mostrar o resultado da diviso

12

ExercciosA. Escreva a seqncia de passos para que uma pessoa abra um arquivo armazenado em um disquete utilizando o Word do Windows B. Escreva os passos necessrios para uma pessoa efetuar um saque em um caixa eletrnico

13

Exerccios da lista1) Identifique os dados de entrada, processamento e sada no algoritmo abaixo Receba cdigo da pea Receba valor da pea Receba Quantidade de peas Calcule o valor total da pea (Quantidade * Valor da pea) Mostre o cdigo da pea e seu valor total 2) Faa um algoritmo para Calcular o estoque mdio de uma pea, sendo que ESTOQUEMDIO = (QUANTIDADE MNIMA + QUANTIDADE MXIMA) /2

14

TESTE DE MESA

Lgica de programao

Todo algoritmo deve ser testado Usar dados e resultados previamente calculados, seguir precisamente as instrues do algoritmo e verificar se o procedimento est correto ou no Exemplo: Fazer teste de mesa para o algoritmo da mdia

15

Varivel

Lgica de programao

Representa uma posio na memria, onde pode ser armazenado um dado Possui um nome e um valor Durante a execuo do algoritmo, pode ter seu valor alterado (seu valor pode variar) Mudanas no valor das variveis: Por entrada de dados (Ler N1) Por atribuio (MEDIA = )

16

Lgica de programao

Exemplo SEQENCIAL: Calcular a mdia de quatro nmeros PSEUDOCDIGO: Ler N1 mais clareza no pseudocdigo Ler N2 Ler N3 Ler N4 MEDIA = (N1+N2+N3+N4) / 4 Mostrar MEDIA

VARIVEIS:

VARIVEL17

Atribuio Atribui o valor da direita varivel da esquerda O valor pode ser uma constante, uma varivel ou uma expresso MEDIA = (N1+N2+N3+N4) / 4 (L-se media recebe N1+...) Neste caso, estamos atribuindo o resultado da frmula varivel mdia, ou seja, a varivel mdia est recebendo como valor o resultado da frmula

Outros Exemplos: a = 3; a = x;

18

Operadores Aritmticos

Exemplos:MEDIA = (N1+N2+N3+N4) / 4

19

Exerccios3) Tendo como dados de entrada a altura de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando a seguinte frmula: peso ideal = (72.7*h) 58

4) Faca um algoritmo que receba como entrada uma determinada temperatura em graus Celsius e mostre a temperatura em fahrenheit OBS: Fahrenheit = (9/5)*(Celsius) + 32

5) Tendo como entrada o total vendido por um funcionrio no ms de abril, faa um algoritmo que mostres a sua comisso e salrio bruto neste ms, sabendo que o seu salrio base R$1.200,00 e sua comisso de 10% sobre o total vendido.20

Operadores

Lgica de programao

Usados para incrementar, decrementar, comparar e avaliar dados, que so operaes bsicas em processamento de dados. Tipos: Aritmticos (+, -, *, /, ** ou ^) Resultados numricos

Relacionais (>, =, B ( ) b) B >= (A + 2) ( ) c) C = (B A) ( ) d) (B + A) B ( )23

Lgica de programao

Operadores lgicos combinam resultados lgicos, gerando novos valores lgicos (verdadeiro ou falso). A tabela-verdade abaixo mostra todos os valores possveis de se obter com oper. lgicos:

T = Verdad. F = Falso AND = E OR = OU NOT = NO24

Lgica de programao

Combinando operadores relacionais e operadores lgicos criamos operaes lgicas, que produziro resultados lgicos (verdadeiro ou falso). Por exemplo, se A = 5, B = 8 e C = 1: (A = B) E (B > C) (A B) OU (B < C) NO (A > B) (A < B) E (B > C) (A >= B) OU (B = C) NO (A 3EC=8 2 OU B = 2 E C = 8 = 3 E NO B 2 > A E C A > B OU B < 5 B E B = C > 2 OU A < B ( ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) )26

10) A > B OU B > A E C B

( )

Exerccios9) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expresses abaixo so verdadeiras ou falsas. a) (A > C) AND (C 10 OR (A+B) = (C+D) ( ) c) (A>=C) AND (D >= C) ( )

27

Exerccios10) Sabe-se que o uso incorreto da precedncia de operadores ocasiona erros. Pensando nisso, determine o resultado das expresses a seguir (valores: A= 8, B = 5, C = -4, D = 2)a) Delta = B2 4 * A * C b) J = Hoje HOJE c) Media = (A + B + C + D) / 4 d) Media = A + B + C + D / 4 e) Resultado = A + B 10 * C f) Y = A > 8 E B + C > D g) Y = A > 3 * 2 OU B + C D28

Exerccios Fazer exerccios da lista Arquivo: ExerciciosLogica.doc

29