Linguagem de Programação I Tiago Eugenio de Melo [email protected] http://www.tiagodemelo.info http://www.tiagodemelo.info Sumário Conceitos preliminares Introdução ao VisualG Tipos de dados Variáveis Constantes Operações http://www.tiagodemelo.info 2 Conceitos preliminares Lógica de programação Sequência lógica Técnica de encadear pensamentos para atingir um determinado objetivo. Passos executados até atingir um objetivo ou a solução de um problema. Instruções Conjunto de regras ou normas definidas para realização de algo. http://www.tiagodemelo.info 3 Conceitos preliminares Algoritmo É uma sequência finita de passos que levam a execução de uma tarefa. Programa São algoritmos escritos em uma linguagem de programação (C, Java, Pascal) e que são interpretados e executados por uma máquina. http://www.tiagodemelo.info 4 Conceitos preliminares Algoritmo Conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema específico. Sequência ordenada e não ambígua de passos que levam à solução de um determinado problema. Processo de cálculo, ou resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado ou da solução do problema. http://www.tiagodemelo.info 5 Conceitos preliminares Características dos algoritmos São finitos. Não devem ser ambíguos. Capacidade de receber dados de entrada do mundo exterior. Podem gerar informações de saída para o mundo exterior. http://www.tiagodemelo.info 6 Conceitos preliminares Formas de representação Descrição narrativa http://www.tiagodemelo.info Faz uso do idioma para descrever algoritmos. Exemplo: receita de bolo. 7 Conceitos preliminares Formas de representação Descrição narrativa Vantagens: Desvantagens: http://www.tiagodemelo.info O idioma é conhecido por todos. Imprecisão. Pouca confiabilidade (imprecisão). Extensão desnecessária. 8 Conceitos preliminares Formas de representação Fluxograma http://www.tiagodemelo.info Utilização de símbolos para representar algoritmos. 9 Conceitos preliminares Formas de representação Fluxograma http://www.tiagodemelo.info 10 Conceitos preliminares Formas de representação Fluxograma Vantagens Desvantagens http://www.tiagodemelo.info Usa mais ferramentas conhecidas. Figuras dizem mais que palavras. Padrão mundial. Pouca atenção aos dados. Complica-se à medida que o algoritmo cresce. 11 Conceitos preliminares Formas de representação Linguagem algorítmica http://www.tiagodemelo.info Consiste na definição de uma pseudolinguagem de programação, cujos comandos são em português, para representar algoritmos. Exemplo: 12 Conceitos preliminares Formas de representação Linguagem algorítmica Vantagens Desvantagens http://www.tiagodemelo.info Independência física da solução. Usa o português como base. Passagem quase imediata do algoritmo para a linguagem de programação. Exige a definição de uma linguagem não real para o trabalho. Não padronizado. 13 Conceitos preliminares Processo de execução http://www.tiagodemelo.info 14 Conceitos preliminares Arquitetura de um computador padrão http://www.tiagodemelo.info 15 Introdução ao VisualG Formato básico http://www.tiagodemelo.info 16 Tipo de dados Devemos informar ao computador qual o tipo de dado que vamos armazenar e/ou manipular. Definem um conjunto de operações para a manipulação dos dados. As células de memória do computador armazenam os dados durante a execução do programa. Determina quantas células de memória serão necessárias para armazenar o dado. http://www.tiagodemelo.info 17 Tipos de dados Os dados pode ser: Simples (numérico, caracter e lógico). Tipos de Dados Simples Numérico Inteiro Caracter Lógico Real Estruturados (vetor, registro etc). http://www.tiagodemelo.info 18 Tipo de dados Inteiro Real Define variáveis numéricas do tipo real, ou seja, com casas decimais. Caracter Define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais. Define variáveis do tipo string, ou seja, uma cadeia de caracteres. Lógico Define variáveis do tipo booleano, ou seja, com valor FALSO ou VERDADEIRO. http://www.tiagodemelo.info 19 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 certo valor é necessário saber seu tipo e o endereço do byte inicial ocupado na memória. De forma geral, podemos dizer que uma célula de memória está associada a um identificador. http://www.tiagodemelo.info 20 Variáveis O termo variável é normalmente utilizado como sinônimo de identificador. Variável é uma entidade que guarda valores que podem ser alterados no decorrer de um algoritmo. Embora uma variável possa assumir valores diferentes, ela só pode armazenar um valor a cada instante. Uma variável não pode armazenar um valor de tipo diferente daquele para o qual foi criada. http://www.tiagodemelo.info 21 Variáveis Para indicar o identificador e o tipo de uma variável, existe um lugar específico, tanto nos algoritmos como nos programas. As variáveis costumam ser declaradas no início. http://www.tiagodemelo.info 22 Variáveis Características de uma variável 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) Célula de memória http://www.tiagodemelo.info 23 Variáveis no VisualG Os nomes das variáveis devem começar por uma letra e depois conter letras, números ou underline, até um limite de 30 caracteres. As variáveis podem ser simples ou estruturadas. Não pode haver duas variáveis com o mesmo nome. http://www.tiagodemelo.info 24 Variáveis no VisualG Sintaxe A seção de declaração de variáveis começa com a palavra-chave var. <lista-de-variáveis> : <tipo-de-dado> Na <lista-de-variáveis>, os nomes das variáveis estão separados por vírgulas. Exemplo: http://www.tiagodemelo.info 25 Variáveis no VisualG O VisualG, diferentemente da maioria das linguagens de programação, não é case sensitive. Portanto, pode-se afirmar que o VisualG não faz diferença entre palavras maiúsculas e minúsculas. As variáveis idade, Idade ou IDADE representariam o mesmo conteúdo em um algoritmo no VisualG. Essa regra também se aplica aos demais comandos. http://www.tiagodemelo.info 26 Constantes Constante é uma entidade que guarda valores e que não podem ser alterados durante a execução de um algoritmo. Possuem um nome único para sua identificação. Exemplo: pi. O VisualG não dá suporte ao conceito de constantes. http://www.tiagodemelo.info 27 Atribuição no VisualG O VisualG possui três tipos de domínios: Numéricos: podem ser inteiros ou reais. O separador dos reais é o ponto. Caracteres: qualquer cadeia de caracteres delimitada por aspas duplas. Lógicos: admitem os valores FALSO ou VERDADEIRO. A atribuição é feita com o operador ← Do lado esquerdo fica a variável e do lado direito o valor. http://www.tiagodemelo.info 28 Atribuição As variáveis podem ter seus valores modificados durante a execução de um algoritmo. Este processo é chamado de atribuição. http://www.tiagodemelo.info 29 Atribuição no VisualG Exemplo: http://www.tiagodemelo.info 30 Entrada e saída de dados Um algoritmo tem três passos principais: Receber dados. Processar dados. Exibir dados. Entrada http://www.tiagodemelo.info ALGORITMO Saída 31 Saída de dados no VisualG Escreve no dispositivo de saída padrão o conteúdo de cada uma das expressões que compõe a lista <lista-de-expressões>. As expressões dentro desta lista devem estar separadas por vírgulas; depois de serem avaliadas, seus resultados são impressos na ordem indicada. Comando de saída com quebra de linha: http://www.tiagodemelo.info 32 Saída de dados no VisualG Exemplo: http://www.tiagodemelo.info 33 Entrada de dados no VisualG Recebe valores digitados pelos usuário, atribuindo-os às variáveis cujos nomes estão em <lista-de-variáveis>. Exemplo: http://www.tiagodemelo.info 34 Operadores e expressões Operadores designam uma operação exercida sobre operandos (variáveis ou constantes) para obter um valor. Expressões correspondem ao agrupamento de vários operadores e seus respectivos operandos. Existem três tipos de operações: Aritméticas. Relacionais. Lógicas. http://www.tiagodemelo.info 35 Operadores aritméticos Operadores operadores unários (-) : inverte o sinal do operando operador de divisão inteira operadores aritméticos tradicionais módulo (resto da divisão) operador de potenciação http://www.tiagodemelo.info 36 Operador de caracteres Operador concatenação de caracteres “Porto” + “Alegre” = “Porto Alegre” http://www.tiagodemelo.info 37 Operadores relacionais Operadores = (igualdade) <> (diferente) > (maior) >= (maior ou igual) < (menor) <= (menor ou igual) http://www.tiagodemelo.info 38 Operadores lógicos Operadores nao: operador de negação. ou: verdadeiro quando um dos operandos lógicos for verdadeiro. e: verdadeiro quando seus dois operandos lógicos forem verdadeiros. xou: verdadeiro quando os seus dois operandos lógicos forem diferentes. http://www.tiagodemelo.info 39