31
1 Conceitos e Técnicas de Programação Profº Ms. Tarcísio Júnior Gestão de Tecnologia da Informação

Conceitos e técnicas de programação aula 4

Embed Size (px)

Citation preview

Page 1: Conceitos e técnicas de programação aula 4

1

Conceitos e Técnicas de Programação

Profº Ms. Tarcísio Júnior

Gestão de Tecnologia da Informação

Page 2: Conceitos e técnicas de programação aula 4

2

Representação de Algoritmos

Conceitos e Técnicas de Programação

Page 3: Conceitos e técnicas de programação aula 4

3

Estrutura Condicional

• Simples• Composta• Múltipla escolha

Page 4: Conceitos e técnicas de programação aula 4

4

Estrutura Condicional Simples

início

olhar o céu

fim

acenderluz

escuro?

V

F

Page 5: Conceitos e técnicas de programação aula 4

5

se <condição> então<ação>fim se

se <condição> então<ação>fim se

Estrutura Condicional Simples

• Utilizada quando precisamos testar uma certa condição antes de executar uma ação.

Page 6: Conceitos e técnicas de programação aula 4

6

Estrutura Condicional Simples•

Exe

mpl

o:algoritmo media;

variáveisN1, N2, NF, media: real;fim-variáveis

inícioescreva("Entre com a primeira nota");leia (N1);escreva("Entre com a segunda nota");leia ( N2 );escreva("Entre com a nota final");leia (NF );media := (N1 + N2 + NF)/3;se media >= 5.0 então

escreva("o aluno passou!");fim-sefimalgoritmo

algoritmo media;

variáveisN1, N2, NF, media: real;fim-variáveis

inícioescreva("Entre com a primeira nota");leia (N1);escreva("Entre com a segunda nota");leia ( N2 );escreva("Entre com a nota final");leia (NF );media := (N1 + N2 + NF)/3;se media >= 5.0 então

escreva("o aluno passou!");fim-sefimalgoritmo

Page 7: Conceitos e técnicas de programação aula 4

77

Exercício: Escreva um algoritmo que leia 2 valoresinteiros e calcule o resultado da divisão do primeiro pelosegundo. Não esqueça de verificar em que condição aoperação pode ser realizada.

Verificar se o segundo número é diferente de zero (não existe divisão por zero).

Caso o segundo número seja diferente de zero, calcule a divisão e imprima o resultado do cálculo na tela.

Exibir uma mensagem de erro no caso da condição não ser satisfeita.

Estrutura Condicional Simples

Page 8: Conceitos e técnicas de programação aula 4

8

•S

oluç

ão:

algoritmo qualquer_nome;variáveisdenominador, numerador: inteiro;divisao: real;fim-variáveisinícioescreva ("Entre com o numerador (n1)");leia (numerador);escreva ("Entre com o denominador (n2)");leia (denominador);

se denominador = 0 entãoescreva ("Denominador inválido!");

senãodivisao := numerador/denominador;escreva ("O resultado da divisao é: ", divisao);

fim-sefimalgoritmo

algoritmo qualquer_nome;variáveisdenominador, numerador: inteiro;divisao: real;fim-variáveisinícioescreva ("Entre com o numerador (n1)");leia (numerador);escreva ("Entre com o denominador (n2)");leia (denominador);

se denominador = 0 entãoescreva ("Denominador inválido!");

senãodivisao := numerador/denominador;escreva ("O resultado da divisao é: ", divisao);

fim-sefimalgoritmo

Estrutura Condicional Simples

Page 9: Conceitos e técnicas de programação aula 4

9

Estrutura Condicional Composta

início

Calcular a Média

fim

Aluno aprovado

Nota >= 5?

V

Fazer recuperação

F

Page 10: Conceitos e técnicas de programação aula 4

10

se <condição> então<ação1>senão<ação2>fim se

se <condição> então<ação1>senão<ação2>fim se

Estrutura Condicional Composta

• Utilizada em situações em que duas alternativas dependem da mesma condição, uma da condição verdadeira (então) e a outra da condição falsa (senão).

Page 11: Conceitos e técnicas de programação aula 4

11

Estrutura Condicional Composta•

Exe

mpl

o:algoritmo media;

variáveisN1, N2, NF, media: real;fim-variáveis

inícioescreva("Entre com a primeira nota");leia (N1);escreva("Entre com a segunda nota");leia (N2);escreva("Entre com a nota final");leia (NF);media := (N1 + N2 + NF)/3;se media >= 5.0 então

escreva ("aluno aprovado");senão

escreva (“aluno não aprovado”);fim-sefim

algoritmo media;

variáveisN1, N2, NF, media: real;fim-variáveis

inícioescreva("Entre com a primeira nota");leia (N1);escreva("Entre com a segunda nota");leia (N2);escreva("Entre com a nota final");leia (NF);media := (N1 + N2 + NF)/3;se media >= 5.0 então

escreva ("aluno aprovado");senão

escreva (“aluno não aprovado”);fim-sefim

Page 12: Conceitos e técnicas de programação aula 4

12

Quando existe uma ou mais seleções dentro deoutra seleção.

Chamada Seleção Encadeada ou SeleçãoAninhada.

Ex 1: Lê uma idade e informa se a pessoa já alcançoua maioridade ou não. Não se deve aceitar valores deidade inválidos.

Estrutura Condicional Encadeada

Page 13: Conceitos e técnicas de programação aula 4

13

•E

xem

plo:

algoritmo Maioridade;

variáveisidade: inteiro;fim-variáveis

inícioescreva("Informe a idade do individuo:");leia (idade);se (idade >=0) e (idade < 18) então

escreva ("Individuo Menor de Idade");senão

se (idade >= 18) e (idade <= 130) entãoescreva ("Individuo Maior de Idade");

senãoescreva ("Erro: Idade invalida!");

fim-sefim-se

fimalgoritmo

algoritmo Maioridade;

variáveisidade: inteiro;fim-variáveis

inícioescreva("Informe a idade do individuo:");leia (idade);se (idade >=0) e (idade < 18) então

escreva ("Individuo Menor de Idade");senão

se (idade >= 18) e (idade <= 130) entãoescreva ("Individuo Maior de Idade");

senãoescreva ("Erro: Idade invalida!");

fim-sefim-se

fimalgoritmo

Estrutura Condicional Encadeada

Page 14: Conceitos e técnicas de programação aula 4

14

início

Ler estado

fim

São Paulo?V

Alíquota 12%F

Alagoas?

Paraíba?

Alíquota 15%

Alíquota 17%

F

F

V

V

Estrutura Condicional de Múltipla Escolha

Page 15: Conceitos e técnicas de programação aula 4

15

se <cond_01> então<ação1>senão se <cond_02> então<ação2>senão se <cond_03> então<ação3>....senão<ação default>fim se

se <cond_01> então<ação1>senão se <cond_02> então<ação2>senão se <cond_03> então<ação3>....senão<ação default>fim se

• Utilizada quando um conjunto de valores discretos e ações diferentes são associadas a cada um desses valores.

Estrutura Condicional de Múltipla Escolha

Page 16: Conceitos e técnicas de programação aula 4

16

• O IMC (Índice de Massa Corporal) é um critério da Organização Mundial da saúde para dar uma indicação sobre a condição de peso de uma pessoa adulta.

• A fórmula é

• Elabore um algoritmo que leia o peso e a altura de um adulto e mostre sua condição.

2)(alturapesoIMC

IMC em adultos Condição

abaixo de 18,5 abaixo do peso

entre 18,5 e 25 peso normal

entre 25 e 30 acima do peso

acima de 30 obeso

Estrutura Condicional de Múltipla Escolha

se <cond_01> então<ação1>

senão se <cond_02> então

<ação2>senão

se <cond_03> então<ação3>

....senão<ação default>

fimsefimse

fimse

se <cond_01> então<ação1>

senão se <cond_02> então

<ação2>senão

se <cond_03> então<ação3>

....senão<ação default>

fimsefimse

fimse

Page 17: Conceitos e técnicas de programação aula 4

17

Solução – Esboço• Variáveis:

– Entrada: peso, altura• Tipo: real (float)• Intervalo: maior que zero

– Saída: IMC• Tipo: real

• Comandos:– Ler variáveis de entrada– Checar validade das variáveis de entrada– Calcular IMC– Determinar condição

Solução – Esboço

Estrutura Condicional de Múltipla Escolha

Page 18: Conceitos e técnicas de programação aula 4

18

Solução do algoritmoAlgoritmo “IMC”Início das variaveispeso,altura,imc:REAL;

fim das variáveisInícioescreva(“Qual a sua altura?”)leia(altura)escreva(“Qual o seu peso?)leia(peso)imc <- peso/(altura*altura) ou pode ser imc <- peso/(altura^2)se imc < 18.5 entao

escreva("abaixo do peso")senao

se imc < 25 entaoescreva("peso normal")senao

se imc < 30 entaoescreva ("acima do peso")senao

escreval ("você está obeso!")fimse

fimsefimse

fimalgoritmo

Page 19: Conceitos e técnicas de programação aula 4

19

Solução com o VisuAlg

algoritm "calculaIMC"// Função : Calcular o ICM// Autor : Tarcísio// Data : 08/03/2012// Seção de Declarações varaltura, peso, imc: realinicio// Seção de Comandos escreval("Qual a sua altura")leia(altura)

escreval("Qual o seu peso")leia(peso)

Continuação...

imc <- peso/(altura*altura)

se imc < 18.5 entaoescreval("você está abaixo do peso")

senaose imc < 25 entao

escreval("peso normal")senao

se imc < 30 entaoescreval ("acima do peso")

senaoescreval ("você está obeso!")

fimsefimse

fimsefimalgoritmo

Page 20: Conceitos e técnicas de programação aula 4

20

Leia uma idade e informe se a pessoa é um eleitorobrigatório (entre 18 e 69 anos), facultativo (entre16 e 17 anos ou acima de 70) ou não é eleitor(menos de 16 anos)

Exercício

Page 21: Conceitos e técnicas de programação aula 4

21

Solução do algoritmo

Programa EleitorInício das variáveis

idade: inteiro;fim das variáveisInícioescreva("Informe a sua idade:")leia(idade)se idade < 16 entao

escreva("Você não é eleitor")senao

se (idade < 18) ou (idade > 70) entaoescreva("eleitor facultativo")senao

se idade <= 70 entaoescreva ("você é eleitor")

fimsefimse

fimsefimalgoritmo

Leia uma idade e informe se a pessoa é um eleitor obrigatório (entre 18 e 69 anos), facultativo (entre 16 e 17anos ou acima de 70) ou não é eleitor (menos de 16 anos)

Page 22: Conceitos e técnicas de programação aula 4

22

Solução com o VisuAlg

algoritmo "Eleitor"// Função : Verificar se de acordo com a idade a pessoa é ou não eleitor// Autor : Tarcísio// Data : 08/03/2012// Seção de Declarações varidade: inteiro

Continuação...

inicio// Seção de Comandos

escreval("Informe a sua idade:")leia(idade)se idade < 16 entao

escreva("Você não é eleitor")senao

se (idade < 18) ou (idade > 70) entaoescreva("eleitor facultativo")senao

se idade <= 70 entaoescreva ("você é eleitor")

fimsefimse

fimsefimalgoritmo

Page 23: Conceitos e técnicas de programação aula 4

23

caso <variável>seja <opção1> faça <ação1>seja <opção2> faça <ação2>seja <opção3> faça <ação3>

senão<ação para nenhuma condição satisfeita>

fim_caso

caso <variável>seja <opção1> faça <ação1>seja <opção2> faça <ação2>seja <opção3> faça <ação3>

senão<ação para nenhuma condição satisfeita>

fim_caso

• Utilizada em situações em que possui um grande número deverificações lógicas a serem realizadas, tanto de formasequencial ou encadeada.

Tomada de decisão por seleção

Page 24: Conceitos e técnicas de programação aula 4

24

• Exemplo: efetuar a leitura de um número inteiro entre 1 e 12e apresentar o nome do mês correspondente por extenso.Caso o valor informado for diferente deste intervalo deve serapresentada a mensagem “valor inválido”.

Tomada de decisão por seleção

Page 25: Conceitos e técnicas de programação aula 4

25

Solução do Algoritmo

Algoritmo Mês_por_ExtensoInício das variáveis

mes: inteiro;fim das variáveisInício

escreva("Informe o mês (1 a 12):")leia(mes)caso mês

seja 1 façaescreva “Janeiro”

seja 2 façaescreva “Fevereiro”

seja 3 façaescreva “Março”

seja 4 façaescreva “Abril”

seja 5 façaescreva “Maio”

Continiação...seja 6 faça

escreva “Junho”seja 7 faça

escreva “Julho”seja 8 faça

escreva “Agosto”seja 9 faça

escreva “Setembro”seja 10 faça

escreva “Outubro”seja 11 faça

escreva “Novembro”seja 12 faça

escreva “Dezembro”senão

escreva(“valor inválido”)fim_caso

fimalgoritmo

Page 26: Conceitos e técnicas de programação aula 4

26

Solução no VisuAlg

algoritmo "mes_por_extenso"// Função : Escreve o mês por extenso// Autor : Tarcísio// Data : 08/03/2012// Seção de Declarações varmes: inteiroinicio// Seção de Comandos escreval("Informe o mês (1 a 12):")leia(mes)escolha mescaso 1

escreval("Janeiro")caso 2

escreval("Fevereiro")caso 3

escreval("Março")caso 4

escreval("Abril")

Continiação...

caso 5escreval("Maio")

caso 6escreval("Junho")

caso 7escreval("Julho")

caso 8escreval("Agosto")

caso 9escreval("Setembro")

caso 10escreval("Outubro")

caso 11escreval("Novembro")

caso 12escreval("Dezembro")

outrocasoescreval("valor inválido")

fimescolhafimalgoritmo

Page 27: Conceitos e técnicas de programação aula 4

27

VETOR:estrutura formada por um conjuntounidimensional de dados de mesmo tipo(homogêneo) e possuindo número fixo deelementos (Estático). Na declaração dos vetoresdevemos informar o seu nome, seu tipo (inteiro,real, caracter, ...), e seu tamanho (número deelementos). Cada elemento do vetor éidentificado por um índice (unidimensional), oqual indica a sua posição no vetor.

Vetor e Matriz

Page 28: Conceitos e técnicas de programação aula 4

28

Declaração de um VETOR:NomeDoVetor : vetor[nº de elementos] de Tipo do Vetor Exemplo: IDADE: VETOR [1..5] DE INTEIRO

Referência:NomeDoVetor[índice]

Exemplo:IDADE[1] <- 35escreval(IDADE[1])

Vetor e Matriz

Page 29: Conceitos e técnicas de programação aula 4

29

MATRIZ:estrutura semelhante ao vetor, sendo que, podepossuir n dimensões.Desta forma para fazer referência aos elementosde uma matriz, precisaremos de tantos índicesquanto for suas dimensões.

Vetor e Matriz

Page 30: Conceitos e técnicas de programação aula 4

30

Declaração de uma MATRIZ:NomeDaMatriz : matriz[dimensões] de Tipo da Matriz

Exemplo:PESSOAS: VETOR [1..2,1..3] DE CARACTERE

Referência:NomeDaMatriz[índices]

Exemplo:PESSOAS[1,3]<- “Maria”escreval(PESSOAS[1,3])

Vetor e Matriz

Page 31: Conceitos e técnicas de programação aula 4

31

Exercício

31

1) Sabendo-se que José tem direito a15% de reajuste de salário, completeo diagrama ao lado: