Estruturas de Controle Prof. Alexandre Parra Carneiro da Silva Índice Seção 1 – Estruturas de Controle Seção 2 – Representação de Algoritmos Estruturas de Controle Seção 1 Estrutura Seqüencial Estruturas de Seleção Estruturas de Repetição Estrutura Seqüencial É o conjunto de ações primitivas que serão executadas numa seqüência linear de cima para baixo e da esquerda para a direita, isto é, na mesma ordem em que foram escritas. inicio Comando a; Comando b; :: Comando N; fim. Estruturas de Seleção Uma estrutura de seleção permite a escolha de um grupo de ações e estruturas a ser executado quando determinadas condições, representadas por expressões lógicas, são ou não satisfeitas. Tipos de estruturas de seleção: Seleção Seleção Seleção Seleção Simples; Composta; Encadeada; Múltipla Escolha. Estruturas de Seleção: Simples se <condição> | então | {bloco ou comando} fimse; Sintaxe: Estruturas de Seleção: Composta se <condição> | então | {bloco ou comando} | senão | {bloco ou comando} fimse; Sintaxe: Estruturas de Seleção: Encadeada Ocorre quando há necessidade de agruparmos várias seleções. Tal formação é requerida quando uma determinada ação ou bloco deve ser executado se um grande conj. de possibilidades ou combinações de situações for satisfeito. se <condição 1> | então | se <condição 2> | então | :: {bloco ou comando} | senão | se <condição ...> | então | :: {bloco ou comando} fimse; Seleção de Múltipla Escolha escolha X | caso V1: | caso V2: | caso V3: | ... | caso Vn: fimescolha; {bloco A ou comando A}; {bloco B ou comando B}; {bloco C ou comando C}; ... {bloco N ou comando N}; Estruturas de Repetição Estas estruturas permitem a repetição de um comando, ou bloco de comandos, um número determinado de vezes ou tantas vezes quantas uma condição lógica permita. Tipos de estruturas de repetição: Repetição com teste no início Repetição com teste no final Repetição com variável de controle Repetição com o teste no início Nesta estrutura a repetição acontece enquanto uma condição lógica relacionada for verdadeira. enquanto <condição> faça | {bloco ou comando} fimenquanto; Repetição com o teste no final Nesta estrutura a repetição acontece até uma condição lógica relacionada for verdadeira. repita | {bloco ou comando} até <condição>; Repetição com variável de controle Nesta estrutura a repetição acontece um número determinado de vezes, de forma automática. para V de vi até vf passo p faça | {bloco ou comando} fimpara; Onde: V é a variável de controle; vi é o valor inicial da variável V; vf é o valor final da variável V, ou seja, o valor até o qual ela pode chegar; p é o valor do incremento dado à variável V. Representação de Algoritmos Seção 2 Descrição Narrativa Fluxograma Pseudo-Código Descrição Narrativa Representação de algoritmos diretamente em linguagem natural, o português. Cálculo da média de um aluno - Obter notas da primeira e segunda provas; - Calcular a média aritmética entre as duas provas; - Se a média for maior que 7.0, o aluno foi aprovado, senão ele foi reprovado. Desvantagens Sujeito a más interpretações, ambigüidades e imprecisões. Exercício Proposto Crie um algoritmo em descrição narrativa com o objetivo de trocar um pneu de carro. Seja detalhista! Fluxograma Representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintas. Símbolos de Representação Início e Final do fluxograma. Operação de entrada de dados. Operação de saída de dados. Operação de atribuição e controle sub-algoritmo. Tomada de Decisão. Exemplo Vantagens e Desvantagens Padrão mundial; Figuras representam melhor que palavras; Representação conhecida e reconhecida; Trabalhoso e complicado a medida que o algoritmo cresce. Exercício Exemplo Faça um algoritmo (representação fluxograma) que leia as quatro notas bimestrais de um aluno. Ao final, o algoritmo deve mostrar a média aritmética das notas do aluno, bem como se foi aprovado ou reprovado. Considerar que para ser aprovado os alunos devem alcançar média superior ou igual a 8.0 Exercício Proposto Faça um algoritmo que escreva 100 vezes o texto “Não vou fazer mais bagunça”, utilizando um comando de repetição (representação fluxograma). Pseudo-Código Representação de algoritmos através de uma pseudo-linguagem de programação, cujos comandos são em português. Exemplo Algoritmo Média-Aluno inicio fim. inteiro: nota1, nota2; real: media; leia (nota1, nota2); media := (nota1 + nota2) / 2; se (media >= 7) então escreva “APROVADO”; senão escreva “REPROVADO”; fimse; Vantagens e Desvantagens Usa o português como base; Pode-se definir quais e como os dados serão estruturados; Rápida codificação do algoritmo; Não padronizado. Exercício Num frigorífico existem 90 bois. Cada boi traz preso em seu pescoço um cartão contendo seu número de identificação e seu peso. Faça um algoritmo (representação pseudocódigo) que escreva o número e o peso do boi mais gordo e do boi mais magro (suponha que não haja bois com mesmo peso). Exercício Proposto Faça um algoritmo (em pseudo-código) que calcule a multiplicação de dois números inteiros sem utilizar o operador “*”. Utilize apenas o operador “+”.