Então, poderia basicamente dizer que em um algoritmo a sintaxe seria a seguinte:

Documentos relacionados
Amanda Gondim de Oliveira

Estruturas de Controle de Fluxo Estruturas de Repetição. Givanaldo Rocha

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

Algoritmos e Programação I

Estruturas de Controle de Fluxo

ESTRUTURAS DE REPETIÇÃO - PARTE 1

ALGORITMOS E PROGRAMAÇÃO. Andreza Leite Andreza.leite@univasf.edu.br

Algoritmos I Aula 8 Estrutura de controle: seleção

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

CAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

PROGRAMADOR JAVA. Aula 0X31 Semanas - 0b Instrutor : Léo Billi

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Aplicaremos a técnica do teste de mesa sobre o algoritmo abaixo, o qual visa determinar o número de vértices de uma figura geométrica.

Lógica Aula 3. Definição. Estrutura de decisão

Lógica de Programação ALGORITMOS.

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.

INFORMÁTICA APLICADA AULA 04 ALGORITMOS

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Estruturas de Decisão

Estrutura de Condição, Escolha e Repetição

CURSO BÁSICO DE PROGRAMAÇÃO AULA 4. Revisão Estrutura de Decisão Se Então

Lógica de Programação e Algoritmos

Semana 2 Estruturas de Condição, Seleção e Repetição. Prof. Tiago Jesus de Souza

Estruturas de Repetição

Programação de Computadores III

Programação de Computadores:

ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição. Andreza Leite andreza.leite@univasf.edu.br

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Aula 4 Estruturas de Controle

Algoritmos. Prof. Jonatas Bastos Site:

Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais. QI ESCOLAS E FACULDADES Curso Técnico em Informática

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

Prof. Jorge Cavalcanti

9. Comando de repetição com variável de controle (para.. de.. até.. faça)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Programação de Computadores III

7 Comandos e Estruturas de Controle

Estruturas de Decisão e Estruturas de Repetição

Português Estruturado

Programação de Computadores Profa Jacqueline 1

LP II Estrutura de Dados

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA COMANDOS DE DESVIO

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

Algoritmos I Edézio 1

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

Estruturas de Controle de Fluxo

Capítulo 4 Estrutura Condicional

Introdução à Algoritmos INF 1005 e INF Programação I

Estrutura de Repetição C++

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Algoritmo e Linguagem C++

Lógica. Necessida de se usar lógica. Solucionar problemas Eficiência e eficácia Boa performance de conhecimento

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

5. Expressões aritméticas

Estruturas de controle: Estrutura de DECISÃO

Introdução a Algoritmos Parte 04

Estruturas de repetição

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

Estrutura de Exclusão Múltipla

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

5 Comando de Seleção Simples e Composta

<identificador>[<tamanho>]: <tipo>;

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Algoritmos e Programação

Estruturas de Repetição

Estruturas de Repetição Parte I ENQUANTO

1ª LISTA DE EXERCÍCIOS

Linguagem de Programação I. Aula 03 Estruturas de Controle

TIPOS DE DADOS E VARIÁVEIS

Java - Estruturas de Decisão, Repetição e Arrays

(Nível Intermediário)

Introdução aos algoritmos

Fórmulas Funções Funções Soma, Média, Máximo e Mínimo Funções Maior e Menor Função Se Exercício... 9

CURSO BÁSICO DE PROGRAMAÇÃO AULA 10. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Introdução a Programação

CAPÍTULO V. Estruturas de Repetição CAPÍTULO V ESTRUTURAS DE REPETIÇÃO. Estrutura de Repetição com Teste no Início: E QUA TO-FAÇA...

Apostila de Portugol

Estruturas de Repetição Parte I ENQUANTO-FAÇA

Estruturas de Repetição Parte I ENQUANTO-FAÇA

Resolva os exercícios utilizando a linguagem de programação C

Os operadores lógicos são:

PROGRAMADOR JAVA. Aula 0X32 Semanas - 0b Instrutor : Léo Billi

Linguagem C: Introdução

Algoritmo é um conjunto de regras, raciocínios ou operações que levam a solução de um problema com etapas finitas.

Aula 4. Comandos de Repetição. Prof. Filipe Mutz.

SEGUNDA LISTA DE EXERCÍCIOS ALGORÍTMOS SEQUENCIAS E CONDICIONAIS

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

Aula 03 Estruturas Condicionais. Prof. Filipe Wall Mutz

Comando Portugol (Visualg) Java

Aula 05 Estruturas de controle em PHP. Prof. Pedro Baesse

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

Aula 4 Objetivos if/else while

CONCEITOS DE ALGORITMOS

Lógica de Programação

Transcrição:

CEPA ESTRUTURAS DE PROGRAMAÇÃO [1/10] Estrutura Condicional (SE... ENTAO e SE... ENTAO... SENAO) Se o Tabajara vencer entao ele será campeão da libertadores Então, poderia basicamente dizer que em um algoritmo a sintaxe seria a seguinte: se <condição> entao <ações a serem realizadas se a condição for verdadeira> //pode ser uma ou mais Observe que as ações/comandos só serão executados SE a condição for VERDADEIRA. Como ficaria em um algoritmo? Em Visualg, seria da seguinte forma: se (vencedor = Tabajara ) entao escreval ( vencedor, será o campeão da Libertadores! ) Para que o espaço antes na linha do comando? Esse espaço é o que chamamos de indentação (recuo/tabulação) vai servir para que seu código tenha uma melhor aparência, e fique mais fácil para entendê-lo e dar manutenção. Entendi essa parte, mas e se a condição for falsa? Nesse caso, podemos fazer nosso algoritmo de duas maneiras: 1 utilizar dois condicionais SE não aninhados: se dinheiro >= 30 entao ir_ao_cinema <- verdadeiro assistir_tv <- falso se dinheiro < 30 entao ir_ao_cinema <- falso assistir_tv <- verdadeiro

CEPA ESTRUTURAS DE PROGRAMAÇÃO [2/10] 2 A segunda opção, que é bem melhor e de mais agradável leitura. se dinheiro >= 30 entao ir_ao_cinema <- verdadeiro assistir_tv <- falso ir_ao_cinema <- falso assistir_tv <- verdadeiro Observem que agora na linha quatro, apareceu uma palavrinha nova para nós O Para que serve o? O, será executado sempre que o resultado do SE for FALSO. No exemplo acima, o interpretador fez uma pergunta, o dinheiro é maior ou igual a 30? Caso fosse, a iável ir_ao_cinema receberia o valor verdadeiro, e a iável assistir_tv receberia o valor falso. Se o dinheiro não fosse maior que 30, ou seja, caso ele fosse menor, o valor recebido das iáveis ir_ao_cinema e assistir_tv seriam outros. Estrutura Condicional Simples Quando utilizamos apenas o SE... ENTAO, temos uma condicional simples que vai avaliar se a condição é verdadeira, se for, executará o comando, caso contrário finaliza o algoritmo. se (nota >= 7) entao escreval ( Aprovado ) se (nota < 7) entao escreval ( Reprovado ) Estrutura Condicional Aninhada Utizamos SE... ENTAO... SENAO e/ou colocando um SE dentro de outro. se (nota >= 7) entao escreval ( Aprovado ) escreval ( Reprovado ) ou

CEPA ESTRUTURAS DE PROGRAMAÇÃO [3/10] se (nota < 7) entao escreval ( Reprovado ) escreval ( Aprovado ) Ainda utilizando condicional aninhada vamos ver caso precisássemos comparar duas condições. Como nas Escolas ao final do ano, que é necessário saber se está Aprovado, Reprovado ou de Recuperação. Notas finais maiores ou iguais a 20 está aprovado, notas menores do que 10 está reprovado, e notas entre 10 e menor que 20 está em recuperação. se (nota_final >= 20) entao escreval ( Aprovado ) se (nota_final < 10) entao escreval ( Reprovado ) escreval ( Recuperação ) Fácil não?! Agora, um algoritmo com cálculos, para que vocês entendam como funciona a estrutura condicional se. Desafio do dia (Tentem entender o algoritmo acima sem copia-lo no VisualG) Faça um algoritmo que receba um número e mostre uma mensagem caso este número seja maior que 10. Faça um algoritmo que receba um número, e informe se este número está no intervalo de 100 a 200.

CEPA ESTRUTURAS DE PROGRAMAÇÃO [4/10] Algoritmo calcular_media_com_se N1, N2, N3, MEDIA: real Inicio escreval ( Digite a primeira nota: ) leia (N1) escreval ( Digite a segunda nota: ) leia (N2) escreval ( Digite a terceira nota: ) leia (N3) MEDIA <- (N1 + N2 + N3)/3 se (MEDIA > 7.0) entao escreval ( A média é maior que 7.0 ) se (MEDIA = 7.0) entao escreval ( A média é igual a 7.0 ) escreval ( A média é menor que 7.0 ) Algoritmo abrir_cofre n1, n2: inteiro escreval ( Insira o primeiro digito ) leia (n1) escreval ( Insira o segundo digito ) leia (n2) se (n1 = 2) E (n2 = 5) entao escreval ("Cofre abre") escreval ("Cofre não abre") Algoritmo "redigitar_com_se" nome: caractere matricula: inteiro escreval ("Digite o nome") leia (nome) se (nome = "") entao escreval ("Digite novamente o nome") escreval ("Digite o nome") leia (nome) escreval ("Digite o número da matricula") leia (matricula) se (matricula = 0) entao escreval ("Digite novamente o número da matricula") escreval ("Digite o número da matricula") leia (matricula) escreval ("O nome é: ", nome, e a matricula é:, matricula) Algoritmo abrir_cofre2 senha, digitada: inteiro senha <- 25 escreval ( Digite a senha: ) leia (digitada) se (digitada = senha) entao escreval ("Senha correta") escreval ("Senha incorreta")

CEPA ESTRUTURAS DE PROGRAMAÇÃO [5/10] Estrutura de Decisão (ESCOLHA... CASO) Nas aulas anteriores aprendemos sobre estrutura condicional, quando e como utilizar o operador SE-ENTAO-SENAO, porém, dependendo da ocasião, quando se há muitas escolhas diferentes, nosso código pode ficar grande, e de difícil leitura. Nesse caso, entra mais a função ESCOLHA CASO CASO OUTROCASO Ele é tão simples quanto o SE. Abaixo tem um algoritmo, sobre a classificação de atletas pela sua faixa etária, este exemplo, poderia ter sido feito utilizando a estrutura condicional SE... ENTAO, mas aqui utilizarei o ESCOLHA... CASO, para que vocês entendam como funciona o mesmo. algoritmo classifica_atletas nome, categoria: caractere idade: inteiro escreval ( Digite o nome do atleta: ) leia (nome) escreval ( Informe a idade do atleta: ) leia (idade) escolha idade // A função escolha irá interpretar os casos abaixo em cima da iável idade caso 5,6,7,8,9,10 // Caso a iável idade receba de 5 a 10, irá atribuir na iável categoria o valor: infantil categoria <- infantil caso 11,12,13,14,15 // Caso a iável idade receba de 11 a 15, irá atribuir na iável categoria o valor: juvenil categoria <- juvenil caso 16,17,18,19,20 // Caso a iável idade receba de 16 a 20, irá atribuir na iável categoria o valor: junior categoria <- junior caso 21,22,23,24,25 // Caso a iável idade receba de 21 a 25, irá atribuir na iável categoria o valor: profissional categoria <- profissional outrocaso // E se a iável idade não receber nenhum dos valores mencionados, receberá sem categoria categoria <- SEM CATEGORIA fimescolha // O fimescolha finaliza a função que abrimos anteriormente escreva( Categoria:,categoria) // E este último escreva, serve para que possamos mostrar o resultado ao usuário

CEPA ESTRUTURAS DE PROGRAMAÇÃO [6/10] Veja outros algoritmos utilizando a estrutura ESCOLHA... CASO... OUTROCASO: Algoritmo "escolhanota" nota: inteiro msg: caractere escreval ("Digite a nota:") leia (nota) escolha nota caso 0 escreval ("Muito baixa") caso 1, 2, 3 escreval ("Baixa") caso 4, 5, 6 escreval ("Média") caso 7, 8, 9 escreval ("Alta") caso 10 escreval ("Muito alta") fimescolha Observe que os parâmetros das linhas CASO como são do tipo número basta digitálos e separar por vírgula. Neste algoritmo não tem OUTROCASO pois, estamos limitando o usuário a digitar apenas números inteiros entre 0 e 10 caso não digite o algoritmo finaliza. Algoritmo "escolha_conceito" conceito: caractere escreval ("Digite a letra correspondente ao conceito:") escreval ("R Regular; B Bom; MB Muito Bom; O - Ótimo") leia (conceito) escolha conceito caso R escreval ("Regular") caso B escreval ("Bom") caso MB escreval ("Muito Bom") caso O escreval ("Ótimo") outrocaso escreval ("Sem conceito") fimescolha Observe que neste outro exemplo os parâmetros das linhas CASO são do tipo caractere ou literal, por isto os digitamos entre aspas. Veja também que utilizamos uma linha instruindo o usuário como ele deveria inserir os dados. Exemplo: "R Regular; B Bom; MB Muito Bom; O - Ótimo".

CEPA ESTRUTURAS DE PROGRAMAÇÃO [7/10] Estruturas de Repetição 1 (REPITA... ATE) O comando é feito depois é avaliada a condição. Veja a sintaxe: <lista de comandos> ate <expressão lógica ou relacional> Observe que não tem fim. Vamos ver alguns exemplos de uso do laço de repetição. Vejamos dois algoritmos usados para escrever na tela os números de 1 até 10. algoritmo Repeticao1" i: inteiro i <- 1 escreval (i) i <- i + 1 ate i > 10 algoritmo Repeticao2" i: inteiro i <- 1 escreval (i) i <- i + 1 enquanto i > 10 Perceba, o que muda em um algoritmo é o uso do ENQUANTO ao invés de ATE. Apesar da mudança, o resultado será o mesmo. Vejamos agora como calcular a média de 3 alunos. Algoritmo "media3alunos" p1, p2, p3, m, i: real nome: caractere i <- 1 escreval ("Entre com o nome do aluno:") leia ( nome ) escreval ("Entre com as notas das 3 provas") escreval ("Digite a primeira nota: ") leia (p1) escreval ("Digite a segunda nota: ) leia (p2) escreval ("Digite a terceira nota: ") leia (p3) m <- (p1+p2+p3)/3 escreval("a média do aluno: ", nome, " é ",m) i <- i + 1 {controle de incremento} ate i > 3 {condição que limita a quantidade de repetições} Veja que fora do laço de repetição precisamos atribuir 1 para a iável i que vai controlar as repetições. Veja que tem um controle do incremento dentro do laço de repetição, que vai contar cada repetição. E a condição que limita a repetição.

CEPA ESTRUTURAS DE PROGRAMAÇÃO [8/10] Laço de repetição para Decremento algoritmo "DecrementarNumerosPares i: inteiro i <- 10 Será escrito na tela: 10 8 6 4 2 escreval (i) i <- i 2 {observe o sinal de menos} ate i = 0 No exemplo acima é feito decremento pois, utilizamos o sinal de menos no contador do laço. Se utilizássemos o sinal de mais seria incremento, como nos 3 primeiros algoritmos que vimos sobre repetição. Temos que tomar cuidado para não criar uma condição que nunca será verdadeira, ou mesmo de atribuir valor à iável de controle do laço dentro do laço de repetição. Se fizermos uma destas coisas teremos um laço infinito. Veja o exemplo abaixo: algoritmo lacoinfinito contador: inteiro contador <- 1 {contador está dentro do laço} contador <- contador + 1 ate contador = 10 O contador deveria ser incrementado fora do laço de repetição, acima da palavra. Da forma que está toda vez o que laço é repetido, o contador recebe 1, depois é somado este valor com o 1, o resultado é 2, depois, novamente o contador recebe 1 e é somado com 1. Vai ficar nisto o tempo todo, pois, nunca chegará a ser igual a 10, que é a condição para fim da repetição. Vejamos mais um exemplo utilizando o laço REPITA... ATE. O laço é finalizado quando a opção correspondente a Sair é digitada.

CEPA ESTRUTURAS DE PROGRAMAÇÃO [9/10] Algoritmo "Menu" opcao: inteiro escreval ("Cadastro:") escreval ("1-Incluir") escreval ("2-Alterar") escreval ("3-Consultar") escreval ("4-Excluir") escreval ("5-Sair") leia (opcao) escreval ("Opção selecionada ", opcao) ate opcao = 5 Você escolherá opções até opção 5 ser utilizada. Estruturas de Repetição 2 (ENQUANTO... FACA) Diferentemente do REPITA... ATE. No laço de repetição ENQUANTO... FACA, primeiro a condição é verificada depois o comando é feito. Veja a sintaxe: enquanto <expressão lógica ou relacional> faca <lista de comandos> fimenquanto Vejamos um exemplo onde o cálculo é feito enquanto a iável é maior ou igual a zero. Algoritmo Calculo i: real escreval ("Digite um número maior ou igual a zero: ") leia (i) enquanto i >= 0 faca //O valor digitado será elevado a meio escreval (i^0.5) leia (i) fimenquanto Estruturas de Repetição 3 (PARA... FACA... PASSO) A iável inicial é comparada com o valor final, a repetição é executada até o valor ser menor ou igual. Veja a sintaxe: para <iável de controle> de <valor inicial> ate <valor final> [passo<increm./decrem.>] faca <lista de comandos> fimpara

CEPA ESTRUTURAS DE PROGRAMAÇÃO [10/10] Vejamos o exemplo de um algoritmo que lê e escreve os números ímpares de 1 a 100. Algoritmo Ímpares i: inteiro para i de 1 ate 100 passo 2 faca //Incrementa i de 2 em 2 escreval (i, é ímpar ) fimpara Vejamos agora um algoritmo que lê e escreve os números pares de 2 a 100. Algoritmo "Pares" i: inteiro para i de 2 ate 100 passo 2 faca //Incrementa i de 2 em 2 escreval (i, " é par") fimpara Outro exemplo um algoritmo que lê 5 números e escreve todos os que forem positivos. Algoritmo "Positivos i, numero: inteiro para i de 1 ate 5 passo 1 faca escreval ("Digite um numero") leia ( numero ) se (numero > 0) entao escreval (numero) fimpara Referências: MARTINS, Carlos Fernando. Et al. Lógica de Programação I. 6ª Edição. Palhoça: Unisul, 2009. Desenvolvimento. Disponível em: http://algoritmizando.com/desenvolvimento, Acesso em: 01/01/12.