conceitos básicos luis antonio tavares. problemas de lógicatipos e variáveis conceitos...

74
Algoritmo Conceitos Básicos Luis Antonio Tavares

Upload: internet

Post on 22-Apr-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

AlgoritmoConceitos Básicos

Luis Antonio Tavares

Page 2: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

EmentaProblemas de lógica Tipos e variáveis

Conceitos básicos Instruções básicas

Algoritmo cotidiano vs. computacional

Linearização de Expressões

Fluxograma Condições

Pseudocódigo Laços de repetição

Estrutura de um programa

Funções

Page 3: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

O QUE É LÓGICA? Estudo das leis do raciocínio e do modo de aplicá-las corretamente na demonstração da verdade.

Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.

A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas, ela permite definir a seqüência lógica de operação do programa.

Introdução

Page 4: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

O QUE É ALGORITMO? Seqüência de passos que visam atingir um objetivo pré-definido e bem definido.

O algoritmo formado e bem definido que pode ser seguido por qualquer pessoa, e o objetivo será alcançado com certeza.

Introdução

Page 5: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Cada linha de um algoritmo é uma instrução.

Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo.

Em informática, é o que indica a um computador uma ação elementar a executar.

Um programa é, nada mais, que um conjunto de instruções que executadas cumprem uma finalidade.

Introdução

Page 6: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

O que é Programação: Processo de escrita, teste e manutenção de um programa de computador.

Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de computador (Pascal, C, Delphi, Java, PHP entre outras) e que são interpretados e executados por um computador.

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.

Programação

Page 7: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Por que Algoritmo?

ALGORITMOCÓDIGO-FONTE EM

LINGUAGEM DEPROGRAMAÇÃO

ADAPTAÇÃO

LINGUAGEMNATURAL

INSTRUÇÕES

COMPILAÇÃO

(EXECUTÁVEL)LINGUAGEMDE MÁQUINA

TRADUÇÃO

01000101001....

PORTUGUÊS, INGLÊS...

ALTO NÍVEL

BAIXO NÍVEL

Page 8: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Por que criamos algoritmos?

Linguagem natural não pode ser interpretada por um computador;

Porém a linguagem algorítmica é similar a uma linguagem de programação e próxima à linguagem natural;

Logo, aprendendo a criar algoritmos, teremos facilidade em aprender uma linguagem de programação.

Page 9: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Para montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais

ENTRADA: São os dados de entrada do algoritmoPROCESSAMENTO: São os procedimentos

utilizados para chegar ao resultado finalSAÍDA: São os dados já processados

Regras para fazer um algoritmo

Page 10: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Analogia com o Homem

Page 11: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Representações de um Algoritmo

Fluxograma ou Diagrama de Blocos.

Pseudocódigo, Português Estruturado ou Portugol.

SUBJETIVIDADE

PRECISÃO

Page 12: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Fluxograma é um tipo de diagrama, e pode ser entendido como uma representação esquemática de um processo.

Podemos entendê-lo, na prática, como a documentação dos passos necessários para a execução de um processo qualquer.

Fluxograma ou Diagrama de Blocos

Page 13: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Fluxograma

Page 14: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Fluxograma Exemplo

Page 15: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Pseudocódigo O pseudocódigo é uma maneira intermediária

entre a linguagem natural e uma linguagem de programação de representar um algoritmo.

Ela utiliza um conjunto restrito de palavras-chave, em geral na língua nativa do programador.

Page 16: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Pseudocódigo Exemplo

Algoritmo PROGRAMA_EXEMPLOVariáveis

A, B, SOMA: Inteiros;

Inicio ESCREVA("Digite o primeiro número:"); LEIA(A); ESCREVA("Digite o segundo número:"); LEIA(B); SOMA A + B;ESCREVA (“A SOMA É: “, SOMA);

Fim

Page 17: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

ESCREVA(); - Responsável por escrever uma mensagem na tela.

LEIA(); - Responsável por ler um valor do teclado e armazenar numa variável, ou seja, num espaço em memória.

VARIÁVEIS – Responsável por definir todos as variáveis que serão necessárias no programa.

Início e Fim – Delimitam o corpo do programa.

Instruções Básicas do Pseudocódigo

Page 18: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Adição + Ex.: A+B Subtração - Ex.: A-B Multiplicação * Ex.: A*B Divisão / Ex.: A/B Potência Ex.: A^B

Operadores Aritméticos

Ex.: Resultado Preco * QtdOperador de Atribuição

Page 19: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

As variáveis do exemplo anterior são A, B e SOMA.

Variáveis são espaços em memória usados para armazenar valores. A, B e SOMA são somente o nome desses espaços.

No programa, as variáveis A e B estão, por exemplo, usando um espaço em memória para armazenar os valores lidos do teclado. Assim, sempre que os nomes A e B forem mencionados, estarão fazendo referência a esses valores lidos.

Variáveis

Page 20: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Inteiros (Ex. de uso: armazenar idade)Ex.: 1 2 3 4 -5 -90 (números sem casa decimal)

Reais (Ex. de uso: preço, altura)Ex.: 2.5 -9.32 -11.1 (números com casa decimal)

Caracteres (Ex. de uso: nomes, endereços, CPF)Ex.: “IFSULDEMINAS”, “Rua da Casas, nº 25”(valores literais)

Tipos de Variáveis

Page 21: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

1. Sempre começa com uma letra2. Não se pode utilizar o Ç e letras acentuadas3. Não se mistura letras maiúsculas e

minúsculas4. Podem ser utilizados algarismos de 0 a 95. Dos caracteres especiais, só pode ser

utilizado o sublinhado ou underscore ( _ )6. Não pode haver espaço em branco7. Não se pode utilizar palavras reservadas, ou

seja, palavras que significam comandos (escreva, leia, inteiro, real).

Nomes de Variáveis

Page 22: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

É boa prática escolher nomes que significam alguma coisa no contexto do programa e indiquem a função da variável;

Recomenda-se que os nomes de variáveis sejam em letras minúsculas.

Nomes de Variáveis

Page 23: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

1. O que é uma variável?

2. Classifique os conteúdos abaixo em [C] caractere, [I] inteiro ou [R] real:

a) 258.23 b) Yuri c) 127 d) Ae) Casa f) 1000.35 g) 10 h) 4.0

Exercícios

Page 24: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

3. Quais dos seguintes nomes são válidos para uma variável:

a) 3ab b) inteiro c) X**X d) _sim

e) _A f) A123 g) N_a_o h) Y_2

i) y-2j) 00fim k) \meu l) 6y2

m) n_2 n) nota2 o) n4t p) &casa

Exercícios

Page 25: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

As linguagens de programação não entendem uma expressão matemática da maneira que nós escrevemos.

Portanto é necessário converter uma expressão matemática para uma expressão de computador.

Por exemplo, converter: RESULTADO = N1 x N2 Para: RESULTADO N1 * N2

Linearização de Expressões

Page 26: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Linearização de expressões

Para construção de algoritmos que realizam cálculos matemáticos, TODAS expressões aritméticas devem ser linearizadas;

Linearizadas = Colocadas em uma únicas linha;

Page 27: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Numa expressão para computador, não deve haver {} ou []. Somente parênteses. Exemplos:

{80-[(5x4+1)÷3]} expressão matemática (80-((5*4+1)/3)) expressão linearizada

80 + (2 x 3) expressão matemática 40 80/40+(2*3) expressão linearizada

Linearização de Expressões

Page 28: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Ordem de precedência dos operadores:

1º () Parênteses 2º ^ Potência 3º */ Multiplicação ou Divisão (o que aparecer

primeiro) 4º +- Adição ou Subtração (o que aparecer

primeiro)

Linearização de Expressões

Page 29: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Passe as expressões abaixo para forma computacional:

a) {5 + [3x2 – (4+1)]}

b) 5 x { [(4 + 2) x 2] – 3 x 2}

c) 80 – 7 x 3 + [(5 – 1) + 8] x 3

d) [5 + (8+4 – 4x2)]2

Exercícios

Page 30: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

AlgoritmoCondições

Luis Antonio Tavares

Page 31: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Condições serão usadas sempre que precisarmos testar o valor de uma variável.

Desta forma podemos definir instruções que serão executadas caso uma condição seja verdadeira e instruções alternativas, caso a condição não seja verdadeira.

Condições

Page 32: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional
Page 33: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Formas Usadas no Fluxograma

Page 34: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Fluxograma Maior Número

Início

Escreva o 1º

número:

A

Escreva o 2º

número:

B

A > B

B

A

Fim

Verdadeiro

Falso

Page 35: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Algoritmo MAIOR_NUMEROVariaveis

A, B: REAIS;

Inicio ESCREVA ("Digite o primeiro numero: "); LEIA ( A ); ESCREVA ("Digite o segundo numero: "); LEIA ( B ); SE ( A > B ) ENTAO

ESCREVA (“O maior numero eh: ”, A);SENAO

ESCREVA (“O maior numero eh: ”, B);FIM_SE

Fim

Page 36: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Fluxograma Média

Início

Escreva o 1º

número:

A

Escreva o 2º

número:

B

MEDIA (A+B) / 2

MEDIA

MEDIA >= 60

Reprovado

Aprovado

Fim

Verdadeiro

Falso

Page 37: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Pseudocódigo ExemploAlgoritmo PROGRAMA_EXEMPLOVariaveis

A, B, MEDIA: REAIS;

Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA (A + B) / 2;ESCREVA (“A MEDIA EH: “, MEDIA);SE (MEDIA >= 60) ENTAO

ESCREVA (“APROVADO!”);SENAO

ESCREVA (“REPROVADO!”);FIM_SE

Fim

Page 38: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Maior > Ex.: A > B Maior Igual >= Ex.: A >= B Menor < Ex.: A < B Menor Igual <= Ex.: A <= B Diferente != Ex.: A != B Igual == Ex.: A == B

Exemplo:SE ( NUM == 20 ) ENTAO

ESCREVA (“O NUMERO INFORMADO EH O NUMERO 20!”);

FIM_SE

Operadores Relacionais

Page 39: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Operador E Ex.: A > 60 && B < 40

Operador OU Ex.: A > 60 || B < 40

Operador NÃO Ex.: ! (A > 60)

Operadores Lógicos

Page 40: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Exemplo Operador E:SE ( NUM > 20 && NUM < 30 ) ENTAO

ESCREVA (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!”);

FIM_SE

Exemplo Operador OU:SE ( NUM > 20 || NUM < 30 ) ENTAO

ESCREVA (“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30!”);

FIM_SE

Operadores Lógicos

Page 41: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Algoritmo PROGRAMA_EXEMPLOVariaveis

A, B, MEDIA: REAIS;

Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA (A + B) / 2;ESCREVA (“A MEDIA EH: “, MEDIA);SE ( MEDIA >= 60 ) ENTAO

ESCREVA (“Aprovado!”);SENAO SE ( MEDIA >= 30 ) ENTAO

ESCREVA (“Recuperação!”);SENAO

ESCREVA (“Reprovado!”);FIM_SE

Fim

Page 42: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

1. 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 _______________

Exercícios

Page 43: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

2. Sabendo que A = 5, B = 4, C = 3 e D = 6, informe se as expressões abaixo são verdadeiras ou falsas:

a) (A > C) && (C <= D) _______________b) (A + B) == (C + D) _______________c) (A < B) || (D <= C) _______________d) (A < B) || (D >= C) _______________e) (C < 10) && (D > A) _______________f) (B > C) && (C >= A) _______________g) (B > C) || (C >= A) _______________

Exercícios

Page 44: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

AlgoritmoLaços de RepetiçãoLuis Antonio Tavares

Page 45: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Os laços de repetição se encarregam de repetir determinado bloco de instruções enquanto uma condição for verdadeira.

Esses laços também podem ser chamados de loops.

Temos basicamente dois tipos de loops: O para e o enquanto.

Laços de Repetição

Page 46: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

O primeiro loop que vamos conhecer é o enquanto. Pois se trata do loop mais simples.

Funcionamento: O bloco de código definido no loop enquanto fica em execução enquanto uma determinada condição for verdadeira. Cada vez que o bloco é iniciado, a condição é novamente testada, quando não for mais verdadeira, o loop é encerrado.

Laço de Repetição ENQUANTO

Page 47: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

A sintaxe do loop ENQUANTOALGORITMO LOOP_ENQUANTOVARIAVEIS

CONT : INTEIRO;INICIO

CONT 1;ENQUANTO ( CONT < 5 ) FAÇA

ESCREVA (“Numero: ”, CONT);CONT CONT + 1;

FIM_ENQUANTOFIM

Page 48: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Loop ENQUANTO ExemploALGORITMO PROGRAMA_MEDIA_COM_LOOPVARIAVEIS

MEDIA, N1, N2: REAIS;NUM: INTEIRO;

INICIONUM 1;ENQUANTO ( NUM == 1 ) FAÇA

ESCREVA (“Informe a primeira nota: ”); LEIA ( N1 ); ESCREVA (“Informe a segunda nota: ”); LEIA ( N2 ); MEDIA ( N1 + N2 ) / 2; ESCREVA (“Sua media eh: ”, MEDIA); ESCREVA (“Digite 1 se deseja continuar no programa”); LEIA ( NUM );

FIM_ENQUANTOFIM

Page 49: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

O loop para trabalha de uma forma um pouco diferente do loop enquanto.

Funcionamento: No loop para, uma variável pode ser inicializada com um valor qualquer, e o bloco de código definido neste loop vai ser executado até que a variável atinja um determinado valor. No loop também definidos um passo, ou seja, um valor que será incrementado na variável cada vez que o loop rodar.

Laço de Repetição PARA

Page 50: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

A sintaxe do loop PARAALGORITMO LOOP_PARAVARIAVEIS

CONT : INTEIRO;INICIO

PARA CONT 1 ATÉ 5, PASSO 1, FAÇAESCREVA (“IF Sul de Minas”);

FIM_PARAFIM

A cada execução do loop dá-se o nome de iteração (iteração sem o N mesmo, não confunda com interação.)

Page 51: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Loop PARA Exemplo 1

ALGORITMO ESCREVE_ATE_5VARIAVEIS

CONT: INTEIRO;INICIO

PARA CONT 1 ATÉ 5, PASSO 1, FAÇAESCREVA (“Numero: ”, CONT);

FIM_PARAFIM

Page 52: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Loop PARA Exemplo 2

ALGORITMO EXIBE_PARESVARIAVEIS

CONT: INTEIRO;INICIO

PARA CONT 2 ATÉ 10, PASSO 2, FAÇAESCREVA (“Numero: ”, CONT);

FIM_PARAFIM

Page 53: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Loop PARA Exemplo 3ALGORITMO SOMA_NUMEROS_ATE_DEZVARIAVEIS

CONT, SOMA: INTEIRO;INICIO

SOMA 0;PARA CONT 1 ATÉ 10, PASSO 1, FAÇA

SOMA SOMA + CONT;

FIM_PARAESCREVA (“A soma dos numeros eh: ”, SOMA);

FIM

Page 54: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

O loop faça... enquanto é uma derivação do loop enquanto. A diferença é que com esse loop o bloco de código é executado uma vez antes da condição ser verificada.

Laço de Repetição FAÇA ENQUANTO

Page 55: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

A sintaxe do loop FAÇA... ENQUANTO

ALGORITMO LOOP_FACA_ENQUANTOVARIAVEIS

CONT: INTEIRO;INICIO

CONT 0;FAÇA

ESCREVA (“Numero: ”, CONT);CONT CONT + 1;

ENQUANTO ( CONT < 5 ) FIM

Page 56: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Algoritmo MAIOR_NUMEROVariaveis

A, B, NUM: REAIS;

Inicio FAÇA

ESCREVA ("Digite o primeiro numero: "); LEIA ( A ); ESCREVA ("Digite o segundo numero: "); LEIA ( B ); SE ( A > B ) ENTAO

ESCREVA (“O maior numero eh: ”, A);SENAO ESCREVA (“O maior numero eh: ”, B);FIM_SEESCREVA (“Para continuar digite o numero 1: "); LEIA (NUM);

ENQUANTO(NUM == 1)Fim

Page 57: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Algoritmo PROGRAMA_MEDIAVariaveis

A, B, MEDIA, NUM: REAIS;

Inicio FAÇA

ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA (A + B) / 2;ESCREVA (“A MEDIA EH: “, MEDIA);SE (MEDIA >= 60) ENTAO

ESCREVA (“APROVADO!”);SENAO ESCREVA (“REPROVADO!”);FIM_SEESCREVA("Digite o numero 1 para continuar:"); LEIA (NUM);

ENQUANTO (NUM == 1)Fim

Page 58: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Maior > Ex.: A > B Maior Igual >= Ex.: A >= B Menor < Ex.: A < B Menor Igual <= Ex.: A <= B Diferente != Ex.: A != B Igual == Ex.: A == B

Exemplo:ENQUANTO ( NUM < 20 ) FAÇA

ESCREVA (“O NUMERO INFORMADO EH MENOR QUE 20!”);ESCREVA (“INFORME NOVAMENTE UM NUMERO: ”);LEIA ( NUM );

FIM_ENQUANTO

Operadores Relacionais

Page 59: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Exemplo Operador E:ENQUANTO ( NUM > 20 && NUM < 30 ) FAÇA

ESCREVA (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!”);ESCREVA (“INFORME NOVAMENTE UM NUMERO: ”);LEIA ( NUM );

FIM_ENQUANTO

Exemplo Operador OU:ENQUANTO ( NUM > 20 || NUM < 30 ) FAÇA

ESCREVA (“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30!”);ESCREVA (“INFORME NOVAMENTE UM NUMERO: ”);LEIA ( NUM );

FIM_ENQUANTO

Operadores Lógicos

Page 60: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Algoritmo PROGRAMA_MEDIAVariaveis

A, B, MEDIA, CONT : REAIS;

Inicio PARA CONT 1 ATÉ 5, PASSO 1, FAÇA

ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA (A + B) / 2;ESCREVA (“A MEDIA EH: “, MEDIA);SE ( MEDIA >= 60 ) ENTAO

ESCREVA (“Aprovado!”);SENAO SE ( MEDIA >= 30 ) ENTAO ESCREVA (“Recuperação!”);SENAO ESCREVA (“Reprovado!”);FIM_SE

FIM_PARAFim

Programa que calcula a média de 5 pessoas usando o loop para.

Page 61: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Exercícios

Page 62: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

AlgoritmoFunções

Luis Antonio Tavares

Page 63: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

São utilizadas para dividir um algoritmo maior (mais complexo) em partes menores (mais simples).

Quando uma mesma tarefa é realizada várias vezes em um programa, não é necessário duplicar o código, apenas faz-se a chamada da função que contém o código da tarefa.

Este processo é conhecido como modularização.

Funções

Page 64: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Reduzem o tamanho do algoritmo.

Melhoram a legibilidade do algoritmo.

Reaproveitamento de código.

Facilitam a manutenção.

Facilitam a divisão de trabalho.

Vantagens

Page 65: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Sintaxe de uma funçãoFUNÇÃO ANALISA_NUMERO (NUM : INTEIRO)INICIO

SE (NUM > 0) ENTAOESCREVA (“Numero Positivo”);

SENAO SE (NUM < 0) ENTAOESCREVA (“Numero Negativo”);

SENAOESCREVA (“Numero Zero”);

FIM_SEFIM_FUNÇÃO

Page 66: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Chamada de função

ALGORITMO PROGRAMA_EXEMPLOVARIAVEIS

NUM: INTEIRO;INICIO

ESCREVA (“Informe um numero: ”);LEIA ( NUM );ANALISA_NUMERO ( NUM );

FIM

Page 67: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Sintaxe de função com retorno

FUNÇÃO SOMA (A, B : REAIS)VARIAVEIS

RESULT : REAIS;INICIO

RESULT A + B;RETORNE RESULT;

FIM_FUNÇÃO

Page 68: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Chamada de funçãoALGORITMO PROGRAMA_SOMAVARIAVEIS

RESULT, A, B: REAIS;INICIO

ESCREVA (“Informe o primeiro numero: ”);LEIA ( A );ESCREVA (“Informe o segundo numero: ”);LEIA ( B );

RESULT SOMA ( A, B );ESCREVA (“A soma eh: ”, RESULT);

FIM

Page 69: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Alguns pontos importantes

Na chamada de uma função, os valores que são passados para esta função devem vir entre parênteses após o nome da mesma. Exemplo:

ANALISA_NUMERO ( NUM );

Esses valores passados para a função são chamados de argumentos ou parâmetros.

Page 70: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Alguns pontos importantes A linha de definição da função deve declarar os valores

recebidos e o tipo dos mesmos. Exemplo:

FUNÇÃO SOMA (A, B : REAIS)

Não há a necessidade das variáveis passadas para uma função terem os mesmos nomes dos argumentos declarados na função. Exemplo de chamada para a função do exemplo anterior:

RESULT SOMA (N1, N2);

Mas os parâmetros devem ser do mesmo tipo e estar em mesma quantidade que os valores passados.

Page 71: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Alguns pontos importantes Analisando os exemplos, podemos observar que

uma função pode retornar um valor ou não retornar nenhum valor.

Mas uma função nunca retorna mais de um valor.

Quando um função retorna um valor, em sua chamada deve haver uma variável recebendo esse valor, por exemplo:

RESULT SOMA ( A, B );

Page 72: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Alguns pontos importantes Quando necessário, é possível criar variáveis internas

à função, ou seja, que serão acessadas somente internamente no escopo da função. Como é o caso da variável RESULT no exemplo abaixo:

FUNÇÃO SOMA (A, B : REAIS)VARIAVEIS

RESULT : REAIS;INICIO

RESULT A + B;RETORNE RESULT;

FIM_FUNÇÃO

Page 73: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

ALGORITMO PROGRAMA_MEDIAVARIAVEIS

A, B, RESULT, CONT : REAIS;

INICIO PARA CONT 1 ATÉ 5, PASSO 1, FAÇA

ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA ("Digite a nota da segunda prova:"); LEIA ( B ); RESULT CALCULA_MEDIA ( A, B );ESCREVA (“A MEDIA EH: “, RESULT);

FIM_PARAFIM

FUNÇÃO CALCULA_MEDIA ( A, B : REAIS)VARIAVEIS

RESULT, SOMA : REAIS;INICIO

SOMA A + B;RESULT SOMA / 2;RETORNE RESULT;

FIM_FUNÇÃO

Programa que calcula a média de 5 pessoas usando o loop para e função.

Page 74: Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional

Exercícios