Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Estruturas de Controle de Fluxo GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr. Danilo Spatti São Carlos - 2018
2 Expressões Lógicas Introdução Expressões lógicas são aquelas cujos operadores são RELACIONAIS e/ou LÓGICOS e cujos operandos são relações, variáveis ou números: V ou F, 1 ou 0, Verdadeiro ou Falso. Operadores relacionais são operadores utilizados para realizar comparações entre tipos primitivos de mesmo tipo.
3 Expressões Lógicas Comparador de igualdade: = Operadores Relacionais Comparador de maior ou igual a: >= Comparador de menor ou igual a: <= Diferente de: <> Maior que: > Menor que: <
4 Expressões Lógicas Operadores Lógicos Operador E OU XOU NÃO Significado Continuação Distinção não exclusiva Distinção exclusiva Negação
5 Expressões Lógicas Resultados Lógicos Quando utilizamos dois resultados lógicos possíveis, A e B, a combinação de todos os resultados possíveis advindos da avaliação com os conectivos podem ser representados por meio da TABELA VERDADE.
6 Expressões Lógicas Tabela Verdade do Operador E A B A E B A B F F F F V F V F F Se apenas a chave A é fechada, não há circulação de corrente i V V V Se a chave A e a chave B são fechadas, há circulação de corrente.
7 Expressões Lógicas Tabela Verdade do Operador OU A B A OU B A F F F B F V V V F V V V V Se apenas a chave A é fechada, há circulação de corrente Se apenas a chave B é fechada, há circulação de corrente
8 Expressões Lógicas Tabela Verdade do Operador XOU A B A XOU B F F F F V V V F V V V F
9 Expressões Lógicas Tabela Verdade do Operador NÃO A F V NÃO A V F
10 Seja A = 5 e B = 3 A = B? A >= B? A<> B? Expressões Lógicas Exercícios 2 * 4 = 24/3 2 + 4^2/2 <= 3*6 15 Dica de prioridade: Expressões Aritméticas, Expressões Relacionais e Expressões Lógicas
11 Grupos de Comandos Grupo de comandos é um conjunto de comandos que devem ser executados em sequência pré-estabelecida, ou seja, de cima para baixo. Introdução (I) Um comando só será executado após o término do comando anterior. Um comando pode ser qualquer instrução primitiva (leitura, atribuição, impressão,...) ou qualquer estrutura de controle (decisão, repetição,...)
12 Grupos de Comandos Todos os comandos, para serem empregados corretamente, necessitam ser escritos segundo uma sintaxe claramente definida. Entende-se por sintaxe a maneira pela qual os operandos, operadores, comando são representados. Introdução (II) Basicamente, pode-se definir dois tipos de sintaxe: comando único ou em grupo. Quando em grupo de comandos, deve-se sinalizar quando se iniciam e quando se finalizam os grupos de comandos.
13 Estrutura Tipo Se Introdução Neste tipo de estrutura, o controle de fluxo de instruções a ser executado é determinado por decisões. São representadas por expressões lógicas, que podem ou não serem satisfeitas.
14 Estrutura Tipo Se Sintaxe Para Apenas 1 Decisão (I) Se <condição> então Fim Se <grupo_de_comandos> Interpretação: se a <condição> for verdadeira então execute os comandos definidos pelo <grupo_de_comandos>.
15 Estrutura Tipo Se Sintaxe Para Apenas 1 Decisão (II) Exemplo: faça uma estrutura de decisão Tipo Se que imprima Está Calor! quando a temperatura for superior a 40º. Se temperatura > 40 então Fim Se Escreva ( Está calor! )
16 Estrutura Tipo Se Sintaxe Para Decisões Opostas (I) Se <condição> então <grupo_de_comandos1> Senão <grupo_de_comandos2> Fim Se Interpretação: se a <condição> for verdadeira então execute os comandos definidos pelo <grupo_de_comandos1>; caso contrário execute o <grupo_de_comandos2>.
17 Estrutura Tipo Se Sintaxe Para Decisões Opostas (II) Exemplo: faça uma estrutura de decisão Tipo Se que teste a média do aluno. Se for superior ou igual a 5, deve imprimir em linhas separadas que o aluno está Aprovado e Parabéns. Caso contrário, deve imprimir em linhas separadas Reprovado e Estude mais.
18 Estrutura Tipo Se Sintaxe Para Decisões Opostas (III) Se média >= 5 então Início Escreva ( Aprovado ) Escreva ( Parabéns ) Fim Senão Início Escreva ( Reprovado ) Escreva ( Estude mais ) Fim Fim Se
19 Estrutura Tipo Se Sintaxe Para Decisões Compostas Se <condição1> então <grupo_de_comandos1> Senão Se <condição2> então <grupo_de_comandos2> (...) Senão Se <condiçãon> então <grupo_de_comandosn> Senão <condiçãosenão> <grupo_de_comandosn> Fim Se
20 Estrutura Tipo Escolha Nesta estrutura, o fluxo de instrução a ser seguido é escolhido entre várias decisões avaliando-se uma variável. Sintaxe Escolha <variável> Caso valor1: <comandos1> Caso valor2: <comandos2> (...) Caso valorn: <comandosn> Fim Escolha
21 Estrutura Tipo Escolha Interpretação Interpretação: caso o conteúdo da <variável> seja igual a valor1, então execute o <comandos1>. Caso seja igual a valor2, então execute o <comandos2>. Caso seja igual a valorn, então execute o <comandosn>.
22 Estrutura Tipo Escolha Teste a idade de uma pessoa e imprima se ela é Criança se a idade for 5, Adolescente se a idade for 15, Adulto se a idade for 20 e Idoso se a idade for 70. Escolha idade Caso 5: Escreva ( Criança ) Caso 15: Escreva ( Adolescente ) Caso 20: Escreva ( Adulto ) Caso 70: Escreva ( idoso ) Fim Escolha Exemplo
23 Estrutura de Repetição Tipo Enquanto Neste tipo de estrutura, um grupo de comandos é executado diversas vezes, verificando, antes de qualquer execução se determinada condição é verdadeira. Sintaxe Enquanto <condição> faça <comandos> Fim Enquanto
24 Estrutura de Repetição Tipo Enquanto Somar os 100 primeiros números inteiros positivos. Algoritmo soma_inteiros_positivos Var soma, num: inteiro Início soma 0 num 1 Enquanto num <= 100 faça Início Fim Fim Fim Enquanto soma soma + num num num + 1 Exemplo Iteração soma num 0 0 1 1 1 2 2 3 3 3 6 4
25 Estrutura de Repetição Tipo Repita Sintaxe Nesta estrutura de repetição, a decisão se um determinado grupo de comandos deve ou não ser executado, é feita sempre no fim do grupo de comandos. Repita <comandos> Até <condição>
26 Estrutura de Repetição Tipo Repita Somar os 100 primeiros números inteiros positivos. Algoritmo soma_inteiros_positivos Var soma, num: inteiro Início soma 0 num 1 Repita Início soma soma + num num num + 1 Fim Até num > 100 Fim Exemplo
27 Estrutura de Repetição Tipo Para Sintaxe Neste tipo de estrutura, um grupo de comandos é executado um número definido de vezes. Para <VC> de <VI> até <VF> passo <VP> faça <comandos> Fim Para Onde <VC> é a variável de controle; <VI> é o valor inicial; <VF> o valor final; e <VP> é o incremento dado a <VC> a cada iteração (Repetição).
28 Estrutura de Repetição Tipo Para Interpretação Para <VC> variando de <VI> até <VF>, com incremento <VP> em cada iteração faça <comandos>. Se o incremento for unitário, ele pode ser omitido.
29 Estrutura de Repetição Tipo Para Somar os 100 primeiros números inteiros positivos. Exemplo Algoritmo soma_inteiros_positivos Var soma, num: inteiro Início soma 0 Para num de 1 até 100 faça soma soma + num Fim Para Fim
30 Fluxogramas com Estruturas de Controle Introdução Agora que as instruções de estruturas de controle de fluxo foram apresentadas, é possível se confeccionar algoritmos iterativos. Uma forma de representar tais estruturas por meio de fluxogramas é indicar por meio de setas ou linhas o sentido do fluxo de execução. Deve-se observar as regras de transição e estruturas de decisão para não produzir fluxogramas com linhas ou setas que se cruzam.
31 Fluxogramas com Estruturas de Controle Fluxograma (I) Exemplo: confeccionar o fluxograma de um algoritmo que representa a seguinte descrição narrativa. 1. Ler duas variáveis de entrada; 2. Calcular a raíz quadrada da primeira variável; 3. Se o valor obtido no passo 2 for menor que o da segunda variável, volte ao passo 1. Caso contrário vá para o passo 4; 4. Some as duas variáveis; 5. Fim.
32 Fluxogramas com Estruturas de Controle Fluxograma (II) Início x 1, x x 2 1 x 1 < x 2 x 1 + x 2 Fim V F
33 Fim spatti@icmc.usp.br GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos