APOSTILA DE LÓGICA DE PROGRAMAÇÃO Com exemplos em C# Prof. MÁRCIO R. NIZZOLA 2014 INTRODUÇÃO A automação é o processo em que uma tarefa deixa de ser desempenhada pelo homem e passa a ser realizada por máquinas, sejam estes dispositivos mecânicos, eletrônicos (como os computadores) ou de natureza mista. Para que a automação de uma tarefa seja bem-sucedida é necessário que a máquina que passará a realizá-la seja capaz de desempenhar cada uma das etapas constituintes do processo a ser automatizado com eficiência, de modo a garantir a repetibilidade do mesmo. Assim, é necessário que seja especificado com clareza e exatidão o que deve ser realizado em cada uma das fases do processo a ser automatizado, bem como a seqüência em que estas fases devem ser realizadas. À especificação da seqüência ordenada de passos que deve ser seguida para a realização de uma tarefa, garantindo a sua repetibilidade, dá-se o nome de algoritmo. Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. Ao contrário do que se pode pensar, o conceito de algoritmo não foi criado para satisfazer às necessidades da computação. Pelo contrário, a programação de computadores é apenas um dos campos de aplicação dos algoritmos. Na verdade, há inúmeros casos que podem exemplificar o uso de algoritmos para a padronização do exercício de tarefas rotineiras. Exemplos: - trocar um pneu - receita de um bolo. Portanto Algoritmo: É uma sequência finita de passos para atingir um objetivo. ALGUMAS DEFINIÇÕES DE ALGORÍTMO "Serve como modelo para programas, pois sua linguagem é intermediária à linguagem humana e às linguagens de programação, sendo então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas." “Os algoritmos, servem para representar a solução de qualquer problema, mas no caso do Processamento de Dados, eles devem seguir as regras básicas de programação para que sejam compatíveis com as linguagens de programação.” O QUE É LÓGICA: É a técnica de encadear pensamentos para atingir um objetivo. Exemplo: Faça um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número. • • • • • Receber o primeiro número. Receber o segundo número. Somar o primeiro com o segundo. Multiplicar o resultado da soma pelo primeiro número. Exibir o resultado. Ciclo de funcionamento básico de um programa de computador OBJETIVOS PRÁTICOS NO USO DE ALGORITMO • • • • • • • • • Agilizar a codificação da escrita da programação. Facilitar a depuração da sua leitura. Permitir a verificação de possíveis falhas apresentadas pelos programas. Facilitar as alterações e atualizações de programas. A programação estruturada deve ser composta por estes quatro passos fundamentais. Escrever as instruções em sequencia ligadas entre si apenas por estruturas sequentes. Escrever instruções em grupos pequenos e depois combiná-los. Distribuir módulos e programas entre os diferentes programadores que trabalham sob a supervisão de um programa dos sem cor. Revisar o trabalho executado em reuniões regulares em que compareçam apenas programadores de um mesmo nível. REGRAS PARA A CONSTRUÇÃO DE UM ALGORITMO • • • • Usar somente um verbo por frase. Imaginar que você esta desenvolvendo um algoritmo para pessoas que não trabalham com informática. Ser objetivo. Não utilizar palavras com sentido dúbio. Ex: MÉDIA: P1+P2+P3 / 3 Receber a nota um. Receber a nota dois. Receber a not a três. Somar a nota um + nota dois + nota três. Dividir por três. Mostrar o resultado da divisão. CONSTANTES, VARIÁVEIS E TIPOS DE DADOS Variáveis e 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 tipo de dado determinado. Variáveis devem receber nomes para poderem ser referenciadas e quando necessário modificar o seu conteúdo. Figura 2: representação das variáveis na memória do computador Imagine a memória do computador como um grande gaveteiro, e cada gaveta tendo um nome, nestas gavetas você guarda as informações que seu programa irá receber, calcular e exibir durante a execução. Para melhor encontrar os dados, ao invés de usar números de endereço de memória que seria uma coisa muito complexa e difícil de trabalhar, foi criado o conceito de variáveis com nomes literais (figura 2). Constante: um espaço de memória que assume um valor fixo que não se modifica ao longo do tempo, durante a execução dos programas. Ex: N1 + N2 + N3 / 3 (3 É UM NÚMERO CONSTANTE). Variável: é um objeto (uma posição, frequentemente localizada na memória) capaz de reter e representar um valor ou expressão. Enquanto as variáveis só "existem" em tempo de execução, elas são associadas a "nomes", chamados identificadores, durante o tempo de desenvolvimento. Cada variável corresponde á uma posição na memória cujo conteúdo pode ser alterado ao longo do tempo de execução de um programa. Embora ela possa assumir diferentes valores, ela só pode armazenar um valor a cada instante. TIPOS DE VARIÁVEIS As variáveis e constantes podem ser basicamente de cinco tipos. • • • • • Numéricos: específicas para armazenamento de números, elas podem conter valores inteiros ou reais. Caracteres: especificas para caracteres que não continham números. Alfanuméricas: especificadas para dados que contenham: letras e números, caso armazene números eles não são usados para cálculos. Lógica: Armazenar dados do tipo verdadeiro ou falso. Data: disponível em linguagens atuais serve para armazenamento de datas e horas ( * varia o uso em cada linguagem). Uma variável somente pode armazenar dados do tipo para o qual ela foi declarada. Regras para formação de variáveis • • • • • Nomes de variáveis poderão ser atribuidos com um ou mais caracteres. O primeiro caractere do nome não poderá ser em hipotese alguma um número sempre deverá ser uma letra. O nome de uma variavel não poderá conter espaço em branco. Não poderá ser um nome de uma variável, uma palavra reservada da linguagem em que será feito o programa. Não poderão ser usados outros caracteres a não ser letras ou numeros, exceto o caractere underline (_). São nomes inválidos. Nome de usuário, 1X, FONE#, while, FOR (considerando-se que os ultimos dois são comandos da linguagem C# , C, VB, entre outras) Deveremos ainda considerar que dentro de um programa uma variavel pode exercer dois papeis. Um de ação, quando é modificada ao longo de um programa para apresentar um determinado resultado e o segundo de controle, a qual podera ser vigiada durante a execução de um programa.r OPERADORES São os meios pelos quais nós incrementamos , decrementamos, comparamos a avaliamos dados dentro do computador. Operadores Aritméticos OPERAÇÃO SIMBOLO Adição + Subtração Multiplicação * Divisão Exponenciação / ** Operadores Relacionais Descrirção Igual a Diferente Maior que Menor que Maior ou igual Menor ou igual Símbolo = # > < >= <= Operadores lógicos Os operadores lógicos servem para testar os resultados de expressões, respondendo se o resultado final é falso ou verdadeiro. Operador E Operador (inglês) AND OU OR NOT NÃO Utilização O resultado é sempre verdadeiro se todas as expressões forem todas verdadeiras. O resultado é verdadeiro se qualquer uma das expressões for verdadeira. Inverte o valor da expressão. Exemplo: Suponha que temos três variáveis A=5, B=8 e C=1. Os resultados seriam. Expressão A=B A<>B A>B A<B A>=B A<=B Operador AND OR NOT AND OR NOT Expressão B>C B<C Operador E E E E OU OU OU OU NÃO NÃO 2º Valor V F V F V F V F B>C B=C Resultado F V V V F F Tabela 1º Valor V V F F V V F F V F Resultado V F F F V V V F F V Exercícios de fixação: 1) Tendo as variáveis Salários, IR, Salliq e considerando os valores abaixo informe se as expressões são verdadeiras ou falsas. SALÁRIO 100 200 300 IR 0 10 15 SALLIQ 100 190 285 EXPRESSÕES (salliq>=100) (salliq<190) (salliq-salário-ir) V ou F V F V 2)Sabendo-se que A=3, B=4, C=3, informe se as expressões abaixo são V ou F. a) (A+C) > B = V b) B> = (A+2) = F c) C = (B-A) = F d) (B+A)<=C = e) (C+A)>B = F 3)Sabendo-se que A=5, B=4, C=3 e D=6, informe se as expressões são verdadeiras ou falsas. a) (a>c) and (c<=d) = v b) (a+b)>10 or (a+b) = (c+d) = v c) (a>=c) and (d>=c) = v Exercícios para montar algoritmos 1) Construa um algoritmo que receba o valor de um produto em dólar, receba a cotação do dólar, faça o cálculo multiplicando os valores e exibindo o valor em reais. 2) Faça um algoritmo que calcule a metragem de um terreno, obtendo a largura e comprimento do terrno e exibindo o seu resultado. 3) Construa um algoritmo que receba como entrada os seguintes dados: Peso de uma pessoa; Sua altura em centímetros; E em seguida calcule o “Índice de Massa Corpórea (IMC)” através da seguinte fórmula: IMC = PESO / ALT * ALT. 4) Faça um algoritmo que receba 3 números, some os três e calcule o quadrado do resultado, exiba-o em seguida. 5) Escreva um algoritmo para ler o salário mensal atual de um funcionário e o percentual de reajuste. Calcular e escrever o valor do novo salário. 6) Uma revendedora de carros usados paga a seus funcionários vendedores um salário fixo por mês, mais uma comissão também fixa para cada carro vendido e mais 5% do valor das vendas por ele efetuadas. Escrever um algoritmo que leia o número de carros por ele vendidos, o valor total de suas vendas, o salário fixo e o valor que ele recebe por carro vendido. Calcule e escreva o salário final do vendedor. 7) Calcule o preço de venda de um produto, recebendo o valor do custo, o valor do lucro e os impostos. Para calcular, calcule a porcentagem de lucro sobre o valor de custo, e em seguida calcule a porcentagem de impostos, exiba o preço de venda e os impostos. 8) Ler dois valores para as variáveis A e B, e efetuar as trocas dos valores de forma que a variável A passe a possuir o valor da variável B e a variável B passe a possuir o valor da variável A. Apresentar os valores trocados. 9) Escrever um algoritmo que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, informar o seu nome, o salário fixo e salário no final do mês. 10) Faça um algoritmo que receba um valor que foi depositado e exiba o valor com rendimento após um mês. Considere fixo o juro da poupança em 0,70% a. m 11) A Loja Mamão com Açúcar está vendendo seus produtos em 5 (cinco) prestações sem juros. Faça um algoritmo que receba um valor de uma compra e mostre o valor das prestações. ESTRUTURAS DE DECISÃO São utilizadas quando se torna necessário tomar decisões. Toda decisão terá sempre como resposta um resultado V (verdadeiro) ou F (falso). Ex: perguntar o preço do produto, se o preço é <= 10, se sim, compre , se não, não compre. Sempre que fazemos uma comparação utilizando-se de estrutura de decisão, colocamos uma expressão Exercícios a) Elabore um algoritmo que receba um número, se positivo exibir positivo se for negativo exibir negativo. R: Ler um número, Se o número for maior ou igual a 0, escrever “positivo”, Caso contrario escreva negativo. b) Contruir um algoritmo que receba um número, caso o número for maior ou igual a 100 exiba-o, caso contrario escreva “menor que 100”. R: Leia um número, Se um número maior ou igual a 100 então exiba o número, Senão Exibir “número menor que 100”.