Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica de programação: Tópicos preliminares Emanuele Santos UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Objetivos • Apresentar os tipos básicos de dados a serem adotados • Definir constantes e variáveis, explicando sua utilização • Explicar as expressões aritméticas e entender a prioridade de operadores 2 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Dados e Informações • Dado -Representação física de um evento -Elementos conhecidos de um problema • Informação -O significado de um dado -Um conjunto estruturado de dados, transmitindo conhecimento 3 Dados Informação Conhecimento Sabedoria Ver: http://nepo.com.br/2009/01/15/a-diferenca-entre-dado-informacao-conhecimento-e-sabedoria/ UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Tipos primitivos • 4 tipos básicos -Inteiro -Real -Literal ou Caractere -Lógico 4 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Tipos primitivos: Inteiro • Toda e qualquer informação numérica que pertença ao conjunto dos números inteiros (negativa, nula, positiva) • Exemplos -“O Artista” recebeu 5 Oscars. -Paula tem 35 anos. -A turma de Fund. de Prog. possui 41 alunos 5 dado UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Tipos primitivos: Real • Toda e qualquer informação numérica que pertença ao conjunto dos números reais (negativa, nula, positiva) • Exemplos -A carga pesa 5.5 toneladas. -Raul tem 1.85 metro de altura. -Em Fortaleza, faz 32.7 graus Celsius. 6 Atenção para o delimitador de casas decimais: em programas de computador se utiliza a notação inglesa (.) UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Tipos primitivos: Literal ou Caractere • Toda e qualquer informação constituída de caracteres alfanuméricos (dígitos, letras e símbolos) • Exemplos -O nome do presidente dos EUA é Barack Obama. -Havia um aviso na porta da secretaria: “Matrículas encerram-se no dia 02 de março”. 7 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Tipos primitivos: Lógico • Toda e qualquer informação que pode assumir apenas duas situações (biestável). • Exemplos -A porta pode estar aberta ou fechada. -A lâmpada pode estar acesa ou apagada. -A expressão pode ser verdadeira ou falsa. 8 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Exercícios • Determine qual é o tipo de informação presente nas sentenças a seguir: a) A placa “Pare!” tinha 2 furos de bala. b) Josefina subiu 5 degraus para pegar uma maçã boa. c) Alberta levou 1.5 horas para chegar à universidade. d) João pintou em sua camisa: “Preserve o meio ambiente”, e ficou devendo R$20,59 ao vendedor de tintas”. e) Usain Bolt bateu o segundo recorde mundial por ter alcançado a marca de 9.58 segundos nos 100 metros rasos. 9 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Constantes • Dados que não sofrem alterações ao longo do tempo • Seu valor é constante -desde o início até o fim da execução do algoritmo -para execuções diferentes no tempo • Notação: -literais serão delimitados por aspas duplas (“ ”) ou simples (‘ ’) -tipos lógicos poderão assumir valores verdadeiro (V) ou falso (F). Em Python: True ou False • Exemplos • 5, “Não fume”, -0.678, V 10 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Variáveis • Um algoritmo e, posteriormente, um programa, recebem dados, que precisam ser armazenados no computador para serem utilizados no processamento • Armazenamento feito na memória • Um dado é classificado como variável quando tem a possibilidade de ser alterado em algum instante no decorrer do tempo, ou seja, durante a execução do algoritmo em que é utilizado • Exemplo -Cotação do dólar, o peso de uma pessoa, o índice da inflação 11 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Constantes x Variáveis • Algoritmo para calcular o valor da área de um círculo -Usaríamos a fórmula πr2 • π é constante = 3.1416... • r é o raio e depende da circunferência; logo é variável • Como seria o algoritmo? 12 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Exercícios • Dados os algoritmos das aulas passadas, identifique as constantes e variáveis -algoritmo para multiplicar dois números -algoritmo para dividir dois números -algoritmo para converter a temperatura -algoritmo para calcular a média aritmética de duas notas 13 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Formação de Identificadores • Os identificadores são os nomes das variáveis, dos programas, das constantes, das rotinas, das unidades, etc. • Regras básicas para a formação de identificadores são: -Os caracteres que podem ser utilizados: • números, letras maiúsculas e minúsculas, o caractere underscore _ -O primeiro caractere é letra ou _ -Não são permitidos espaços em branco e caracteres especiais (@, $, +, -, %, !) -Não pode usar palavras reservadas (keywords) 14 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Formação de Identificadores • Exemplos de identificadores válidos A a nota NOTA X5 nota_1 _nota tempo 15 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Formação de identificadores em Python 16 http://docs.python.org/reference/lexical_analysis.html UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Formação de identificadores em Python • A versão 3 de Python já aceita caracteres acentuados • Mas como a maioria das linguagens ainda não aceita, então recomenda-se não utilizá-los 17 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Formação de Identificadores • Por que os identificadores abaixo são inválidos? 5b e 12 x-y nota/2 A:B and while 18 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Declaração de Variáveis • Variáveis são armazenadas na memória • Analogia entre variável e as gavetas de um armário -gavetas: variáveis -objetos (que podem ser substituídos): dados -gavetas precisam ser identificadas com rótulos ou etiquetas: identificadores -cada variável pode guardar apenas um dado de cada vez • As linguagens Java, C/C++ e Pascal exigem que todas as variáveis sejam declaradas com um tipo antes de serem usadas 19 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Declaração de Variáveis • Em Python é necessário apenas declarar a variável e o tipo dela será de acordo com o tipo de dado que ela armazena. • Exemplos de declaração de variáveis: - Em C/C++ e Java: int idade; -Em Pascal: VAR idade: INTEGER; -Em Python: idade = 19 20 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Declaraçãode variáveis • Em pseudocódigo ou portugol 21 inteiro: idade; caracter: Nome, Data; real: peso; lógico: resposta; Disciplina: Prog. Comp. Engenharia. Professora: Emanuele Santos. Período: 2012.1 Exercícios 22 Forbellone, pg 18 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Expressões Aritméticas • Operadores aritméticos • Operandos são constantes ou variáveis do tipo numérico (inteiro ou real) 23 Operador Função Exemplo + Adição 2+3, X+Y - Subtração 4-2, N-M * Multiplicação 3*4, A*B / Divisão 10/2, X1/X2 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Expressões aritméticas • Operações de radiciação e potenciação -x**y = x elevado a y • Exemplo: 2**3 -sqrt(x) = raiz quadrada de x • Exemplo: sqrt(9) 24 Para usar sqrt em Python: # é preciso importar a biblioteca math >>> import math >>> math.sqrt(9) 3.0 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Expressões aritméticas • Resto da divisão e quociente da divisão inteira 25 Operador Função Exemplo % Resto da divisão inteira 9 % 4 => 1Resto da divisão inteira 27 % 5 => 2 // Quociente da divisão inteira 9 // 4 => 2Quociente da divisão inteira 27 // 5 => 5 >>> 9 % 4 1 >>> 9 / 4 2.25 >>> 9 // 4 2 No shell do python: UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Prioridades • Precedência entre operadores aritméticos 26 Prioridade Operadores 1a parênteses mais internos 2a ** sqrt 3a * / // % 4a + - Em caso de empate (operadores de mesma prioridade), resolve-se da esquerda para a direita UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Expressões aritméticas • Exemplos a) 5 + 9 + 7 + 8/4 5 + 9 + 7 + 2 23 b) 1 - 4 * 3/6 - 3**2 1 - 4 * 3/6 - 9 1 - 12/6 - 9 1 - 2 - 9 -10 27 UFC - Universidade Federal do Ceará Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2 Exercícios 28 Forbellone, pg 20 • Supondo que A, B e C são variáveis de tipo inteiro, com valores iguais a 5, 10 e -8, respectivamente, e uma variável real D, com valor 1.5, quais os resultados das expressões aritméticas a seguir: -a) 2 * A % 3 - C -b) sqrt(-2*C) // 4 -c) ((20 // 3) // 3) + 8**2/2 -d) (30 % 4 * 3 ** 3) * -1 -e) -C**2 + (D * 10)/A -f) sqrt(A**(B/A)) + C * D
Compartilhar