1 Lógica de Programação



Documentos relacionados
A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

3. Tipos de Dados, Constantes e Variáveis.

Introdução à Lógica de Programação (cont.)

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Resolução de problemas e desenvolvimento de algoritmos

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Introdução à Lógica de Programação

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

ESTRUTURA CONDICIONAL

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Dadas a base e a altura de um triangulo, determinar sua área.

Linguagem algorítmica: Portugol

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação de Computadores

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Expressões Lógicas Comandos de Seleção

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Curso Básico de Lógica de Programação. Lógica. Programação. Autor: Paulo Sérgio de Moraes. Unicamp - Centro de Computação - DSC Página: 1

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Algoritmos com VisuAlg

Introdução à Programação e Algoritmos. Aécio Costa

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Sessão 2 UFCD 0804 Algoritmos

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Conceitos Importantes:

Resumo da Matéria de Linguagem de Programação. Linguagem C

Programação para Computação

Programação WEB I Estruturas de controle e repetição

Algoritmos Computacionais ( Programas )

ALGORITMOS E FLUXOGRAMAS

Introdução a Algoritmos Parte 04

Algoritmos e Programação. Prof. Tarcio Carvalho

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

Lógica. Everson Santos Araujo

Algoritmos. Cláudio Barbosa

Algoritmos e Programação _ Departamento de Informática

Aluísio Eustáquio da Silva

ICC Introdução para JavaScript

Orientação a Objetos

BC0501 Linguagens de Programação

Introdução à Lógica de Programação

AMBIENTE DE PROGRAMAÇÃO PYTHON

Introdução à Computação para o Ensino Médio. Centro Técnico Científico

Lista de Exercícios. Vetores

Algoritmos em Javascript

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

1.1. Organização de um Sistema Computacional

ISCAP. Algoritmia. Pág. 1. Ana Paula Teixeira

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

ULA Sinais de Controle enviados pela UC

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Prof. Esp. Adriano Carvalho

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Aula 10 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

Metodos de Programação

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti

Python Condicionais e Loops. Introdução à Programação SI1

Introdução a Programação

e à Linguagem de Programação Python

7. Estrutura de Decisão

Lista de Exercícios 03b Algoritmos Repetição

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. Isac Aguiar isacaguiar.com.br

Princípios de funcionamento dos computadores

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior Felipe Schneider Costa

Programação: Estruturas de seleção

Compilado pela Prof a Sílvia Moraes Organizado por Stewart Unger

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Arquitetura de Computadores. Tipos de Instruções

Diagrama de transição de Estados (DTE)

Terceiro Milênio Informática

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

OPERADORES E ESTRUTURAS DE CONTROLE

Comandos Sequenciais if else, e Switch

Aplicações de Escritório Electrónico

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Lógica de Programação PROF. FLÁVIO IZO

O que é o JavaScript?

CADERNO DE EXERCÍCIOS ALGORITMOS

Lista de Exercícios 03b Repetição. 63) Escreva um programa que receba números do usuário enquanto eles forem positivos e

Transcrição:

1 Lógica de Programação

Técnicas de programação Programação Sequencial Programação Estruturada Programação Orientada a Eventos e Objectos

1.1 Lógica A lógica de programação é necessária para pessoas que desenvolvem programas informáticos. A lógica de programação permite definir a sequência lógica para o desenvolvimento das aplicações. O que é a lógica? A lógica de programação é a técnica de encadear pensamentos para atingir determinado objectivo.

1.2 Sequência Lógica Estes pensamentos podem ser descritos como uma sequência de instruções que devem ser seguidas para cumprir uma determinada tarefa. Sequência lógica são os passos executados até atingir um objectivo ou solução de um problema.

1.3 Instruções Em linguagem comum, entende-se por instruções: um conjunto de regras ou normas definidas para a realização de um objectivo. Em Informática, uma instrução é uma informação que indica ao computador uma acção elementar a executar. Convém ressaltar que uma ordem isolada não permite realizar o processo completo. É necessário um conjunto de instruções colocadas em ordem sequencial lógica.

1.3 Instruções Por exemplo, para confeccionar uma omeleta de batata, precisamos de colocar em prática uma série de instruções: Descasca batatas; Bater os ovos; Fritar as batatas; Etc. É evidente que estas instruções têm que ser executadas numa determinada ordem (não se podem descascar as batatas depois de as fritar).

1.3 Instruções Desta forma, uma instrução realizada em separado não tem sentido. Para obtermos o resultado, necessitamos colocar em prática o conjunto de todas as instruções, na ordem correcta. Instruções são um conjunto de regras ou normas definidas para a realização de um objectivo. Em informática, uma instrução é o que indica ao computador uma acção elementar a executar.

Algoritmia O que significa? Algoritmo + ia Estudo dos processos ou métodos de calcular. In Dicionário da língua portuguesa 2003

1.4 Algoritmo É formalmente uma sequência finita de passos que levam à execução de uma tarefa. Podemos pensar num algoritmo como uma receita, uma sequência de instruções que permitem atingir um objectivo específico. Estas instruções não podem ser redundantes nem subjectivos na sua definição. Deverão, isso sim, ser claras e objectivas.

1.4 Algoritmo Como exemplos de algoritmos podemos citar os algoritmos das operações básicas (adição, multiplicação, divisão e subtracção) de números inteiros e decimais.

1.4 Algoritmo Exemplo de algoritmo Soma de dois números Escreva o primeiro número no rectângulo A Escreva o segundo número no rectângulo B Some o número do rectângulo A com o número do rectângulo B e coloque o resultado no rectângulo C Rectângulo A Rectângulo B Resultado 2 + 2 = 4

1.5 Programas Os programas de computador não são mais do que algoritmos escritos numa linguagem de programação (Pascal, C. Cobol, Fortran, Visual Basic, entre outras.) Estes algoritmos codificados, são interpretados ou compilados por um computador e é devolvido um resultado.

Exercício 1 Crie uma sequência lógica para tomar banho. 1. Tirar as roupas 2. Abrir a água 3. Entrar no chuveiro 4. Molhar o cabelo e corpo 5. Aplicar o champô 6. Aplicar o gel de banho 7. Tirar toda a espuma 8. Fechar a água 9. Secar com a toalha 10. Vestir roupa lavada

Exercício 2 Desenvolva um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número. 1. Inserir o primeiro número 2. Inserir o segundo número 3. Somar o primeiro e segundo número 4. Multiplicar a Soma pelo primeiro número 5. Apresentar o resultado

Exercício 4 Descreva com detalhe a sequência para trocar uma lâmpada. 1. Desligar a energia 2. Ir buscar escadote 3. Montar escadote 4. Subir ao escadote 5. Retirar a lâmpada estragada 6. Colocar a lâmpada nova 7. Descer do escadote 8. Ligar a energia 9. Testar a lâmpada 10. Retirar o escadote 11. Guardar o escadote

2 Desenvolvendo Algoritmos

2.1 Pseudocódigo Os algoritmos são descritos numa linguagem chamada pseudocódigo. Este nome é uma alusão à fase anterior à implementação do código numa linguagem de programação (daí ser pseudo). Pseudocódigo Codificação

2.1 Pseudocódigo Por isto mesmo os algoritmos são independentes das linguagens de programação. Ao contrário de uma linguagem de programação, não existe um formalismo rígido para a escrita de um algoritmo. Um algoritmo deve ser fácil de interpretar e de codificar. Ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.

2.2 Regras para a construção de um Algoritmo Para escrever um algoritmo precisamos descrever a sequência de instruções de forma simples e objectiva. Para tal usamos algumas técnicas: Usar apenas um verbo por cada frase; Imaginar que o algoritmo é para pessoas que não usam a informática; Usar frases simples e curtas; Ser objectivo; Procurar usar palavras que não tenham sentido dúbio;

2.3 Fases Qualquer tarefa que siga determinado padrão pode ser descrita através de um algoritmo. Por exemplo: Fazer arroz doce; Calcular o saldo financeiro;

2.3 Fases No entanto, ao criarmos um algoritmo, primeiro necessitamos dividir o problema apresentado em três fases fundamentais: ENTRADA PROCESSAMENTO SAÍDA

2.3 Fases Onde teremos: ENTRADA: dados de entrada do algoritmo; PROCESSAMENTO: são os procedimentos utilizados para chegar ao resultado final; SAÍDA: são os dados já processados.

2.3 Fases Analogia com o homem

2.4 Exemplo de um algoritmo Imagine o seguinte problema: Pretendemos calcular a média final dos alunos de uma determinada disciplina. Para tal, irão ser realizadas quatro momentos de avaliação (P1, P2, P3 e P4), todos com o mesmo peso na nota final, onde: Média final= P1 + P2 + P3 + P4 4

2.4 Exemplo de um algoritmo Para criar o algoritmo proposto, fazemos três perguntas: 1. Quais os dados de entrada? R: P1, P2, P3 e P4. 2. Qual será o processamento a ser utilizado? R: Será somar todos os dados de entrada e dividilos por 4. 3. Quais serão os dados de saída? R: O dado de saída será a média final de aluno.

2.4 Exemplo de um algoritmo Algoritmo Receber a nota da Prova 1 Receber a nota da Prova 2 Receber a nota da Prova 3 Receber a nota da Prova 4 Somar todas as notas e dividir por 4 Mostrar o resultado do cálculo

2.5 Teste de Mesa Após desenvolver um algoritmo deverá sempre testá-lo. Este teste é chamado de Teste de Mesa. Chama-se desta forma porque significa seguir de forma precisa, todos os passos para verificar se o procedimento utilizado está correcto ou não.

2.5 Teste de Mesa Veja o Teste de Mesa para o nosso exemplo: Nota da Prova 1 Nota da Prova 2 Nota da Prova 3 Nota da Prova 4 Utilize a tabela ao Lado: P1 P2 P3 P4 Média

2.6 Exercícios 1. Identifique os dados de entrada, processamento e saída do algoritmo abaixo: Receber o código de uma peça Receber o valor de uma peça Receber a quantidade de peças Calcular o valor total da peça (Quantidade * valor da peça) Mostrar o código da peça e o seu valor total Entrada Indicar o código da peça Indicar o valor da peça Indicar a quantidade Saída Apresentar o resultado Valor Processamento Calcular Valor= Quantidade * Valor da peça

2.6 Exercícios Seleccione uma (ou duas) das actividades relacionada com a sua actividade profissional e elabore um algoritmo, detalhado, para realização do objectivo pretendido. Identifique os dados de entrada, processamento e saída.

2.6 Exercícios Desenvolva o algoritmo para Calcular o stock médio de uma peça. O cálculo é feito utilizando a seguinte fórmula: Stock Médio = (Quantidade mínima + Quantidade máxima) / 2 Resolução: Indicar o valor da quantidade mínima Indicar o valor da quantidade máxima Efectuar a soma e divisão Apresentar o valor do Stock Médio calculado

Fluxogramas ou Diagramas de Fluxos de Dados (DFD)

3.1 O que é um Fluxograma É um Diagrama que representa os fluxos de informação (a forma como a informação vai fluir, circular) Um Fluxograma é uma forma de representar os passos lógicos de um determinado processamento. Utiliza uma sequência de símbolos, com significado bem definido, para representar os passos lógicos.

3.2 Simbologia Existem diversos símbolos num Fluxograma Dentro de cada símbolo será sempre escrito algo, pois os símbolos apenas, identificam as operações a realizar.

Comer um rebuçado INÍCIO 3.2 Simbologia TIRAR O REBUÇADO DO SACO TIRAR O PAPEL DEGUSTAR COLOCAR O PAPEL NO LIXO No exemplo do rebuçado seguimos uma sequência lógica apenas com informações directas. FIM

No segundo exemplo, o cálculo da média, utilizamos o cálculo e exibimos o resultado do mesmo.

3.3 Exercícios Início Desenvolva um fluxograma que: Leia 4 números; Calcule o quadrado de cada um; Some todos os quadrados; Apresente o resultado. Receber Nº 1 Receber Nº 2 Receber Nº 3 Receber Nº 4 Calcular: Valor = (Nº1) 2 + (Nº2) 2 + (Nº3) 2 + (Nº4) 2 Valor Fim

Início 3.3 Exercícios Construa um algoritmo para pagamento de comissões a vendedores de peças. A comissão é de 5% do total de vendas e são necessários os seguintes dados: Id do vendedor Cód. Peça vendida Preço Unitário Quantidade Vendida Identificação do vendedor; Código da peça vendida; Preço por unidade; Quantidade vendida. Faça: Fluxograma e o Teste de Mesa Calcular: Valor = Preço Unit * Quantidade Calcular: Comissão = Valor * 5% Vendedor Comissão Fim

4 Constantes, Variáveis e Tipos de Dados

4 Constantes, Variáveis e Tipos de Dados As variáveis e as constantes são os elementos básicos que um programa manipula. Uma variável é um espaço reservado na memória do computador para armazenar um determinado tipo de dados. As variáveis devem receber nomes para poderem ser referenciadas e modificadas sempre que necessário. Um programa deve conter declarações que especificam de que tipo são as variáveis e por vezes o seu valor inicial. Os tipos podem ser: inteiros, reais, caracteres, strings, etc. As expressões combinam variáveis e constantes para calcular novos valores.

4.1 Constantes Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Dependendo do tipo de variável, a constante é classificada como sendo numérica, lógica ou literal. Exemplos de constantes: N1+N2+N3 3 Constante

4.2 Variáveis Variável é uma representação simbólica dos elementos de um certo conjunto. Cada variável corresponde a uma posição de memória, cujo conteúdo pode ser alterado ao longo do tempo durante a execução de um programa. Embora uma variável possa assumir diferentes valores, só pode armazenar um valor a cada instante. Exemplos de variáveis: Variáveis Nome = José Conteúdo das variáveis Total = Produto * Quantidade Variáveis Idade = 50

4.3 Tipos de Variáveis

4.3 Tipos de Variáveis As variáveis e as constantes podem ser de quatro tipos: Numéricas; Caracteres/ Strings; Alfanuméricas; Lógicas.

4.3 Tipos de Variáveis Numéricas específicas para armazenamento de números, que posteriormente poderão ser utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais. As variáveis de tipo Inteiro são para armazenamento de números inteiros e as Reais para o armazenamento de números que possuam casas decimais. Caracteres específicas para armazenamento de conjuntos de caracteres que não contenham números (literais). Ex. Nomes. Alfanuméricas específicas para dados que contenham letras e/ou números. Pode em determinados momentos conter somente dados numéricos ou somente literais. Se usado somente para armazenamento de números, não poderá ser utilizada para operações matemáticas. Lógicas armazenam apenas dados lógicos que podem ser Verdadeiro ou Falso. 1 333 5645 544 A Ana Sofia Lt3 2º Esq True

4.4 Declaração de variáveis As variáveis só podem armazenar valores de um determinado tipo (do tipo que são declaradas). Da mesma forma, só podem ser declaradas como sendo de um tipo apenas: numéricas, lógicas e alfanuméricas.

4.5 Exercícios 1. O que é uma constante? Dê dois exemplos. 2. O que é uma variável? Dê dois exemplos.

5 Operadores Os operadores são os elementos que permitem incrementar, decrementar, comparar e avaliar dados dentro do computador. Temos três tipos de operadores: Aritméticos; Relacionais; Lógicos.

5.1 Operadores Aritméticos São utilizados para obter resultados numéricos. Além da adição, subtracção, multiplicação e divisão, podemos também usar o operador para a exponencial. Os símbolos para os operadores aritméticos são:

5.1 Operadores Aritméticos Hierarquia das Operações Aritméticas 1º Parêntesis () 2º Exponencial 3º Multiplicação, divisão (o que surgir primeiro) 4º + ou (o que surgir primeiro)

5.2 Operadores relacionais Os operadores relacionais são utilizados para comparar String de caracteres e números. Estes operadores retornam sempre valores lógicos (verdadeiro ou falso, True/False). Para estabelecer prioridades no que diz respeito a qual a operação a executar primeiro, utilize os parêntesis. Os operadores relacionais são: Descrição Igual a Diferente de Maior que Menor que Maior ou igual a Menor ou igual a Símbolo = <> > < >= <=

5.2 Operadores relacionais Exemplo de utilização de operadores relacionais: Tendo duas variáveis A=5 e B=3 Os resultado do cálculo de cada uma das expressões é: Expressão A = B A<> B A > B A < B A >= B A <= B Falso Verdadeiro Verdadeiro Falso Verdadeiro Falso Resultado

5.2 Operadores relacionais Símbolo utilizado para a comparação entre expressões: Comparar o valor de duas variáveis ou constantes Comparar o valor de variáveis ou constantes com uma constante numérica Codigo = Numero Sim Codigo = 1000 Sim Não Não

5.2 Operadores relacionais Comparar o valor de uma variável ou constante com uma constante alfanumérica Nome = JOSE Sim Não

5.3 Operadores lógicos Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Os operadores lógicos são: E/AND é verdadeira quando todas as condições o forem; OU/OR é verdadeira se pelo menos uma condição o for OU NÃO AND OR NOT NÃO/NOT inverte o valor da expressão ou condição E

5.3 Operadores lógicos Tabela dos valores possíveis criados pelos três operadores lógicos (AND, OR e NOT) 1º Valor Operador 2º Valor Resultado T AND T T T AND F F F AND T F F AND F F T OR T T T OR F T F OR T T F OR F T T NOT F F NOT T

5.3 Operadores lógicos Suponha que temos três variáveis: A=5 B=8 C=1 Os resultados das expressões seriam: Expressões Resultado A=B AND B>C Falso A<>B OR B<C Verdadeiro A>B NOT Verdadeiro A<B AND B>C Verdadeiro A>=B OR B=C Falso A<=B NOT Falso

5.4 Exercícios 1. Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo, indique se as expressões são verdadeiras ou falsas. SALARIO IR SALLIQ Expressao V ou F 100 0 100 (SALLIQ >=100) 200 10 190 (SALLIQ<190) 300 15 285 (SALLIQ=SALARIO - IR)

5.4 Exercícios Sabendo que A=3, B=7 e C=4, indique se as expressões abaixo são verdadeiras ou falsas: a) (A+B)>C b) B>=(A+2) c) C=(B-A) d) (B+A)<=C e) (C+A)>B

6 Operações lógicas As operações lógicas são utilizadas quando se torna necessário tomar decisões num diagrama fluxo de dados. Num DFD, todas as decisões terão sempre como resposta o resultado Verdadeiro ou Falso. Como por exemplo Não comer um rebuçado de morango. Imaginemos que algumas pessoas não gostam de rebuçados de morango. Nesse caso o nosso algoritmo teria que ser qualquer coisa do género:

6 Operações lógicas Não comer um rebuçado de morango Pegar no rebuçado O rebuçado é de morango? Se sim, não coma Se não, continue o algoritmo Retirar o papel Degustar o rebuçado Deitar o papel no lixo

6 Operações lógicas Exemplo do Algoritmo Não comer o rebuçado de morango utilizando o DFD Início Pegar no rebuçado Sim É de morango? Não Não coma Retirar o papel Degustar o rebuçado Deitar o papel no lixo Fim

6.1 Exercícios 1. Elabore um DFD que leia um número. Se o número for positivo, armazene-o em A, se for negativo, em B. No final, apresente o resultado. 2. Ler um número e verificar se é par ou ímpar. Quando for par, armazenar esse valor em P e quando for ímpar, armazenar em I. Mostrar o valor de P e I no final do processamento. 3. Construa um DFD que permita ler uma variável numérica N e apresentá-la apenas se esta for maior que 100, caso contrário, apresenta-a com o valor 0.

6.1 Exercícios 4. Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um algoritmo que calcule o seu peso ideal, utilizando as seguintes fórmulas: Para homens: (72.7 * a)-58 Para mulheres: (62.1 * a)-44.7 a=altura

6.1 Exercícios 5. Faça um teste de mesa para o diagrama apresentado, de acordo com os dados fornecidos.

6.1 Exercícios 6. Elabore o algoritmo em pseudocódigo, referente ao DFD anterior.

7 Estruturas de decisão e repetição Necessitamos muitas vezes de tomar decisões para o decurso de um algoritmo. Estas decisões interferem directamente no andamento de um programa. Trabalhamos com dois tipos de estruturas: As estruturas de decisão; As estruturas de repetição;

7.1 Comandos de decisão As estruturas de decisão fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais. Com este tipo de instruções pode fazer-se com que o programa proceda de uma ou outra forma, de acordo com decisões lógicas tomada em função dos dados ou resultados anteriores. As principais estruturas de decisão são: Se Então Se Então Senão Caso Seleccione

7.1.1 SE ENTÃO / IF THEN A estrutura de decisão SE/IF é acompanhada de um comando que identifica se a condição é satisfeita. Imagine um algoritmo que determina se um aluno está aprovado, mas só se a sua média for igual ou superior a 5.0 Se media >= 5.0 Então Aluno aprovado

7.1.1 SE ENTÃO / IF THEN Se media >= 5.0 Então Aluno aprovado Em DFD, esta situação ficaria representada da seguinte forma:

7.1.2 SE ENTÃO SENÃO / IF THEN ELSE A estrutura de decisão Se Então Senão, funciona como a estrutura SE. No entanto: na estrutura SE, apenas podemos executar comandos caso a condição seja verdadeira; Na estrutura SE ENTÃO SENÃO, é sempre executado um comando. (SE) Caso a condição seja verdadeira (ENTÃO), o comando respectivo é realizado, caso seja falsa, (SENÃO)é executado o comando da outra condição.

7.1.2 SE ENTÃO SENÃO/ IF THEN ELSE Em algoritmo, a situação do aluno aprovado, ficaria assim representada: SE média>=5.0 ENTÃO Aluno aprovado SENÃO Aluno reprovado Neste exemplo está a ser verificada uma condição. Se for verdadeira, é executado o comando APROVADO, caso contrário executa o comando REPROVADO.

7.1.2 SE ENTÃO SENÃO/ IF THEN ELSE Podemos também, dentro de uma mesma condição, testar outras hipóteses (condições).

7.1.3 CASO SELECCIONE / SELECT CASE A estrutura de decisão CASO SELECCIONE é utilizada para testar na condição, uma única expressão, que produz um resultado, ou o valor de uma variável. Compara-se o resultado obtido no teste com os valores fornecidos em cada cláusula do CASO.

7.1.3 CASO SELECCIONE / No exemplo em baixo, é recebida uma variável OP e o seu conteúdo é testado. Caso uma das condições seja satisfeita, é atribuída para a variável Título a String Opção X. Caso contrário, é atribuída a string Opção Errada. SELECT CASE

7.1.3 CASO SELECCIONE / SELECT CASE 1. Desenvolva o algoritmo e o DFD para um programa que: a) Leia 4 números; b) Calcule o quadrado de cada um; c) Se o valor resultante do quadrado do terceiro for >= 1000, imprima-o e finalize; d) Caso contrário, imprima os valores lidos e os seus respectivos quadrados.

7.1.3 CASO SELECCIONE / SELECT CASE 2. Faça um DFD que leia um número inteiro e apresenta uma mensagem indicando se o número é par ou ímpar, e se é positivo ou negativo. 3. Elabore um algoritmo e respectivo DFD que, dada a idade de um nadador o classifique em cada uma das seguintes categorias: a) Infantil A = 5 a 7 anos b) Infantil B = 8 a 11 anos c) Juvenil A = 12 a 13 anos d) Juvenil B = 14 a 17 anos e) Adultos = Maiores de 18 anos

7.1.3 CASO SELECCIONE / SELECT CASE 4. Elabore um algoritmo e respectivo DFD que gere e escreva os números ímpares lidos entre 100 e 200. 5. Construa um algoritmo que leia 500 valores inteiros e positivos e: a) Encontre o maior valor; b) Encontre o menor valor; c) Calcule a média dos números lidos.

7.2 Comandos de repetição Os comando de repetição utilizam-se quando desejamos que um determinado conjunto de instruções ou comandos sejam executados um número indefinido de vezes, ou enquanto uma determinada situação de mantenha ou até que seja satisfeita uma condição. Os comandos de repetição que veremos são: Enquanto x, fazer (Do While Loop) Até que x, fazer (Do Until Loop) Fazer, Enquanto x (Do Loop While) Fazer, Até que x (Do Loop Until) De Até Seguinte (For To Next)

7.2.1 Enquanto x, fazer Do While Loop Neste caso, o bloco de código será executado enquanto a condição x for verdadeira. O teste da condição será sempre realizado antes de qualquer operação. Enquanto a condição for verdadeira, o processo repete-se. Este estrutura é muito utilizada para trabalharmos com contadores.

7.2.1 Enquanto x, fazer Do While Loop Em DFD, podemos representar desta forma:

7.2.2 Até que, fazer Do Until Loop Neste caso, o bloco de código será executado até que a condição seja satisfeita.

7.2.3 Fazer, Enquanto x Do Loop While Nesta situação, primeiro é executado o código e só depois é realizado o teste da condição. Se a condição for verdadeira, o código é executado novamente. Caso seja falso, é terminado o comando DO.

7.2.4 Fazer Até que x Do Loop Until Neste caso, primeiro é executado o bloco de código e só de seguida é realizado o teste da condição. Se a condição for verdadeira, o fluxo do programa continua normalmente. Caso contrário é novamente percorrido o código que se encontra antes do teste da condição.

7.2.5 Exercícios 1. Elabore um algoritmo que determine o maior entre N números. A condição de paragem é a entrada de um valor 0, ou seja, o algoritmo deverá verificar qual o maior valor inserido, até que o utilizador coloque o valor 0. 2. Faça um algoritmo que conte de 1 a 100 e que a cada múltiplo de 10 apresente a mensagem: Múltiplo de 10.