• Nenhum resultado encontrado

Lógica de Programaçaõ

N/A
N/A
Protected

Academic year: 2021

Share "Lógica de Programaçaõ"

Copied!
47
0
0

Texto

(1)Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Introdução Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br Professora Vânia Cristina de Souza Pereira. 1. Introdução ƒ Ementa ƒ Conceito de Lógica. Lógica aplicada à programação. Tipos de algoritmos. Conceitos de variáveis e constantes. Tipos primitivos de dados. Operadores: aritméticos, relacionais e lógicos. Estruturas de seleção. Estruturas de controle e repetição. ƒ Objetivos ƒ Preparar o aluno para o desenvolvimento de soluções computacionais eficientes. Capacitar o aluno ao desenvolvimento de algoritmos capazes de resolver problemas simples e aplicá-los, na prática, em uma linguagem de programação pré-definida. ƒ Metodologia ƒ Nas aulas teóricas os conceitos serão apresentados na forma de Fluxograma, Pseudocódigo e Linguagem de Programação Pascal. As aulas podem ser apresentadas por meio de utilização de lousa, retroprojetor, slides, transparências, atividades individuais ou em grupo. ƒ As aulas práticas serão desenvolvidas em laboratório utilizando como ferramenta a linguagem de programação PASCAL. Todas as aulas práticas serão duas das quatro aulas no período. ƒ Sistema de Avaliação ƒ Será composto por 04 instrumentos diversificados de avaliação, identificados como A1, A2, A3 e A4. A média da disciplina curricular será composta pela média aritmética de três notas, a saber: A3, A4 e a maior nota entre A1 e A2.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 2.

(2) Bibliografia ƒ Bibliografia Básica ƒ MANZANO, José Augusto Navarro Garcia & OLIVEIRA, Jair Figueiredo de. Algoritmos: Lógica para o desenvolvimento de programação. São Paulo: Ed. Érica, 2004. ƒ FORBELLONE, André Luiz Villar & EBERSPACHER, Henri Frederico. Lógica de Programação. Ed. Pearson Brasil, 2000.A1:D560 ƒ ASCENCIO, Ana Fernanda Gomes. Lógica de programação com Pascal. Ed. Makron Books, 1999.. ƒ Bibliografia Referência ƒ ARRER & BECKER, Cristiano Gonçalves & FARIA, Eduardo Chaves. Algoritmos Estruturados. Ed. LTC, 1999 ƒ PREISS, Bruno R. Estrutura de dados e Algoritmos. Ed. Campos, 2001.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 3. Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Lógica Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br Professora Vânia Cristina de Souza Pereira. 4.

(3) Lógica ƒ As pessoas utilizam lógica no cotidiano sem perceber. ƒ Chegam mesmo a citá-la, sem entender direito o seu significado. ƒ É a “coerência de raciocínio, de idéias”, ou ainda a “seqüência coerente, regular e necessária de acontecimentos, de coisas”. ƒ Exemplos: ƒ O número 3 é menor que o número 5. ƒ O número 7 é maior que o número 5. ƒ Logo, o número 3 é menor que os números 5 e 7. ƒ Quando chove, não é preciso regar as plantas no jardim. ƒ Hoje choveu. ƒ Logo, hoje não é preciso regar as plantas do jardim. ƒ O Brasil fica na América do Sul. ƒ A América do Sul fica no continente americano. ƒ Logo, os brasileiros são americanos. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 5. Raciocínio Lógico ƒ. Às vezes, o raciocínio funciona desordenadamente. Quantas vezes você já ouviu as frases “E se acontecer aquilo” ou “É, mas eu não tinha pensado nisso”?. ƒ. No exemplo abaixo estão descritas as ações de quem vai a um banco, entretanto, veja se seria possível retirar o dinheiro obedecendo à seqüência descrita. 1. Sair do Banco. 2. Aguardar a vez de ser atendido. 3. Entrar na fila do caixa. 4. Digitar a senha. 5. Entrar no banco. 6. Informar o valor a ser retirado. 7. Procurar a fila do caixa. 8. Pegar o comprovante do saque, o cartão eletrônico e o dinheiro. 9. Entregar o cartão eletrônico ao funcionário que atende no caixa. 10. Conferir o valor em dinheiro.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 6.

(4) Exercícios: Lógica - 1 1. Menos conhecidos que seus primos distantes, companheiros da Branca de Neve, os cinco anões desta história raramente têm companhia. Eles são lenhadores. Quando vão para a floresta, cada um põe na cabeça um boné de cor diferente. E cada anão derruba apenas um tipo de árvore, diferente da dos outros quatro. ƒ Com as indicações a seguir, você conseguiria associar cada anão ao seu boné e à sua árvore? ƒ Léo usa boné vermelho. ƒ Dino derruba olmos. ƒ O anão que derruba carvalhos não usa boné amarelo. ƒ Quem usa boné verde corta salgueiros ƒ Boni não usa boné amarelo. ƒ Leno usa boné azul e não preto. ƒ Boni derruba maçarandubas. ƒ O anão de boné azul derruba pinheiros. Tito. Dino. Léo. Boni. Leno. Árvore Boné. 7. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. Exercícios: Lógica - 2 2. Oito carros de marcas e cores diferentes estão alinhados, lado a lado, para uma corrida. Estabeleça a ordem em que os carros estão dispostos, baseando-se nas seguintes informações: ƒ O Ferrari está entre os carros vermelho e cinza ƒ O Honda é o segundo carro à direita do carro creme e o segundo a esquerda do carro marrom ƒ O carro cinza está à esquerda da Honda ƒ À direita do carro verde está o Sauber ƒ O Renault não tem carro algum à sua esquerda e está à esquerda do carro verde ƒ O Mclaren é o segundo carro à esquerda do Ferrari e o primeiro à direita do carro azul ƒ O Williams não tem carro à sua direita e está logo depois do carro preto. ƒ O carro preto está entre o Williams e o carro amarelo ƒ O Toyota é o segundo carro à esquerda do RBR. Ordem. 1. 2. 3. 4. 5. 6. 7. 8. Cor Carro Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 8.

(5) Exercícios: Lógica - 3. (Prof. André Luís P. Santos). 3. Qual o valor da expressão abaixo ? Por quê ? P = (a - x) . (b - x) . (c - x) . ... . (z - x) 4. Você tem três caixas e apenas uma delas tem um presente dentro. Cada caixa contém uma inscrição, fornecendo uma pista, mas apenas uma dessas inscrições é verdadeira. Caixa nº 1 = “O presente está aqui” Caixa nº 2 = “O presente não está aqui” Caixa nº 3 = “O presente não está na Caixa nº 1” Em qual caixa está o presente ? Qual a caixa que contem a afirmação verdadeira? Explique como você chegou a sua conclusão. 5. Daniela é mais jovem do que Adriano; Carlos é mais velho do que Daniela. Assinale F para as conclusões falsas e V para as conclusões verdadeiras : ( ) - Adriano é mais velho do que Carlos. ( ) - Carlos é mais velho do que Adriano e Daniela. ( ) - Carlos e Adriano têm a mesma idade. ( ) - Daniela é a mais jovem dos três. 6. Três senhoras, Dona Branca, Dona Rosa e Dona Violeta, passeavam juntas quando Dona Rosa disse: — Não é curioso que estejamos usando vestidos das cores branca, rosa e violeta, embora nenhuma de nós esteja usando um vestido de cor igual ao seu próprio nome ? — Uma simples coincidência — respondeu a senhora com vestido violeta. Qual a cor do vestido de cada senhora ? Explique como você chegou à sua conclusão.. 9. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. Lógica de Programação ƒ Resolver problemas com a maior rapidez e o menor esforço possíveis.. ƒ Automatizar as tarefas rotineiras.. ƒ As tarefas que devem ser realizadas pelo computador de forma automática têm de ser anteriormente pensadas e colocadas em uma seqüência de ações para, posteriormente, serem inseridas na máquina.. ƒ A meta principal de qualquer programador:. ƒ Resolver problemas por meio de soluções lógicas para obter resultados eficientes (corretos) e eficazes (com qualidade). ƒ Se as soluções não forem bem planejadas (passo a passo), com certeza a meta não será atingida.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 10.

(6) Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Algoritmos Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br Professora Vânia Cristina de Souza Pereira. 11. Algoritmos - Introdução ƒ As pessoas são sempre imprecisas quando dão instruções às outras. ƒ Uma simples instruções tal como: “Vá ao supermercado comprar querosene” requer dezenas de decisões a serem realizadas: ƒ Qual supermercado? ƒ Que loja desse supermercado? ƒ Qual o endereço da loja? ƒ Como se chega a esse endereço? ƒ Onde se encontra a prateleira que tem querosene? ƒ Qual a marca? ƒ Que tipo de embalagem? ƒ Qual a quantidade? ƒ Limite de preço? Etc. ƒ As pessoas, tendo inteligência e habilidade racional, podem imaginar o real significado de instruções gerais e ambíguas. ƒ Os computadores, por outro lado, não têm senso próprio. ƒ Quando você escrever um procedimento para um computador, cada instrução deve ser explicitamente fornecida.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 12.

(7) Algoritmos - Introdução ƒ Lógica de Programação ƒ É a técnica de encadear pensamentos para atingir determinado objetivo. ƒ Seqüência Lógica ƒ São passos executados até atingir um objetivo ou solução de um problema. ƒ Instruções ƒ Um conjunto de regras ou normas definidas para a realização de algo. ƒ Exemplo ƒ BOIMOOC ƒ são dados mas não constituem informação perceptível ƒ Depois do processamento temos: C O M B O I O ƒ informação ƒ Processamento de dados consiste em transformar os dados em informação útil e o algoritmo é o começo de tudo!. 13. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. Algoritmos - Introdução ƒ Algoritmo ƒ É uma seqüência finita de passos que levam a execução de uma tarefa, ou seja, uma receita, uma seqüência de instruções para uma meta específica. ƒ Exemplos: ƒ Indicações para chegar a um determinado endereço ƒ Instruções para construção de um brinquedo ƒ Receita de culinária ƒ Um algoritmo opera sobre um conjunto de entradas (farinha ovos, fermento, etc. no caso do bolo) de modo a gerar uma saída que seja útil (ou agradável) para o usuário (o bolo pronto).. Ingredientes Farinha de trigo, ovos, manteiga, açúcar, fermento e leite. Instruções 1) Bater duas claras em neve; 2) Adicionar duas gemas; 3) Adicionar um xícara de açúcar; 4) Adicionar duas colheres de manteiga; 5) Adicionar uma xícara de leite de coco; 6) Adicionar farinha e fermento; 7) Colocar numa forma e levar ao forno brando.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. Resultado. 14.

(8) Algoritmos - Introdução ƒ Programas. ƒ São algoritmos escritos em uma linguagem de programação (C, Pascal, Java, etc.) e que são interpretados e executados por uma máquina.. ƒ Cuidados devem ser tomados no desenvolvimento de algoritmos:. algoritmo errado. resultado errado. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 15. Representação de Algoritmos ƒ Três formas de representação. ƒ Descrição narrativa ƒ Os algoritmos são expressos diretamente em linguagem natural.. ƒ Pseudocódigo ƒ Utiliza-se de uma linguagem intermediária entre a linguagem falada e a linguagem de programação ƒ Devem ser independentes da linguagem de programação a ser posteriormente utilizada na codificação. ƒ Fluxograma ƒ Tem o objetivo de descrever graficamente a solução lógica do problema, possibilitando o planejamento da estrutura do programa e facilitando a validação da estrutura planejada. ƒ Cada operação a ser executada é representada por um símbolo cuja forma identifica o tipo de processo envolvido. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 16.

(9) Pseudocódigo ƒ Tem a seguinte estrutura. programa <identificador-do-programa> <declarações> Início <instruções> Fim.. Onde: ƒ <identificador-do-programa> ƒ é o nome dado ao algoritmo pelo programador ƒ <declarações> ƒ onde são informados os tipos de dados e informações que serão manipulados ƒ <instruções> ƒ onde ocorreram as entradas de dados, os processamentos necessários e a saídas das informações desejadas. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 17. Fluxograma – símbolos básicos. ou Indica o início ou término de um fluxograma. Entrada de dados. Procedimento interno e/ou mudança de conteúdo. ou Tomada de decisão. Repetição. Saída de dados. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 18.

(10) Exemplo Elaborar o algoritmo que faça a soma de dois números inteiros quaisquer Pseudocódigo. Fluxograma. Linguagem de Programação. programa somadoisnum var n1, n2, result: inteiro. início. program somadoisnum; var n1, n2, result : integer;. início leia n1 leia n2 result ← n1 + n2 escreva result fim.. n1,n2. begin. result ← n1+n2 result. readln( n1 ); readln( n2 ); result := n1 + n2; writeln(result); end.. fim. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 19. Exercícios: Algoritmos - 1 1. Construa um algoritmo em diagrama de blocos (fluxograma) que : ƒ Leia a cotação do dólar ƒ Leia um valor em dólares ƒ Converta esse valor para Real ƒ Mostre o resultado 2. Complete o algoritmo em pseudocódigo sabendo que o seu objetivo é: ƒ Ler 4 (quatro) números ƒ Calcular o quadrado para cada um ƒ Somar todos os quadrados ƒ Mostrar o resultado da soma programa quadrado var n1, n2, n3, n4, q1, q2, q3, q4, soma : inteiro início fim. 3. Construa um algoritmo em pseudocódigo para pagamento de comissão de vendedores de peças, levando-se em consideração que sua comissão será de 5% do total da venda e que serão fornecidos os seguintes dados: ƒ Identificação do vendedor ƒ Código da peça ƒ Preço unitário da peça ƒ Quantidade vendida ƒ E depois construa o diagrama de blocos do algoritmo desenvolvido. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 20.

(11) Programador ƒ Quando estamos trabalhando com programação de computadores, devemos ter em mente que estamos dando instruções para o computador de tal modo que ele receba os dados do usuário, faça os processamentos necessários e forneça uma informação ao usuário novamente. O programador deve instruir o computador a ler o que o usuário digitou através do teclado, processar os dados e escrever uma resposta no monitor. Programador. Usuário. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 21. Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Tipo de Dados Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br Professora Vânia Cristina de Souza Pereira. 22.

(12) Tipos de Dados ƒ As células de memória do computador armazenam os dados durante a execução do programa. ƒ As células de memória serão classificadas segundo o seu tipo. ƒ Devemos informar ao computador qual o tipo de dado que vamos armazenar e/ou manipular. ƒ Define o conjunto de operações para a manipulação dos dados. ƒ Exemplo: Em um dado numérico pode-se aplicar uma operação aritmética. ƒ Determina quantas células de memória serão necessárias para armazenar o dado. ƒ Os tipos de dados podem variar de uma linguagem para outra. No entanto, existem dois tipos básicos: ƒ Tipos simples; ƒ Tipos estruturados ƒ vetor, registro, etc., estudados mais adiante Tipos de Dados Simples Numérico Inteiro. Caractere. Lógico. Real. 23. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. Dado Numérico ƒ São valores que representam números divididos basicamente em dois grandes conjuntos: Inteiros e Reais. ƒ Tipo de Dado Numérico Inteiro ƒ Os inteiros podem ser positivos, negativos ou nulos, mas não possuem um componente decimal ƒ Representam números entre -32768 e 32767 e ocupam 2 bytes de memória. ƒ Exemplos: 1. -3. 0. 234. ƒ Tipo de Dado Numérico Real ƒ Os reais podem ser positivos, negativos ou nulos, e possuem sempre um componente decimal ƒ Representam números reais de 11 algarismos significativos, entre 2,9 * 10-39 até 1,7 * 1038 e ocupam 6 bytes de memória. ƒ Exemplos: 1. 1,45. -0,56. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 23,98. 24.

(13) Dado Numérico ƒ Observações ƒ Os números inteiros consomem menos espaço de armazenamento em memória ƒ Os inteiros são compatíveis com os reais, mas os reais não são compatíveis com os inteiros; assim, uma célula de memória do tipo real receber um valor inteiro, mas uma célula do tipo inteiro não pode receber um valor real.. ƒ Situações de dúvida ƒ Exemplos: ƒ Raiz quadrada de um número; ƒ Divisão entre dois números inteiros.. ƒ Quando houver alguma possibilidade de um identificador numérico receber um valor não inteiro, deve ser declarado como real.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 25. Dado Caractere ƒ São tipos de dados não numéricos. É uma seqüência de alfanuméricos também chamados strings ou literal. ƒ São representados por letras (de A a Z, e de a a z), dígitos (de 0 a 9), espaço em branco ( ) e símbolos especiais (~, ., ?, >, <, etc.) e ocupam de 1 a 255 bytes de memória. ƒ Devem sempre estar entre aspas “ ” ƒ Exemplos: “a”. “ave”. “7,89”. “Rio 2010”. ƒ A diferença entre dados caracteres e dados numéricos estão na forma de armazenamento, e nas operações legais permitidas sobre os mesmos. ƒ Exemplo: operações aritméticas sobre os dados numéricos. ƒ Para diferenciarmos um caractere de um nome de célula de memória ou de um dado numérico, utilizaremos aspas (“ ”). Assim: ƒ 8 é um dado numérico;. “8” é um caractere;. ƒ “A” é um caractere;. A é um nome de célula de memória. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 26.

(14) Dado Lógico ƒ Também chamado de valores verdade ou booleanos.. ƒ São os valores que representam o conceito lógico de verdade e falsidade.. ƒ Os dados lógicos só podem assumir uma entre duas possibilidades (verdadeiro ou falso) e ocupam 1 byte de memória.. ƒ Só poderá armazenar um destes dois valores.. ƒ Muito utilizados em controle do fluxo lógico do algoritmo.. ƒ Outras formas de representação: ƒ Exemplos: 0e1. VeF. true e false. sim e não. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 27. Tipos de Dados Para a escolha do tipo de um dado: deve-se conhecer bem a solução do problema.. Exemplos de inteiros ƒ Número de pessoas. Exemplos de caracteres. ƒ Um número par ou ímpar. ƒ Um nome de pessoa. ƒ Idade de uma pessoa. ƒ Um endereço. ƒ Quantidade de objetos. ƒ Um número de CEP ƒ Um número de telefone. Exemplos de reais ƒ O peso de uma pessoa. Exemplo de lógicos. ƒ Um percentual. ƒ Se o sexo é feminino. ƒ Nota de uma avaliação. ƒ Se a pessoa é maior de idade. ƒ Média ƒ Preço de um produto. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 28.

(15) Exercícios: Tipos de Dados - 1 1. Identifique quais os tipos de dados para: ƒ Cotação do dólar. ___________________________. ƒ Valor em dólares. ___________________________. ƒ Valor em Real. ___________________________. ƒ Identificação do vendedor. ___________________________. ƒ Código da peça. ___________________________. ƒ Preço unitário da peça. ___________________________. ƒ Quantidade vendida. ___________________________. 2. Para realizar uma pesquisa com um grupo de 50 pessoas, foram obtidos os seguintes dados de cada pessoa: nome, idade, sexo e salário e depois do processamento foi informado pelo computador: a quantidade de mulheres entrevistadas, a quantidade de homens entrevistados e o total de salário de todos os entrevistados. Quais os tipos de dados para: ƒ Nome. ___________________________. ƒ Idade. ___________________________. ƒ Sexo. ___________________________. ƒ Salário. ___________________________. ƒ Quantidade de mulheres. ___________________________. ƒ Quantidade de homens. ___________________________. ƒ Total de salário. ___________________________. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 29. Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Variáveis e Constantes Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br Professora Vânia Cristina de Souza Pereira. 30.

(16) Variáveis ƒ Como referenciar e recuperar os dados armazenados em um computador? ƒ Os valores são armazenados na memória ƒ Cada tipo de dado diferente ocupa um número específico de bytes de memória ƒ Para recuperar um valor é necessário saber seu tipo e o endereço do byte inicial ocupado na memória ƒ De forma geral, podemos dizer que a uma célula de memória está associado um identificador (nome). ƒ Variável é uma entidade que guarda valores que podem ser alterados no decorrer de um algoritmo. ƒ Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante. ƒ Uma variável não pode armazenar um valor de tipo de dado diferente daquele para o qual foi criada. ƒ Para indicar identificador e o tipo de uma variável, existe um lugar específico, tanto nos algoritmos quanto programas, normalmente no início dos mesmos.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 31. Variáveis ƒ Que tipo de dado estes objetos devem armazenar? ƒ É possível armazenar outros tipos de dados nestes objetos?. ƒ Em princípio os objetos acima devem armazenar somente um tipo de dado, porém o conteúdo em si pode variar. ƒ Exemplos ƒ Um vaso armazena dados do tipo flor, entretanto, esta flor pode ser uma rosa, um cravo, uma orquídea, etc. ƒ Uma máquina fotográfica analógica armazena filme, mas pode ser colorido ou preto e branco. ƒ O carrinho de carrega um bebê que pode ser o Joãozinho, o Marquinhos, a Aninha, etc. ƒ A bomba de combustível pode conter álcool, gasolina, diesel, gás, etc.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 32.

(17) Variáveis ƒ Em geral, as linguagens de programação exigem nomes de identificadores com as seguintes características: ƒ Use somente letras e números; ƒ O primeiro caractere do nome deve ser uma letra; ƒ Não é permitido o uso de caracteres especiais, exceto o caractere “ _ “. ƒ Exemplos válidos: Imposto_de_Renda, F1, soma, desconto, SalarioHora. ƒ Exemplos inválidos: 1f, Imposto-de-renda, salário hora. ƒ O identificador de uma variável e o tipo de dado que irá armazenar não se alteram, enquanto o valor a ela associado pode mudar. ƒ Os dados são valores que são armazenados em células de memória e que são acessados (ao longo do algoritmo) por referência às variáveis; ƒ Assim, se tivermos os identificadores i, r, c, h, para objetos do tipo inteiro, real, caractere e lógico respectivamente, e atribuirmos os valores 100; 3,14; ‘Z’ e falso, teríamos a seguinte configuração:. i 100. r 3,14. c ‘Z’. h falso. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 33. Variáveis Atributos (características) de uma variável: Nome, Tipo, Valor associado. Célula de memória Nome do identificador (variável) Tipo de dado que será armazenado (inteiro, real, caractere ou lógico) Valor associado (valor armazenado na célula de memória). Endereço Físico 3000: B712 2000: 12EC 3000: 0004 3000: C223 2000: 11DA. Identificador nome numero letra medida resposta. Tipo de dado Valor Associado caractere “João” inteiro 12345 caractere “H” real 0,35 lógico verdadeiro. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 34.

(18) Constantes ƒ Constante é uma entidade que guarda valores que não podem ser alterados no decorrer de um algoritmo.. ƒ Pode ser visto como uma variável cujo valor nunca pode ser alterado.. ƒ Possui um nome único para sua identificação, chamado de identificador.. ƒ Recomenda-se sempre utilizar nomes que ajudem a entender o algoritmo. ƒ Exemplos: pi = 3,1415. pais = “Brasil”. ƒ As regras para nomes de constantes são as mesmas para variáveis, ou seja: ƒ Use somente letras e números; ƒ O primeiro caractere do nome deve ser uma letra; ƒ Não é permitido o uso de caracteres especiais, exceto o caractere “ _ “.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 35. Declaração de Variáveis e Constantes Variável var <identificador> : <tipo de dado>. ƒ. Exemplo:. programa variavel var x, y, z: real nome : caractere ok : lógico Inicio <instruções> Fim.. Constante const <identificador> = <valor>. ƒ. Exemplo:. programa constante const pi = 3,1415 sexo_m = “masculino” Inicio <instruções> Fim.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 36.

(19) Exercícios: Variáveis e Constantes - 1 1. Escreva a declaração de constantes e variáveis para os exercícios a, b e c. a). receba código da peça receba valor da peça receba quantidade de peças calcule o valor total da peça (quantidade * valor da peça) mostre o código da peça e seu valor total. b) A média ponderada corresponde a multiplicação de cada valor fornecido pelo seu peso, a soma de todos os valores dividida pela soma dos pesos. Se fornecermos três valores quaisquer e sendo os pesos 1, 2 e 3, respectivamente, qual será a média ponderada. c) Para realizar uma pesquisa com um grupo de 50 pessoas, foram obtidos os seguintes dados de cada pessoa: nome, idade, sexo e salário e depois do processamento foi informado pelo computador: a quantidade de mulheres entrevistadas, a quantidade de homens entrevistados e a soma total do salário de todos os entrevistados.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 37. Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Operadores e Expressões Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br Professora Vânia Cristina de Souza Pereira. 38.

(20) Operadores e Expressões ƒ Operadores ƒ Designam uma operação exercida sobre operandos (variáveis ou constantes) para obter um valor.. ƒ Podem ser de 3 tipos: aritméticos, relacionais e lógicos.. ƒ Expressões ƒ Quando juntamos vários operadores e seus respectivos operandos temos uma expressão.. ƒ O tipo da expressão relaciona com o valor resultante final da sua avaliação: aritmética, relacional e lógica.. 39. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. Operadores Aritméticos ƒ Operadores Aritméticos - operam sobre tipos de dados numéricos. Operador. Operação. Prioridade Matemática. +. Manutenção de sinal. 1a.. -. Inversão de sinal. 1a.. ↑. Exponenciação. 2a.. /. Divisão. 3a.. *. Multiplicação. 3a.. +. Soma. 4a.. -. Subtração. 4a.. Div. Divisão de inteiros. -. Mod. Resto da divisão de inteiros. -. Os parênteses quebram a ordem de prioridade natural.. a 2+b. Prioridade dos operadores As operações são realizadas em uma expressão de acordo com a ordem de prioridade. Quando houver empate entre operações, elas serão realizadas da esquerda para a direita a/2+b a/(2+b). Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. errado certo. 40.

(21) Operadores e Expressões Aritméticas ƒ Expressões Aritméticas ƒ Aquelas cujos operadores são aritméticos e cujos operandos são constantes e/ou variáveis do tipo numérico (inteiro e/ou real); ƒ O resultado da avaliação é um valor do tipo de dado numérico.. Expressão Matemática. Expressão Algorítmica. 2a + b. 2*a+b. ax 2. a*x↑2. a 2. +b. a/2+b. Qual o resultado da avaliação da expressão 10 - 4 * 2 + 1 ? Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 41. Observações ƒ O resultado da expressão do lado direito de um comando de atribuição deve ser coerente com o tipo declarado para a variável do lado esquerdo ƒ a ← b + c; se b e c são do tipo real então a também deve ser real ƒ Quando houver parênteses aninhados, a prioridade será do mais interno.. a / (a + b) - (2 * (b + c)) 2 1 4. 3 5. ƒ Qual o resultado da avaliação da expressão 10 - 4 * 2 + 1 ?. Resp. 3.. ƒ Qual o resultado da avaliação da expressão (10 – 4) *( 2 + 1) ? Resp. 18. ƒ Qual o resultado da avaliação da expressão (10 – 4) * 2 + 1 ? Resp. 13.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 42.

(22) Operadores Relacionais ƒ Operadores Relacionais ƒ Comparação entre objetos (ou entre um objeto e um valor) do mesmo tipo. ƒ O resultado será sempre do tipo lógico (V ou F).. Operador. Significado. Exemplo de uso. Resultado. >. Maior que. 4>3. Verdadeiro. <. Menor que. 2*3<3+3. Verdadeiro. <>. Diferente de. 4+3<>7. Falso. =. Igual a. 2*2=2↑2. Verdadeiro. <=. Menor ou igual a. 7<=4+3. Verdadeiro. >=. Maior ou igual a. ‘a’ > = ‘b’. Falso. ƒ O operador relacional perde em prioridade para os operadores aritméticos. ƒ O operador relacional é binário, isto é, ele deve envolver um operando a sua esquerda e um a sua direita.. 43. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. Operadores e Expressões Lógicas ƒ Operadores lógicos são utilizados no processo de tomada de decisão e em controles de repetição. ƒ Expressões lógicas terão o resultado da operação sempre com um valor lógico (verdadeiro/falso).. Operador. Significado. Exemplo de uso. Resultado. E. Conjunção. (4 > 3) e (4 < > 2). Verdadeiro. OU. Disjunção. (2 * 3 < 2 ↑ 3) ou (2 * 3 = 6). Verdadeiro. NÃO. Negação. Não (4 + 3 < > 17). Falso. ƒ É possível combinações de operandos relacionais e lógicos. ƒ Exemplos: x >= 0 E x <= 1 carro = “gol”. OU. carro = “corsa”. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 44.

(23) Tabela Verdade ƒ A “tabela-verdade” representa o funcionamento dos operadores lógicos.. ƒ Mostra os resultados das operações sobre todas as combinações de valores dos operandos.. T1. T2. T1 E T2. T1 OU T2. NÃO T1. Exemplo 1. V. V. V. V. F. Exemplo 2. V. F. F. V. F. Exemplo 3. F. V. F. V. V. Exemplo 4. F. F. F. F. V. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 45. Exercícios: Operadores e Expressões - 1 1. Calcule o valor das expressões: a) 1 + 7 * 2 ↑ 2 – 1. b) 3 * ( 1 – 2 ) + 4 * 2. 2. Exercício: qual o resultado da expressão relacional A+3 > B quando: a) A tem valor igual a 5 e B igual a 8. b) A tem valor igual a 0 e B igual a -3. c) A tem valor igual a 1 e B igual a 1. d) A tem valor igual a -3 e B igual a 1. 3. Indique a ordem de avaliação das expressões: a) A * B + C * D ↑ E. b) A / B * D / 2 * C. c) B / ( ( A + B ) * C ) + A ↑ 2. d) ( A + B + C ) + ( D * E ). 4. Preencha a Tabela-verdade T1. T2. 8. 2. 2. 4. ( T1 > T2 ) ou ( T1 = T2 ). ( ( T1 + T2 ) - ( T1 * 2 ) ) > ( T2 * 4 ). Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 46.

(24) Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Atribuição Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br. 47. Professora Vânia Cristina de Souza Pereira. Atribuição ƒ As variáveis podem ter seus valores modificados durante um algoritmo. Esse processo é chamado de atribuição. ƒ Dois elementos estão envolvidos: ƒ Variável - Elemento para o qual realizamos a atribuição ƒ Expressão - Elemento que fornece o valor a ser atribuído ƒ CUIDADO! O valor a ser atribuído deve ser do mesmo tipo de dado da variável. ƒ Sintaxe variável ← <valor>. variável ← <expressão>. ou. ƒ Exemplos: ƒ x ← 34. sexo ← “FEMININO”. ƒ y←x*3. salario ← 128,00. ƒ Considere as atribuições a←5. b←2. Se fizermos a ← b e b ← c, teremosa = 2. c ← 10 b = 10. c = 10. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 48.

(25) Exercícios: Atribuição - 1 1. Cada um dos comandos de atribuição abaixo tem um erro. Identifique-os a) -V ← A + B. d) PROD → A + B. b) 4 ← J. e) A ← ((2 + A) * C. c) V - 3,96 ← X * 1,65. f) A ← C + D, E + F. 2. Escreva comandos de atribuição para efetuar as seguintes tarefas: a) Atribuir para a variável X o valor 10, desprezando o antigo valor armazenado na variável X. b) Fazer o valor de J assumir um valor 10 unidades maior que o atual. c) Trocar o sinal do valor da variável A. d) Somar ao valor corrente da variável BETA o valor 2,51, fazer a soma do novo valor de BETA com a variável DELTA e guardar o valor final desta operação numa variável chamada GAMA. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 49. Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Entrada e Saída de dados Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br Professora Vânia Cristina de Souza Pereira. 50.

(26) Entrada e Saída de Dados ƒ Um algoritmo tem 3 passos principais: ƒ Receber informações ƒ Processar as informações ƒ Gerar uma saída com os resultados: ƒ Para o usuário ƒ Para um outro algoritmo (ex.: Funções). entrada. ALGORITMO. saída. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 51. Entrada e Saída de Dados Entrada de Dados. Saída de Dados. As informações recebidas por um algoritmo são armazenadas em variáveis.. Sintaxe Pseudocódigo leia <variável(s)>. Exemplos leia x , y. As informações geradas pelo algoritmo podem vir de variáveis, expressões ou constantes.. Sintaxe Pseudocódigo escreva <variável(s)>. leia nome_aluno. Fluxograma <variável(s)> ou <variável(s)>. s. escreva x, y escreva ‘bom dia, y’ escreva x * 2. Fluxograma x, y nome_aluno. Linguagem de Programação readln(<variável(s)>);. Exemplos. <variável(s)> ou <variável(s)>. ‘bom dia, y’ x*2. Linguagem de Programação readln(x, y); readln(nome_aluno);. writeln(<variável(s)>);. writeln(x, y); writeln(‘bom dia, y’);. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 52.

(27) Exemplo ƒ Algoritmo que transforma uma velocidade fornecida em m/s (metros por segundo) pelo usuário para Km/h (quilômetros por hora). Para tal, a velocidade foi multiplicada por 3,6.. Pseudocódigo programa km_por_hora var velocidade : real Início escreva “ Digite velocidade em m/s: “ leia velocidade velocidade ← velocidade * 3,6 escreva “ Velocidade em KM/h: “ , velocidade fim. Linguagem de Programação program km_por_hora; var velocidade : real; begin writeln(‘ Digite velocidade em m/s: ‘); readln(velocidade); velocidade := velocidade * 3.6 writeln(‘ Velocidade em KM/h: ‘ , velocidade); end.. Fluxograma inicio “ Digite velocidade em m/s: “ velocidade velocidade ← velocidade * 3,6. “ Velocidade em KM/h: “ , velocidade fim. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 53. Exercícios: Entrada e Saída de Dados 1. Identifique os dados de entrada e saída para os exercícios a, b e c. a) receba código da peça receba valor da peça receba quantidade de peças calcule o valor total da peça (quantidade * valor da peça) mostre o código da peça e seu valor total b) Uma média ponderada é calculada da seguinte maneira: * somatório dos resultados da multiplicação de cada valor fornecido pelo seu peso; * divisão do resultado obtido pela soma dos pesos. Se fornecermos três valores quaisquer e sendo os pesos 1, 2 e 3, respectivamente, qual será a média ponderada. c) Para realizar uma pesquisa com um grupo de 50 pessoas, foram obtidos os seguintes dados de cada pessoa: nome, idade, sexo e salário e depois do processamento foi informado pelo computador: a quantidade de mulheres entrevistadas, a quantidade de homens entrevistados e a soma total do salário de todos os entrevistados. 2. Escreva os algoritmos dos enunciados abaixo: a) Leia seu nome, endereço, telefone, data de nascimento, data de hoje. Calcule a sua idade e escreva na tela. b) Leia dois números inteiros quaisquer e calcule a soma e o produto entre eles, e a subtração e a divisão do primeiro valor com o segundo. Escreva o resultado na tela. Considere o segundo número diferente de zero.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 54.

(28) Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Estruturas de Seleção Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br. 55. Professora Vânia Cristina de Souza Pereira. Estruturas de Seleção ƒ Uma estrutura de seleção permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas condições, representadas por expressões lógicas ou relacionais, são ou não satisfeitas. ƒ Quando é necessário testar uma certa condição antes de executar uma ação, usa-se uma seleção simples, que tem o seguinte modelo: Pseudocódigo. Fluxograma. Linguagem de Programação. se <condição> então. if <condição> then. <instruções>. <instruções>. fim_se. ;. <condição>. Falso. Verdadeiro <instruções>. ƒ Onde se a <condição> for verdadeira então executará as instruções, caso contrário encerrase a seleção (fim-se), neste caso, sem executar nenhuma instrução. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 56.

(29) Seleção Simples Exemplo: Cálculo da média de quatro números do tipo real. Fluxograma PSEUDOCÓDIGO programa selecao inicio Var n1, n2, n3, n4, media : real início leia n1, n2, n3, n4 n1, n2, n3, n4 media ← ( n1+ n2 + n3 + n4 ) / 4 se media > = 7 então escreva “aprovado” media ← fim_se (n1+n2+n3+n4)/4 fim. LINGUAGEM DE PROGRAMAÇÃO program selecao; var n1, n2, n3, n4, media: real; begin readln (n1, n2, n3, n4); media := ( n1+ n2 + n3 + n4 ) / 4; if media > = 7 then writeln ( “aprovado”) ; end.. Falso. media >= 7. Verdadeiro “ Aprovado ”. fim. 57. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. Seleção Composta ƒ Quando temos situações em que duas alternativas dependem de uma mesma condição, uma alternativa se a condição for verdadeira e outra se a condição for falsa, usamos a estrutura de seleção composta, que tem a seguinte estrutura:. Pseudocódigo. Fluxograma. Linguagem de Programação. se <condição> então. if <condição> then. <instruções> senão. <instruções>. Falso. Verdadeiro. <instruções>. else. <instruções> fim_se. <condição>. <instruções>. <instruções>. ;. ƒ Onde se a <condição> for verdadeira então executará um determinado grupo de instruções, caso contrário executará as instruções que seguem a cláusula senão.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 58.

(30) Exemplo ƒ Idade para emissão da carteira de motorista. Pseudocódigo programa idade var idade, x : inteiro inicio leia idade se idade >= 18 então escreva “ Você pode tirar a carteira ” senão escreva “Você não pode tirar a carteira” x ← 18 – idade escreva “ Ainda faltam ”, x , “ anos ” fim_se fim. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 59. Exemplo Fluxograma início Linguagem de Programação idade program idade; idade >= 18. V “Você pode tirar a carteira”. F. “Você não pode tirar a carteira”. var idade, x : integer; begin readln(idade); if (idade >= 18) then. x← 18 - idade. writeln( ‘ Você pode tirar a carteira ’ ) else begin writeln( ‘Não pode tirar a carteira ’ );. “Ainda faltam “, x , “ anos”. x := 18 – idade; writeln( ‘ Ainda faltam ‘, x , ‘ anos ’ ); end ;. fim. end.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 60.

(31) Seleção encadeada ƒ Em algumas situações temos necessidade de agruparmos várias seleções que recebe o nome de seleção encadeada ou seleção aninhada. ƒ Exemplo: Verificar qual é o maior de três números digitados. Pseudocódigo. Linguagem de Programação. Programa maior var a, b, c : real inicio leia a, b, c se (a >= b) e (a >= c) então escreva a,“ é o maior” senão se (b >= a) e (b >= c) então escreva b,” é o maior ” senão escreva c, “é o maior ” fim_se fim_se fim. Program maior; var a, b, c : real; begin readln(a, b, c); if (a >= b) and (a >= c) then writeln ( a,’ é o maior’ ) else if (b >= a) and (b >= c) then writeln ( b,’ é o maior ‘ ) else writeln ( c, ‘é o maior ‘ ) ; end.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 61. Seleção encadeada Fluxograma. início. a, b, c. a>=b e a >= c. V. F. b>=a e b >= c. F. V c, “ é o maior”. a, “ é o maior”. b, “ é o maior”. fim Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 62.

(32) Estrutura de Seleção Múltipla ƒ Esta é uma estrutura que permite que seja executado um único conjunto de instruções, entre vários, de acordo com o valor de um objeto;. ƒ Esta estrutura pode substituir a ocorrência de várias estruturas SE-ENTÃO ou SE-ENTÃOSENÃO;. ƒ A desvantagem em relação ao comando SE é que esta estrutura não analisa condição composta (com mais de um operador). Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 63. Estrutura de Seleção Múltipla ƒ Quando é necessário construir um programa que utilize uma seqüência grande de instruções do tipo SE, podemos utilizar a instrução CASO: Pseudocódigo caso <variável> seja <valor 1> faça <instrução 1> seja <valor 2> faça <instrução 2> seja <valor N> faça <instrução N> senão <instrução> fim_caso ƒ Onde: ƒ <variável>. é uma variável a ser controlada;. ƒ <instrução1> é o bloco de instruções que serão executadas se variável for igual a valor1; ƒ <instrução2> é o bloco de instruções que serão executadas se variável for igual a valor2; ƒ e assim sucessivamente ... ƒ <instrução> é o bloco de instruções que serão executadas caso variável não seja igual a nenhum dos outros valores especificados anteriormente a senão. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 64.

(33) Estrutura de Seleção Múltipla Fluxograma. Linguagem de Programação case <expressão> of. <opção 1>. <instrução 1>. F. <opção 1>: <instrução 1>; <opção 2>: <instrução 2>;. V. <opção 2>. V. <instrução 2>. <opção n>: <instrução n>; else end;. <instrução>;. F. <opção n>. V. <instrução n>. F <instrução>. 65. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. Estrutura de Seleção Múltipla - Exemplo O algoritmo a seguir, pede a digitação de um número que represente o dia da semana, exibindo-o por extenso. início Fluxograma Pseudocódigo Linguagem de dia algoritmo dia_semana Programação Program dia_semana; var dia : inteiro V r ← “DOM” dia = 1 var dia:integer; r : caractere F r : string; inicio V dia = 2 begin r ← “SEG” leia dia F read(dia); caso dia V dia = 3 r ← “TER” case dia of seja 1 faça r ← “DOM” 1 : r := ’DOM’; F seja 2 faça r ← “SEG” V 2 : r := ’SEG’; dia = 4 r ← “QUA” seja 3 faça r ← “TER” 3 : r := ’SEG’; F seja 4 faça r ← “QUA” V 4 : r := ’SEG’; r ← “QUI” dia = 5 seja 5 faça r ← “QUI” 5 : r := ’SEG’; F seja 6 faça r ← “SEX” V 6 : r := ’SEG’; r ← “SEX” dia = 6 seja 7 faça r ← “SAB” 7 : r := ’SAB’; F senão V else r ← “SAB” dia = 7 r ← “Dia inválido” r := ‘Dia inválido’; F fim_caso end; r ← “Dia inválido” escreva r write(r); fim. end. r Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. fim. 66.

(34) Exercícios: Estruturas de Seleção - 1 1. Dado o algoritmo a seguir, responda: programa pensar Var A, B, C : lógico Início se A então Comando_1 senão se B então se C então Comando_2 senão Comando_3 Comando_4 fim_se fim_se Comando_5 fim-se Comando_6 Fim.. a). Se A = V, B = V, C = F, quais comandos serão executados?. b). Se A = F, B = V, C = F, quais comandos serão executados?. c). Se A = F, B = V, C = V, quais comandos serão executados?. d). Quais os são os valores de A, B, e C para que sempre o Comando_5 seja executado?. e). Quais os são os valores de A, B, e C para que somente o Comando_6 seja executado?. 2. Escreva um programa que verifique se um número inteiro qualquer digitado é par ou impar. 3. Escrever um programa que receba duas variáveis reais e atribua a uma terceira variável o maior valor. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 67. Exercícios: Estruturas de Seleção - 2 3. Escrever um programa que receba duas variáveis reais e atribua a uma terceira variável o maior valor. 4. Codifique um programa que avalie se um aluno está aprovado ou não conforme o critério de aprovação de uma Instituição de Ensino, ou seja, média maior ou igual a 7 o alunos está aprovado, média abaixo de 7 exame. Se o aluno estiver em exame, ler sua nota de exame e verificar se está aprovado ou não. O critério para o cálculo da média final para os alunos que estão em exame é a soma da media com a nota do exame dividido por dois. A média final deverá ser maior ou igual a 5. 5. Faça um algoritmo para calcular o valor total a pagar por um consumidor que abasteceu seu carro, sabendo que serão informados o tipo de combustível escolhido (G/A/D) e o número de litros consumido. Considere os seguintes preços por litro de combustível: ƒ. Gasolina R$ 2,39;. ƒ. Álcool R$ 1,34;. ƒ. Diesel R$ 0,90.. 6. Escrever um algoritmo que leia o código do item pedido, a quantidade e calcule o valor a ser pago por aquele lanche. Considere que a cada execução somente será calculado um item. Código. Item. Preço. 100. cachorro-quente. 1,10. 101. bauru simples. 1,30. 102. bauru com ovo. 1,50. 103. refrigerante. 0,70. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 68.

(35) Exercícios: Estruturas de Seleção - 3 7. Uma empresa concederá um aumento de salário aos seus funcionários, variável de acordo com o cargo, conforme a tabela abaixo. Faça um algoritmo que leia o salário e o código do cargo de um funcionário e calcule o novo salário. Se o cargo do funcionário não estiver na tabela, ele deverá, então, receber 40% de aumento. Mostre o salário antigo, o novo salário e a diferença. Código. Cargo. Aumento. 001. gerente. 10%. 002. engenheiro. 20%. 003. técnico. 30%. 8. Faça um algoritmo que calcule e informe o valor total do salário semanal de um vendedor de carros, sabendo que o mesmo ganha um salário fixo de R$ 300,00 e mais comissão. A comissão é igual a 3% se ele vender menos de 3 carros p/ semana; 5% se vender entre 4 e 6 carros; e 7% se vender entre 7 e 10 carros; e 10% se vender além de 10 carros. Suponha que todos os carros vendidos custem R$ 10.000,00 e que será informado o número de carros vendidos p/ semana pelo vendedor.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 69. Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Estruturas de Repetição Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br Professora Vânia Cristina de Souza Pereira. 70.

(36) Estruturas de Repetições ƒ São necessárias quando se tem que repetir uma determinada instrução, que represente um comportamento padrão, várias vezes.. ƒ Com estas estruturas, escreve-se a instrução uma única vez, e ela pode ser executada várias vezes.. ƒ Repetições podem ser controladas por: ƒ Condição; ƒ Contador.. ƒ Quando o controle é por contador, a interrupção é prevista no instante em que é iniciada a execução da estrutura de controle de repetições.. ƒ Quando o controle é por condição, deverá haver uma expressão lógica, e a interrupção será controlada por meio do resultado desta expressão. ƒ É imprescindível que haja uma instrução dentro do bloco de instruções que permita a alteração do valor lógico da condição. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 71. Estrutura de Repetição Enquanto ƒ É uma estrutura de repetição com condição que permite executar uma ou mais instruções um determinado número de vezes. ƒ O bloco será executado enquanto o resultado da <expressão lógica> for verdadeiro. Se já da primeira vez o resultado for falso, os comandos não são executados nem uma vez.. ƒ Portanto, a quantidade de repetições é indeterminada nesta estrutura. ƒ O fluxo neste comando é o seguinte: a primeira vez que se chega ao comando de repetição, é feito o teste da <expressão lógica>, que determina se deve ou não entrar no bloco. ƒ Se entrar, ao final do bloco volta-se para a primeira linha do bloco e então testa-se novamente a <expressão lógica>.. enquanto (<expressão lógica>) faça <instruções> fim_enquanto Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 72.

(37) Estrutura de Repetição Enquanto Permite executar diversas vezes um trecho do algoritmo, porém, sempre verificando antes de cada execução se é “permitido” executar o trecho.. Pseudocódigo Fluxograma enquanto <expressão lógica> faça <instruções>. <expressão lógica>. fim_enquanto. Falso. Verdadeiro Linguagem de Programação <instruções> while <expressão lógica> do <instruções> ; ƒ. Lembre-se que em uma <expressão lógica> o resultado deve ser verdadeiro ou falso.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 73. Exemplo Calcular a média aritmética de 3 notas de 30 alunos. Pseudocódigo Algoritmo Media_30 var cont : inteiro n1,n2,n3,media: real início cont ← 0 enquanto cont < 30 faça leia n1,n2,n3 media ← (n1+n2+n3)/3 cont ← cont + 1 escreva media fim_enquanto fim. Linguagem de Programação Program Media_30; var cont : integer; n1,n2,n3,media : real; begin cont := 0; while cont < 30 do begin read (n1,n2,n3); media := (n1+n2+n3)/3; cont := cont + 1; write(media); end ; end.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 74.

(38) Exemplo Fluxograma. início cont ← 0. cont < 30. F. V n1, n2, n3 media ← (n1+n2+n3)/3 cont ← cont +1 media. fim Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 75. Estrutura de Repetição Para - Faça ƒ É uma estrutura de repetição com contador que permite executar uma ou mais instruções um determinado número de vezes.. ƒ Para controlar o número de repetições, empregamos uma variável do tipo numérico inteiro.. ƒ Ao encontrar a instrução Para é atribuída à variável o valor de início declarado. A partir daí a seqüência de comandos é executada repetidamente, até que a variável atinja o valor de fim.. ƒ A cada vez que a seqüência de comandos é executada, a variável é incrementada automaticamente.. ƒ Esta estrutura só pode ser utilizada em repetições controladas por um contador. Isto é, aquelas repetições que sabemos o número de vezes que acontecerá quando iniciamos sua execução. para <variável> de <início> até <fim> faça <instruções> fim_para Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 76.

(39) Estrutura de Repetição Para - Faça Pseudocódigo. para <variável> de <início> até <fim> faça. Fluxograma. <instruções> fim_para. <variavel> ← <inicio>,<fim>. Falso. Verdadeiro Linguagem de Programação <instruções> for <variável>:= <início> to <fim> do <instruções> ; ƒ. <variável> um identificador para uma variável do tipo inteiro. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 77. Exemplo Calcular a média aritmética de 3 notas de 30 alunos.. Linguagem de Programação Pseudocódigo. Algoritmo Media_30 var cont : inteiro n1,n2,n3,media : real início para cont de 1 até 30 faça leia ( n1,n2, n3 ) media ← ( n1+ n2+ n3 ) / 3 escreva (media) fim_para fim.. Program Media_30; var cont : integer; n1,n2,n3,media: real; begin for cont := 1 to 30 do begin writeln( ‘ Digite as 3 notas => ‘ ) ; read ( n1,n2, n3 ); media := ( n1 + n2 + n3 ) / 3; write(media:0:2); end ; end.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 78.

(40) Exemplo Fluxograma. início cont ← 1,30. F. V n1, n2, n3 media ← (n1+n2+n3)/3 media. fim. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 79. Estrutura de Repetição Repita ƒ Esta estrutura permite que uma seqüência de comandos sejam executada até que uma determinada condição seja satisfeita.. ƒ O fluxo neste comando é o seguinte : a primeira vez que se chega ao comando de repetição, entra-se no bloco.. ƒ Ao final do bloco testa-se a condição e volta para a primeira linha do bloco se a condição for falsa.. ƒ O bloco será executado sempre que o resultado da <expressão lógica> for falso, no momento em que se tornar verdadeiro a ação subseqüente ao comando ‘até que’ será executada.. ƒ Esse tipo de repetição garante que o comando seja executado pelo menos uma vez antes que a repetição termine. repita <instruções> até_que <expressão lógica> Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 80.

(41) Estrutura de Repetição Repita Pseudocódigo. repita Fluxograma. <instruções> até_que <expressão lógica> <instruções> Linguagem de Programação F repeat. <expressão lógica>. V. <instruções> until <expressão lógica>;. ƒ. Em uma <expressão lógica> o resultado deve ser verdadeiro ou falso.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 81. Exemplo Calcular a média aritmética de 3 notas de 30 alunos. Pseudocódigo. Algoritmo Media_30 var cont : inteiro n1,n2,n3,media : real Início cont ← 1 repita leia (n1,n2, n3 ) media ← (n1 + n2 + n3 ) / 3 cont ← cont + 1 escreva (media). Linguagem de Programação Program Media_30; var cont : integer; n1,n2,n3,media: real; begin cont := 1; repeat writeln( ‘ Digite as 3 notas => ‘ ) ; read ( n1, n2, n3 ) ; media := (n1 + n2 + n3 ) / 3 ; write( media : 0 : 2 ) ; cont := cont + 1; until cont > 30 ; end.. até_que cont > 30 fim Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 82.

(42) Exemplo Fluxograma. início cont ← 1 n1, n2, n3 media ← (n1+n2+n3)/3 cont ← cont +1 media F. cont > 30. V. fim Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 83. Comparação entre as estruturas de Repetição ƒ Toda estrutura PARA e REPITA pode ser convertida em ENQUANTO, mas nem toda estrutura ENQUANTO pode ser convertida em PARA ou REPITA.. Estrutura. Condição. Quantidade de Execuções. Condição de Existência. Enquanto. Início. Indeterminada. Condição verdadeira. Repita. Fim. Mínimo 1. Condição falsa. Para. Implícita no início. (fim – inicio + 1). inicio <= fim. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 84.

(43) Exercícios: Estruturas de Repetição - 1 1.. 2. 3.. 4.. Foi feita uma pesquisa em uma universidade entre os acadêmicos matriculados na instituição. Todos os acadêmicos que estavam presentes no dia da pesquisa, preencheram ao seguinte questionário: Sexo? (M- masculino; F- feminino): Idade? (em anos): Gosta do curso que está fazendo? (S- sim; N- não): O número de pessoas que responderam ao questionário é indeterminado. Faça um algoritmo que seja capaz de calcular e informar: a) o número de homens entrevistados com menos de 23 anos; b) o número de mulheres entrevistadas que estão gostando do curso que estão fazendo; c) o total de alunos entrevistados. Escreva um algoritmo que leia um número inteiro e calcule o seu fatorial. (Dica: 5! = 5x4x3x2x1 = 120) Durante os meses de julho e agosto, foram colhidas as temperaturas médias diárias de uma determinada região em graus Celsius. Faça um algoritmo com a estrutura de repetição adequada que calcule e informe a temperatura média do período e a temperatura mais alta do período. Durante um período indeterminado de dias de um determinado mês, foram colhidas as temperaturas médias diárias de uma determinada região em graus Celsius. Faça um algoritmo com a estrutura de repetição adequada, que calcule e informe a quantidade de dias avaliados, temperatura média e a temperatura mais alta do período.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 85. Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica Lógica de de Programação Programação Material de apoio ao estudo. Nomenclatura Básica do Pascal Notas de aulas Material disponível para download em: http://prof.vania.cristina.sites.uol.com.br Professora Vânia Cristina de Souza Pereira. 86.

(44) Pascal ƒ Linguagem computacional: largamente utilizada no ensino-aprendizagem de programação de computadores.. ƒ Criada por Niklaus Wirth em 1972, na Universidade Técnica de Zurique, Suiça.. ƒ Seu nome homenageia o matemático Blaise Pascal.. ƒ Existem vários compiladores para esta linguagem, o mais comum no ambiente acadêmico é o Turbo Pascal, da Borland.. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 87. Pascal ƒ Equivalência de termos entre pseudocódigo e Pascal: PSEUDOCÓDIGO. PASCAL. Algoritmo. Program. Declaração de variável. Var. Início. Begin. Fim. End. Caractere. String. Inteiro. Integer. Real. Real. Leia. Readln / Read. Escreva. Writeln / Write. ←. :=. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 88.

(45) Pascal ƒ Equivalência de termos entre pseudocódigo e Pascal: PSEUDOCÓDIGO. PASCAL. Se ... então ... senão ... fim_se. if ... then ... else ... ;. caso .... case ... of. seja ... faça .... ... : ... ;. senão .... else ... ;. fim_caso. end;. enquanto ... faça ... fim_enquanto. while ... do ... ;. para ... de ... até ... faça ... fim_para. for ... := ... to ... do ... ;. repita ... até que .... repeat ... until ... ;. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 89. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 90.

(46) Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 91. Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 92.

(47) Profa. Vânia Cristina de Souza Pereira – 2009 - Material de apoio ao estudo - Notas de aulas - ALP. 93. Universidade Nove de Julho - UNINOVE. Algoritmos Algoritmos ee Lógica de Programação Lógica de Programação Material de apoio ao estudo Em Em caso caso de de dúvidas dúvidas escreva escreva para: para: vania.cristina@uninove.br vania.cristina@uninove.br Material Material disponível disponível para para download download em: em: http://prof.vania.cristina.sites.uol.com.br http://prof.vania.cristina.sites.uol.com.br Notas de aulas Professora Vânia Cristina de Souza Pereira. 94.

(48)

Referências

Documentos relacionados

Os saguis do gênero Callithrix podem viver em grupos poliândricos, poligínicos e monogâmi- cos (DIGBY &amp; FERRARI, 1994), apresentando como característica social

Algoritmos e Programação Estruturada – Conceitos Importantes Estrutura de dados.. Algoritmos e Programação Estruturada –

De acordo com Herbert Paul Grice (1982) num ato de conversa- ção há os explícitos e os implícitos. Os explícitos consistem em tudo o que foi dito de forma clara

Este trabalho traz uma contribuição conceitual sobre a utilização do sistema de gestão de produtividade que poderá motivar futuras pesquisas sobre o tema, bem

O aprendizado da Lógica é essencial para formação de um bom programador, servindo como base para o aprendizado de todas as linguagens de programação, es- truturadas ou não.. De

Um comando de atribuição permite-nos fornecer um valor a uma variável (guardar um valor em uma gaveta), em que o tipo do dado deve ser compatível com o tipo da

Já, outro estudo demonstrou que os resultados mostraram que os fatores que mais motivam as pessoas a praticarem academia são: saúde, aptidão física, disposição,

● Dica: ao utilizar o método puts com as aspas (para escrever textos), dentro das aspas você pode acessar as variáveis com #{IDENTIFICADOR} , trocando IDENTIFICADOR pelo