Técnicas de Programação Algoritmos Anderson Gomes Eleutério
Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a seqüência lógica para o desenvolvimento. Então o que é lógica? Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.
Seqüência Lógica Estes pensamentos, podem ser descritos como uma seqüência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa. Seqüência Lógica são passos executados até atingir um objetivo ou solução de um problema.
Instruções Na linguagem comum, entende-se por instruções um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, porém, instrução é a informação que indica a um computador uma ação elementar a executar.
Algoritmo Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma seqüência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Como exemplos de algoritmos podemos citar os algoritmos das operações básicas (adição, multiplicação, divisão e subtração) de números reais decimais. Outros exemplos seriam os manuais de aparelhos eletrônicos, como um videocassete, que explicam passo-a-passo como, por exemplo, gravar um evento.
Até mesmo as coisas mais simples, podem ser descritas por seqüências lógicas. Por exemplo: Chupar uma bala : Pegar a bala Retirar o papel Chupar a bala Jogar o papel no lixo
Programas Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de computador (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que são interpretados e executados por uma máquina, no caso um computador.
EXERCÍCIOS 1- Crie uma seqüência lógica para tomar banho; 2 Crie uma seqüência lógica para somar dois números e multiplicar o resultado pelo primeiro número; 3 - Descreva com detalhes a seqüência lógica para Trocar um pneu de um carro. 4 - Faça um algoritmo para trocar uma lâmpada. Descreva com detalhes:
DICA Algoritmos não se aprende Copiando algoritmos Estudando algoritmos prontos Algoritmos se aprende Construindo Algoritmos Testando Algoritmos
Pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação em uma linguagem de programação, ou seja, quando formos programar em uma linguagem, por exemplo Visual Basic, estaremos gerando código em Visual Basic. Por isso 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 de como deve ser escrito o algoritmo. O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.
Regras para construção do Algoritmo Para escrever um algoritmo precisamos descrever a seqüência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas: Usar somente um verbo por frase; Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática; Usar frases curtas e simples; Ser objetivo; Procurar usar palavras que não tenham sentido duplo.
Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais: Entrada Processamento - Saída
Onde temos: ENTRADA: São os dados de entrada do algoritmo PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados
Tipos de dados (Variáveis) Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa, e por um tipo, que determina o que pode ser armazenado naquela variável. Declarando uma variável Inteira Soma Tipo de variável Nome da variável
Variáveis e Memória Imagine que a memória do computador seja um armário com várias gavetas. Cada gaveta possui um rótulo que em determinado momento guarda um conteúdo (informação). O computador, para poder manipular esses conteúdos, precisa saber qual o local onde o conteúdo se encontra. Variável é um endereço de memória representada por um nome simbólico, cujo conteúdo se altera no decorrer do programa.
Tipos de Variáveis A variável tem que ser definida segundo o conjunto de valores que ela receberá. Os tipos básicos (ou primitivos) de dados previstos na maioria das linguagens de programação são: - Inteiro:qualquer número inteiro, negativo, nulo ou positivo. Exemplos: 14; 22; 0; -1 e 83. - Real: qualquer número real, negativo, nulo ou positivo. Exemplos: -14.3; 0; 54 e 6.5. - Caracter: qualquer conjunto de caracteres alfanuméricos/especiais. Representado entre aspas ( ). Exemplos: Informática ; João ; Maria. - Lógico: pode armazenar apenas os valores verdadeiro (V) e falso (F).
Exemplo de Algoritmo Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4. Onde: Media Final = (P1 + P2 + P3 + P4) / 4 Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2, P3 e P4 b) Qual será o processamento a ser utilizado? R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro) Quais serão os dados de saída? R: O dado de saída será a média final
Algoritmo Receba a nota da prova1 Receba a nota de prova2 Receba a nota de prova3 Receba a nota da prova4 Some todas as notas e divida o resultado por 4 Mostre o resultado da divisão
Teste de Mesa Após desenvolver um algoritmo ele deverá sempre ser testado. Este teste é chamado de TESTE DE MESA, que significa, seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não. Veja o exemplo: Nota da Prova 1 Nota da Prova 2 Nota da Prova 3 Nota da Prova 4 Utilize a tabela abaixo:
Operadores Aritméticos Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da adição, subtração, multiplicação e divisão, podem utilizar também o operador para exponenciação. Os símbolos para os operadores aritméticos são: Hierarquia das Operações Aritméticas 1 º ( ) Parênteses 2 º Exponenciação 3 º Multiplicação, divisão (o que aparecer primeiro) 4 º + ou (o que aparecer primeiro)
Operadores relacionais Os operadores relacionais são utilizados para comparar String de caracteres e números. Os valores a serem comparados podem ser caracteres ou variáveis. Os operadores relacionais são:
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 Uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras; OR/OU Uma expressão OR (OU) é verdadeira se pelo menos uma condição for verdadeira; NOT Um expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa.
X Y X E Y X OU Y NÃO (X) NÃO (Y) V F F V V V F F
Exercícios Considerando A, B, C variáveis reais, contendo os valores 1.0, 4.5, 8.0, respectivamente; Nome e Cor, as variáveis caracteres, contendo as seqüências de caracteres Tânia e branco, respectivamente; e Teste, variável lógica, contendo o valor verdadeiro determinar o valor das expressões lógicas: a) ( A = 1.0 ) E Teste = b) ( Nome = Pedro ) OU ( Cor < > branco ) = c) NAO Teste E ( B * 2.0 C = 0.0 ) = d) ( C < 10 ) OU Teste E ( Cor = preto ) = e) Teste E NAO Teste =
Operadores lógicos
CONCEITO DE VARIÁVEL Sabe-se da Matemática que uma variável é a representação simbólica dos elementos de um certo conjunto. Nos algoritmos destinados a resolver um problema no computador, a cada variável corresponde uma posição de memória, cujo conteúdo pode variar ao longo do tempo durante a execução de um algoritmo / programa. Embora a variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante. Toda variável é identificada por um nome ou identificador. Assim, por exemplo, num algoritmo para calcular a área de um triângulo retângulo pelo teorema de Pitágoras (a2 = b2 + c2), os identificadores A, B e C podem representar as posições de memória que armazenam o valor da hipotenusa e dos catetos.
OPERAÇÃO DE ATRIBUIÇÃO A operação de atribuição permite que se forneça um valor a uma certa variável. Se for atribuído uma expressão à variável, será armazenado o resultado daquela expressão. Se for atribuído uma outra variável, será armazenado o conteúdo daquela variável. Para a operação de atribuição, utilizaremos a seguinte sintaxe: variável expressão Ex.: A 2 NOME 'João' A B + C B A SENHA 'X3Y9' NOTA NOTA - 1 NOTA 10 C 1 / 3 X 2.5
OPERAÇÕES DE ENTRADA E SAÍDA Os cálculos do computador são de pouco valor a não ser que, primeiro, possamos fornecer os dados sobre os quais estes cálculos serão efetuados e, segundo, ver os resultados destes cálculos. Definimos aqui dois novos comandos da nossa linguagem algorítmica para manusear entrada e saída. O comando leia nos permite ler valores dados atribuindo-os à variáveis indicadas; o comando escreva nos permite mostrar os resultados. A entrada pode vir do teclado ou de qualquer outro dispositivo de entrada. A saída pode aparecer na tela do monitor de vídeo ou ser impressa em papel. A sintaxe destes comandos são: leia variável-1, variável-2,..., variável-n escreva expressão-1, expressão-2,..., expressão-n