Baixe o app para aproveitar ainda mais
Prévia do material em texto
CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 1 AULA 1: INTRODUÇÃO (Conceitos introdutórios de Algoritmos) COMPUTADORES • Dispositivo capaz de executar cálculos e tomar decisões lógicas em velocidades milhões, e até bilhões, de vezes mais rápidas do que os seres humanos; • Computadores processam dados sob o controle de conjunto de instruções chamado de programas de computador; • Estes programas de computador guiam o computador através de conjuntos ordenados de ações especificados por pessoas chamadas de programadores de computador. ESTRUTURA DE UM COMPUTADOR DIGITAL REPRESENTAÇÃO DA INFORMAÇÃO • O bit (BInary digiT) é a menor unidade de informação existente em um computador, podendo assumir os valores 0 (zero) e 1 (um), o que tem relação com a arquitetura do processador; • Para cada dado, o computador utiliza diversos 0 e 1 seguidos: 0011010101001011. Podemos dizer então que o computador tem como base o sistema binário; • A unidade padrão de medida na Informática é o Byte (BinarY TErm), que é o conjunto de 8 (oito) Bits. A um caractere (letra, número, ou símbolo especial) associamos um byte, como ilustrado abaixo: CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 2 A ESTRUTURA BÁSICA DE UM COMPUTADOR DIVIDE-SE EM: Memória Principal – divididas em células, registram dados de forma volátil. De alta velocidade é utilizada a todo o momento para fazer armazenagem de cálculos e registro dos programas que são utilizados. Isso significa que ao executar um programa, ele será, obrigatoriamente, armazenado na memória principal para que seja executado. Memória Secundária – Pode apresentar-se em mídia magnética ou óptica e será utilizada para armazenar programas e dados objetivando a reutilização. Processador – Dividido em ULA e UC processa todas as solicitações oriundas dos programas que estão sendo executados. Mantém uma pequena memória, chamada cachê, com o objetivo de aumentar a velocidade de processamento. LÓGICA • Ciência que estuda as leis do raciocínio. • Correção/validação do pensamento. • Encadeamento/ordem de idéias. • Arte de bem pensar. Exemplos de aplicação da lógica O quarto está fechado e meu livro está no quarto. Então, preciso primeiro abrir o quarto para pegar o livro. Rosa é mãe de Ana, Paula é filha de Rosa, Júlia é filha de Ana. Então, Júlia é neta de Rosa e sobrinha de Paula. Todo mamífero é animal e todo cavalo é mamífero. Então, todo cavalo é animal. Todo mamífero bebe leite e o homem bebe leite. Então, todo homem é mamífero e animal (mas não é um cavalo). O que é Programação? = ABSTRAÇÃO! ▓ A realidade é complexa e rica em detalhes! CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 3 Abstração O que você abstrai dessa realidade? ABSTRAÇÃO Abstração = Operação mental que observa a realidade e captura apenas os aspectos relevantes para um contexto RReeaalliiddaaddee CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 4 Você pode ver uma cabeça, um homem, uma mulher e um cão ? CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 5 As bolas parecem se movimentar conforme você olha.. Se você acha que estes círculos estão em movimento... Você está errado! Olhe fixamente somente para um deles... CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 6 CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 7 CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 8 NOÇÕES DE LÓGICA Em Lógica um conceito importante é o de “Proposição” Proposição: é um enunciado verbal, ao qual deve ser atribuído, sem ambigüidade, um valor lógico verdadeiro (V) ou falso (F). Exemplos de proposições: ► Ronaldinho Gaucho é jogador de futebol. (V) ► 3 + 5 == 10 (F) ► 5 < 8 (V) Contra-exemplos de Proposições: ► Onde você vai ? ► 3 + 5 ► Os estudantes jogam vôlei. (Quais ?) OPERAÇÕES LÓGICAS: São usadas para formar novas proposições a partir de proposições existentes. Considerando p e q duas proposições genéricas, podem-se aplicar as seguintes operações lógicas básicas sobre elas: OPERAÇÃO SÍMBOLO SÍMBOLO(C++) SÍMBOLO(PASCAL) SIGNIFICADO NEGAÇÃO ~ ! not NÃO CONJUNÇÃO ^ && and E DISJUNÇÃO v || or OU CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 9 Definindo a prioridade: Usar parênteses Ex: ((p v q)^(~q)) ou Obedecer (~) > (^) > (v) Exemplos de aplicação das operações lógicas Considere: p = 7 é primo = (V) q = 4 é ímpar = (F) Então: 4 NÃO é ímpar = ~q = (~F) = (V) 7 NÃO é primo = ~p = (~V) = (F) 7 é primo E 4 NÃO é ímpar = p ^ ~q = (V ^ (~F)) = (V ^ V) = (V) 7 é primo E 4 é ímpar = p ^ q = (V ^ F) = (F) 4 é ímpar E 7 é primo = q ^ p = (F ^ V) = (F) 4 é ímpar E 7 NÃO é primo = q ^ ~p = (F ^ (~V)) = (F ^ F) = (F) Exemplos de aplicação das operações lógicas (Cont.) Considere: p = 7 é primo = (V) q = 4 é ímpar = (F) Então: 7 é primo OU 4 NÃO é ímpar = p v ~q = (V v (~F)) = (V v V) = (V) 7 é primo OU 4 é ímpar = p v q = (V v F) = (V) 4 é ímpar OU 7 é primo = q v p = (F v V) = (V) 4 é ímpar OU 7 NÃO é primo = q v ~p = (F v (~V)) = (F v F ) = (F) Exemplos de aplicação das operações lógicas Resumindo: p q p ^ q p v q V V V V V F F V F V F V F F F F ~p F F V V pp qq p ^ qp ^ q p v qp v q VV VV VV VV VV FF FF VV FF VV FF VV FF FF FF FF ~p~p FF FF VV VV Ou seja: Não (~) troca o valor lógico. Se for F passa a ser V e vice- versa. E (^) só tem valor V quando as duas proposições forem V. Basta uma proposição ser F para o resultado ser F. CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 10 OU (v) só tem valor F quando as duas proposições forem F. Basta uma proposição ser V para o resultado ser V. ALGORITMO - Seqüência lógica e não ambígua de instruções que levam à solução de um problema num tempo finito. - Seqüência lógica de instruções que devem ser seguidas para a resolução de um problema ou para a execução de uma tarefa. • Algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações; – Ação é um acontecimento que, a partirde um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido; • A construção de algoritmo consiste na primeira fase de resolução de problemas utilizando-se recursos computacionais. Somente após a sua construção, verificação de sua correção e codificação, tem-se um programa; – Um programa é a formalização de um algoritmo em uma determinada linguagem de programação, segundo suas regras de sintaxe e semântica, de forma que o computador possa entender a seqüência de ações; • A base da boa programação consiste na construção de bons algoritmos. Alguns passos: – Compreender o problema identificando as suas entradas e saídas; – Desenvolver um procedimento para a solução do problema; – Verificar manualmente a sua correção; – Codificar o algoritmo; – Executá-lo e testá-lo; – Refinar se necessário, o algoritmo e documentá-lo. CARACTERÍSTICAS BÁSICAS DE UM ALGORITMO: Seqüência lógica As instruções devem ser definidas em uma ordem correta. Não ambígua A seqüência lógica e as instruções não devem dar margem à dupla interpretação. Solução de um problema A seqüência lógica deve resolver exatamente (nem mais e nem menos) o problema identificado. Tempo finito A seqüência lógica não deve possuir iterações infinitas. CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 11 Exemplos de algoritmos Receitas de comidas Coreografia Manuais de instalação Contra-exemplos de algoritmos Listas de compras Dança informal Índice remissivo de um livro Algoritmo Textual Informal Modo de preparo de um bolo: Bata a margarina, as gemas e o açúcar até ficar cremoso Junte o leite, o coco e a farinha e continue batendo Acrescente o fermento e, por último, as claras em neve Unte uma forma com manteiga e leve ao forno para assar Algoritmo Textual Informal Refinado Modo de preparo: Bata a margarina, as gemas e o açúcar por 15 minutos Junte o leite, o coco e a farinha e continue batendo por mais 15 minutos Acrescente 20 g de fermento e, por último, às claras em neve Unte uma forma com manteiga e leve ao forno para assar por 30 minutos Atenção: Um algoritmo é “uma solução” e não “a solução” de um problema. Um problema pode ser resolvido por mais de um algoritmo! Tarefas que possuem “padrão de comportamento” podem ser descritas por um algoritmo. Ex: Qual será o próximo número das seqüências a) 0,1,4,9,16,25? b) 7,8,10,13,17? LÓGICA DE PROGRAMAÇÃO Lógica de Programação = É o encadeamento lógico de instruções para o desenvolvimento de programas. CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 12 PROGRAMA Programa = É a implementação das instruções (codificação+tradução+execução) de um algoritmo em uma linguagem de programação. INSTRUÇÃO Instrução = Informação que representa uma ação elementar que deve ser executada. Atenção O “;” (ponto-e-vírgula) indica o fim de uma instrução! RESUMINDO Algoritmo – sequência de etapas que visam atingir um objetivo específico. Por exemplo, resolver um determinado problema; Programa - conjunto de comandos específicos que traduzem para o computador o que um algoritmo determinou que deva ser realizado. Existe a necessidade da construção de modelos do mundo real, de forma que seja possível traduzir isso para a linguagem de computadores. Os principais problemas encontrados no desenvolvimento de algoritmos são: • Dificuldade na resolução de problemas; • Dificuldade na interpretação de enunciados; e • Dificuldade em abstrair e formalizar informações. Dessa forma, é necessário desenvolver essas habilidades, começando pela solução de problemas sem a necessidade do uso de ferramentas computacionais. Lógica – modo de raciocinar: As soluções dos problemas utilizam a lógica para serem criadas, ou seja, elas são ordenadas de uma forma que sejam possíveis de ser realizadas e de uma maneira que essa forma seja a mais adequada para o que se deseja obter (a ordenação do procedimento da solução segue uma lógica de raciocínio; a formalização dos procedimentos de resolução de problemas precisa ser refinada para aproximar-se do que será aplicado na prática: a lógica de programação); Lógica de programação – “uso correto das leis do pensamento, da ‘ordem da razão’ e de processos de raciocínio e simbolização formais na programação de computadores, objetivando racionalidade e o desenvolvimento de técnicas que CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 13 cooperem para a produção de soluções logicamente válidas e coerentes, que resolvam com qualidade os problemas que se deseja programar” (Forbellone; Eberspacher, 2000). POR QUE APRENDER ALGORITMOS? Para desenvolver o raciocínio lógico e conceber uma solução a um dado problema, independente de uma linguagem de programação. (Ex: Pascal, C e Java) Porque, a partir do algoritmo desenvolvido, fica mais fácil implementar o respectivo programa. Segundo grandes pesquisadores... “A noção de algoritmo é básica para toda a programação de computadores”. KNUTH KNUTH - Professor da Universidade de Stanford e autor da coleção “The art of computer programming”. “O conceito central da programação e da ciência da computação é o conceito de algoritmo”. WIRTH WIRTH - Professor da Universidade de Zurique, autor de diversos livros na área e responsável pela criação de linguagens de programação como ALGOL, PASCAL e MODULA -2. Estruturas básicas de um algoritmo: Seqüência – Início/Fim Define uma estrutura onde as instruções serão executadas na ordem que aparecem. Seleção – Se-Então/Senão Define uma estrutura condicional que, dada a sua avaliação (V ou F), determina qual “caminho” do algoritmo será executado. Repetição – Repita, Enquanto ou Para Define uma estrutura de iteração condicional (V ou F) ou contada (predefinida) de instruções. CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 14 Algoritmo para ligar de um telefone público – Seqüência: Início 1. Tirar o fone do gancho; Este algoritmo usa uma estrutura de sequência “Inicio/Fim” 2. Ouvir o sinal de linha; 3. Introduzir o cartão; 4. Teclar o número desejado; 5. Conversar; 6. Desligar; 7. Retirar o cartão; Fim. Algoritmo para ligar de um telefone público – Seleção Início 1. Tirar o fone do gancho; 2. Se ouvir o sinal de linha, então 2.1 Introduzir o cartão; Este algoritmo usa uma estrutura de decisão “Se-então/senão” 2.2 Teclar o número desejado; 2.3 Conversar; 2.4 Desligar; 2.5 Retirar o cartão; 1. Senão 3.1 Ir para o próximo telefone; Fim. Algoritmo para ligar de um telefone público – Repetição Início {o telefone precisa estar funcionando} 1. Repita 1. Tirar o fone do gancho; 2. Se ouvir o sinal de linha então Este algoritmo usa uma estrutura de repetição “Repita/Até” 2.1 Introduzir o cartão; 2.2 Teclar o número desejado; 2.3 Conversar; 2.4 Desligar; 2.5 Retirar o cartão; 1. Senão 3.1 Desligar; 4. Continua(S/N) 1. Até Continua=‘N’ Fim. CURSO: SISTEMASDE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 15 Algoritmo para ligar de um telefone público – Repetição E se o telefone chamado estiver com defeito? E se o telefone chamado estiver ocupado? E se acabarem os créditos do cartão telefônico? E se...? É normal que um algoritmo sofra melhorias sucessivas. (Técnica de refinamentos sucessivos) SISTEMA COMPUTACIONAL Hardware Sistema Computacional Software Peopleware Programação de Sistema Computacional A programação de um sistema computacional pode ser resumida em 3 passos básicos Arquitetura de Von Newman CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 16 Processamento Entrada Saída Dispositivo de Entrada Memória UCP Dispositivo de Saída Exemplo 1 – Exibir a média de dois números Arquitetura de Von Newman Processamento Entrada Saída Dispositivo de Entrada Dispositivo de Saída Memória UCP 6 , 8 (6 + 8) / 2 7 Exemplo 2 – Exibir se o aluno está aprovado ou reprovado Arquitetura de Von Newman Processament Entrada Saída Dispositivo de Entrada Dispositivo de Saída Memória UCP Ana, 5, 3 Se (5+3)/2>=7 aprovado Senão reprovado Ana, reprovado CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 17 Linguagem Assembly ( Mnem ô nica ) LOAD R1, val1 LOAD R2, val2 ADD R1, R2 STORE R1, val2 Linguagem de M á quina 0010 0001 1110 0010 0010 1111 0001 0001 0010 0011 0001 1111 Linguagem de Alto Ní vel val2 = val1+val2 Tipos de Linguagens de Programação 1 - Totalmente codificadas em binário (0´s e 1´s) 2 - Usa instruções simbólicas para representar os 0´s e 1´s 3 - Voltadas para facilitar o raciocínio humano Problema da Torre de Hanói - Edouard Lucas em 1883 Seja a seguinte situação: deve-se mover todos os discos do primeiro eixo para o terceiro mantendo-se a ordem original em cada movimento, pode-se mover apenas um disco um disco nunca poderá ser sobreposto por outro maior Alto Nível Baixo Nível CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 18 FORMAS DE REPRESENTAR UM ALGORITMO Algoritmos podem ser representados, dentre outras maneiras, por: PSEUDOCÓDIGO – Também chamado de PORTUGUÊS ESTRUTURADO DESCRIÇÃO NARRATIVA – Linguagem natural para especificar os passos de uma tarefa FLUXOGRAMA – Também chamado de DIAGRAMA DE BLOCOS, representação gráfica dos passos de uma tarefa. DIAGRAMA DE CHAPIN – Também chamado de DIAGRAMA DE NASSI- SHNEIDERMAN, diagrama com visão hierárquica e estruturada. Um algoritmo é “uma solução” e não “a solução” de um problema. Um problema pode ser resolvido por mais de um algoritmo! Exemplos de representação de um algoritmo Diagrama de Blocos CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 19 Exemplo: Algoritmo para converter uma temperatura em Fahrenheit para Celsius Descrição narrativa do algoritmo Fahrenheit-Celsius: solicite a temperatura em Fahrenheit; transforme a temperatura em Fahrenheit para Celsius; informe a temperatura em Celsius. Fluxograma (Diagrama de Módulos) Seus principais símbolos gráficos são: CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 20 Fluxograma do algoritmo Fahrenheit-Celsius Linguagem algorítmica (pseudo-código) A forma geral de um algoritmo em pseudo-código: Algoritmo <nome_do_algoritmo> [<declaração_de_variáveis>] Início <corpo_do_algoritmo> Fim. LINGUAGEM ALGORÍTMICA (PSEUDO-CÓDIGO) Onde: Algoritmo Indica o início da definição do algoritmo. <nome_do_algoritmo> Nome dado ao algoritmo para distingui-lo dos demais. [<declaração_de_variáveis>] Parte opcional onde são declaradas as variáveis usadas no algoritmo e, eventualmente, nos sub- algoritmos(partes deum algoritmo). CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 21 LINGUAGEM ALGORÍTMICA (PSEUDO-CÓDIGO) Onde: [<subalgoritmos>] Parte opcional onde são definidos os sub- algoritmos(quebra do algoritmo em partes:modularização). Início Palavra que delimita o início do corpo do algoritmo. <corpo_do_algoritmo> Conjunto de instruções do algoritmo. Fim Palavra que delimita o término do corpo do algoritmo. Pseudo-código do algoritmo Fahrenheit-Celsius programa Fahrenheit-Celsius var Real Fahrenheit, Celsius; Início Leia (Fahrenheit); Celsius ← 5 /9 * (Fahrenheit – 32); Escreva (Celsius); Fim CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 22 Tarefas que possuem “padrão de comportamento” podem ser descritas por um algoritmo. Ex: Qual será o próximo número da seqüência 0,1,4,9,16,25? PSEUDOCÓDIGO Início real NOTA1, NOTA2, MÉDIA; Leia (NOTA1, NOTA2); MÉDIA := (NOTA1 + NOTA2) / 2; SE MÉDIA >= 5 escreva ( “Aprovado” ); SENÃO escreva ( “Reprovado”); Fim CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 23 FLUXOGRAMA Vantagens Desvantagens Descrição Narrativa • O português é bastante conhecido por nós. • Imprecisão. • Pouca confiabilidade (a imprecisão acarreta a desconfiança). • Extensão (normalmente, escreve-se muito para dizer pouca coisa). Fluxograma • Padrão mundial. • Ferramenta bem conhecida. • Figuras dizem muito mais que palavras. • Complica-se à medida que o algoritmo cresce. • Pouca atenção aos dados, não oferecendo recursos para declará-los. Linguagem Algorítmica • Independência de linguagem de programação. • Usa o português como base. • Define-se melhor quais e como os dados vão estar estruturados. • Passagem quase imediata do algoritmo para uma linguagem de programação qualquer. • Exige a definição de uma linguagem não real para trabalho. • Não é padronizada. CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 24 TIPOS DE DADOS PRIMITIVOS • Numéricos – Inteiros: dados númericos positivos e negativos pertencentes ao conjuntode números inteiros, excluindo qualquer valor numérico fracionário. Ex. 10, 0, -3, etc; – Reais: dados númericos positivos e negativos pertencentes ao conjunto de números inteiros, incluindo qualquer valor numérico fracionário e inteiro. Ex. 10, 0, -34.435, etc; • Não-numéricos – Caracteres: seqüência de valores delimitados por aspas (“ “) formados por letras (de A até Z), números (0 até 9) e símbolos (%,@,$,...). Este tipo também é conhecido como alfanumérico, string, literal ou cadeia. Ex. “q”, “linguagem c++”; – Lógicos: dados que sugerem uma única opção entre duas possibilidades existentes: verdadeiro ou falso, sim ou não, 1(um) ou 0 (não). CONSTANTES • Tudo que é fixo, estável, inalterável, imutável, contínuo, invariável, de valor fixo; • As constantes não sofrem alterações ao longo do programa. Exs.: pi = 3.14159265 resultado = “aprovado” situacao = .falso. VARIÁVEIS • Variável é tudo aquilo que é sujeito a variações, que é incerto, instável ou inconstante; • As informações variáveis são armazenadas na memória do computador; • A memória pode ser vista como um conjunto de gavetas. Para utilizar uma gaveta é preciso identificá-la com uma etiqueta. A identificação é feita pelo nome da variável; • Cada variável guarda uma informação de cada vez, sendo sempre do mesmo tipo. • Todo valor atribuído a uma variável será feito por meio do símbolo de atribuição: em algoritmo: ← (uma seta) em C++: = (igual) em Pascal: := (dois pontos igual) CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 25 Ex. de declaração de variável: real nota; Ex. de atribuição em uma variável: nota = 5.7; REGRAS DE DEFINIÇÃO DE IDENTIFICADORES • Constantes e variáveis são identificadores. As regras de definição de nomes devem ser observadas: – O primeiro caractere do identificador deve ser sempre alfabético. Os demais podem ser alfanuméricos; – Não podem ser utilizados espaços em branco para formação de identificadores com nomes compostos. Os nomes deverão ser separados por sublinhado (_); – Não podem ser utilizados caracteres especiais; – Não podem ser utilizadas palavras reservadas; – Os nomes devem refletir o conteúdo do identificador; • Exs. Válidos: nome, nome_usuario, fone1; • Exs. Inválidos: 1X, fone#, inteiro, nome usuario; OPERADORES ARITMÉTICOS: são as operações aritméticas básicas Símbolo Significado / Divisão * Multiplicação + Adição - Subtração % ou mod Resto da divisão inteira div Quociente da divisão de inteiros Soma - Na matemática, representada pelo sinal + e, em expressões em termos computacionais, pelo mesmo sinal. A + B Expressão que simboliza a soma do valor de duas variáveis. 2 + 3 Nesta expressão, o valor retornado é a soma dos valores dados, isto é, 5. Subtração - Na matemática, representada pelo sinal - e, em expressões em termos computacionais, pelo mesmo sinal. A - B Expressão que simboliza a subtração do valor de duas variáveis. 3 - 2 Nesta expressão, o valor retornado é o resto, isto é, 1. CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 26 Multiplicação - Na matemática, representada pelos sinais x ou . e, em expressões em termos computacionais, pelo sinal * . B * D Expressão que simboliza a multiplicação do valor de duas variáveis. 3 * 2 Nesta expressão, o valor retornado é o produto dos valores dados, isto é, 6. Divisão - Na matemática, representada pelo sinal ÷ e, em expressões computacionais, pelo sinal /. A / B Expressão que simboliza a divisão do valor de duas variáveis. 6 / 2 Nesta expressão, o valor retornado é a divisão dos valores dados, que, no caso, será equivalente a 3. 5 / 2 Nesta expressão, o valor retornado é a divisão dos valores dados, que no caso será equivalente a 2,5. % - Resto (em outras linguagens, conhecido como mod). É usado em expressões em termos computacionais quando se deseja encontrar o resto da divisão de dois números inteiros. K % Y Expressão que simboliza a intenção de achar o valor do resto da divisão do valor da variável K pelo valor da variável Y. 5 % 2 Nesta expressão, o valor retornado é o resto da divisão do primeiro pelo segundo número que, no caso, será equivalente a 1. 7 % 4 Nesta expressão, o valor retornado é o resto da divisão do primeiro pelo segundo número que, no caso, será equivalente a 3. Observação: Normalmente, as linguagens de programação assumem que a divisão é uma operação que retorna um valor REAL. Atenção especial, portanto, para variáveis que receberão o resultado de uma divisão. Em algumas linguagens, quando se divide dois números inteiros, o resultado será um inteiro. Operador Precedência ( ) Calculados em primeiro lugar da esq. p/ dir. *, / ou % Calculados em segundo lugar da esq. p/ dir. + ou - Calculados por último da esq. p/ dir. CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 27 OPERADORES RELACIONAIS: são operadores binários (de mesma prioridade) que somente retornam os valores lógicos V ou F. Símbolo Significado == ou = Igual a > Maior que < Menor que >= Maior ou igual a <= Menor ou igual a != ou <> Diferente Como exemplos de Expressões relacionais temos: A != B X == 1 7 > 6 8 < 9 1 <= Y 4 >= W A diferente de B X é igual a 1 7 maior que 6 8 menor que 9 1 é menor ou igual ao valor da variável Y 4 é maior ou igual ao valor da variável W Operador Precedência () Calculados em primeiro lugar da esq. p/ dir. *, / ou % Calculados em segundo lugar da esq. p/ dir. + ou - Calculados em terceiro lugar da esq. p/ dir. <, <=, > ou >= Calculados em quarto lugar da esq. p/ dir. == ou != Calculados em quinto lugar da esq. p/ dir. = Calculados em último lugar da dir.p/ esq. Estes somente são usados para efetuar comparações, as quais só podem ser feitas entre dados do mesmo tipo. O resultado de uma comparação é sempre um valor lógico. CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 28 OPERADORES LÓGICOS OU BOOLEANOS: são usados para combinar expressões relacionais e lógicas. Também retornam como resultado valores lógicos V ou F. Op. Lóg. de Disjunção .e. Cond.1 Cond.2 Resultado F F F V F F F V F V V V Op. Lóg. de Conjunção .ou. Cond.1 Cond.2 Resultado F F F V F V F V V V V V Op. Lóg. de Negação .não. Condição Resultado V F F V ORDEM DE PRIORIDADES Operador Prioridade Aritméticos 1 Relacional 2 Lógico 3
Compartilhar