A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros.

Apresentações semelhantes


Apresentação em tema: "Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros."— Transcrição da apresentação:

1 Algoritmos Tipos básicos

2 Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros

3 Tipos básicos Inteiros –Valores sem parte decimal –Exemplos 10 7 – Reais –Valores com parte decimal, mesmo que nula –Exemplos 1,75 3,14 -8,5 0,05 3,0

4 Tipos básicos Notação científica –Expressão com potências de 10 –Exemplo 4, é escrito 4,32E5 4,8877E-40, ,432E-2-0, ,07E30 1, E-100, ,01E Inteiros x Reais O valor é considerado inteiro, desde que o valor expresso em notação científica não contenha parte decimal se escrito por extenso Real Inteiro Real Inteiro

5 Tipos básicos Endereçamento –Divisão da memória em unidades básicas –Cada posição possui um endereço Memória Posições (unidades) e e + 1 e + 2 e + 3 e + 4 Endereços

6 Tipos básicos Armazenamento de dados em memória –Representação da informação Uso dos bits, agrupados em bytes, para representar Uso das posições de memória para armazenar as informações representadas

7 Tipos básicos Inteiro (exemplo) Uso de 1 byte (8 bits) Representação binária 8 bits = 256 combinações Valores: 0 a 255 ou a Bases numéricas

8

9

10 Tipos básicos Memória –A interpretação dos bits depende: Do número de posições de memória que são usadas para representar a informação Da convenção usada para guardar a informação –Exemplo: inteiros de 1 byte com sinal Valores: -128 a 127 O primeiro bit indica se é positivo ou negativo

11 Tipos básicos Escolha da representação x Interpretação Memória e e + 1 e + 2 e + 3 e bytes sem sinal 1 byte sem sinal 1 byte com sinal 4 bytes com sinal

12 Tipos básicos Outros exemplos de representação –Inteiros de 2 bytes com sinal Intervalo: a O primeiro bit indica o sinal; os demais 15 bits indicam o valor –Números reais Padrão de 4 bytes (32 bits) Uso dos bits –1 bit para sinal –8 bits para o expoente –23 bits para a mantissa Sinal (1) Expoente (8) Mantissa (23) Sinal Mantissa 2 Expoente

13 Tipos básicos Literais –Usados para representar valores textuais Incluem letras, dígitos e símbolos –Notação Uso de aspas duplas para indicar o tipo Joaquim Xavier Digite seu nome: Qualquer coisa: % $ , ? ! 123,7 bbbbbb / / / / / // / / / / / O símbolo b indica um espaço em branco /

14 Tipos básicos Lógicos –Valores válidos verdadeiro falso

15 Tipos básicos Ponteiros –Tudo no algoritmo é representado por coisas que são armazenadas em memória Cada objeto tem seu endereço –Ponteiros indicam endereços –Ponteiros são importantes para Alocação dinâmica de memória Estruturas avançadas

16 Tipos básicos

17 memória Vila dos inteiros Vila dos reais Vila dos literais Vila dos ponteiros Ponteiros também estão na memória

18 Algoritmos Expressões

19 Todas as expressões são lineares

20 Expressões

21 Aritméticas –Manipulam valores numéricos –Operadores ( ) – div mod * / + – + – Precedências iguais Avaliação da esquerda para a direita Parênteses Quebra da ordem de precedência normal unário binário

22 Expressões Aritméticas –Exercício: transformar a notação matemática em expressões algorítmicas a / (b + c) ((a + b) / (c – d) + e) / (f / g – h)

23 Expressões Aritméticas –Exercício: transformar a notação matemática em expressões algorítmicas a / b * c a / b / (c / d) a / (b * c)

24 Expressões Aritméticas –Exercício: transformar a notação matemática em expressões algorítmicas a * b * c / (d * (e – f) / (g * h)) + i * j – k a * –b / (c * d)

25 Expressões Aritméticas –Exercício: transformar a notação matemática em expressões algorítmicas a + b * raiz(c) (–a – b * c * d) / (e * f) (–a + raiz(b – c * d)) / (e * f)

26 Expressões Funções pré-existentes sen(r), cos(r), tan(r)real Funções trigonométricas, com parâmetros em radianos asen(r), acos(r), atan(r) real Funções trigonométicas inversas, retornando o valor do arco em radianos ln(r)real Logaritmo neperiano (base e) log(r)real Logaritmo base 10 exp(r)real e elevado à potência r pot(v, r)real/inteiro, real/inteiro inteiro se o resultado não tiver parte decimal Potência v r sinal(v)real/inteirointeiro Retorna 1 se o valor for positivo ou –1 se for negativo; zero se for nulo

27 Expressões Funções pré-existentes abs(v)real/inteiro tipo do primeiro argumento Retorna o valor absoluto (sem sinal) do argumento, mantendo o tipo especificado no parâmetro trunca(r) ou int(r)realinteiro Retorna somente a parte inteira do argumento passado frac(r)real Retorna somente a parte fracionária do argumento arred(r)realinteiro Retorna o inteiro mais próximo do varlor real passado resto(r, i)real, inteirointeiro Retorna o resto da divisão inteira de r por i quoc(r, i)real, inteirointeiro Retorna o quociente da divisão inteira de r por i

28 Expressões Aritméticas –Exercício: transformar a notação matemática em expressões algorítmicas a + abs((b – c) / raiz(f / g)) sen(a + b) / cos(c) + ln(d / (e * f))

29 Expressões Operadores inteiros div e mod –div: divisão inteira –mod: resto da divisão inteira 10 div 52 8 div 32 5 div div 45 3 * 9 div 2 ? 6 mod 30 7 mod mod mod mod 3 ?

30 Expressões Mistura de reais e inteiros –Regra da promoção Inteiro op inteiro inteiro Inteiro op real real Real op inteiro real Real op real real Exceção –Inteiro / inteiro real

31 Expressões Literais –Operador único: + Concatenação abc + def abcdef abb + cd ab cd b + a ba Rua XV +, 221 Rua XV, 221 ab + cd + ef abcdef /

32 Expressões Funções pré-existentes compr(s)literalinteiro Retorna o comprimento da cadeia de caracteres, incluindo os espaços pos(s1, s2)literal, literal inteiro Retorna a primeira posição onde a cadeia s1 ocorre na cadeia s2; Retorna 0 se não ocorrer nenhuma vez sub(s, n1, n2)literal, inteiro, inteiro literal Retorna a sub-cadeia de s, começando na posição n1 e comprimento total n2; primeira posição é 1 val(s)literal tipo equivalente ao valor numérico representado Retorna o valor numérico de uma cadeia de caracteres que contém um número válido; o tipo resultante depende o valor representado na cadeia cadeia(v)real/inteiroliteral Resulta em uma cadeia de caracteres equivalente ao valor numérico do parâmetro; assume-se a representação sem potência de 10

33 Expressões Literais prog + amação programação compr(tipos) 5 (inteiro) sub(algoritmos, 4, 3) ori Mistas val(443) 443 (inteiro) val(123,84) 123,84 (real) val(2e5) (inteiro) val(1,2345e2) 123,45 (real) pos(al, valores) 2 cadeia(10) 10 cadeia(3 * 7 + 1) 22 cadeia(7 / 2) 3,5 cadeia(1 / 3) 0,33333 (n o arbitrário de casas)

34 Expressões Relacionais –Estabelecem a relação entre valores Os tipos devem ser compatíveis O resultado é um valor lógico –Operadores = Precedência Todos os operadores aritméticos têm Precedência sobre os operadores relacionais

35 Expressões Relacionais –Exemplos 10 = 10verdadeiro 8 = 5 + 2falso 10 mod 2 = 1falso * 7 21verdadeiro 18 > 3 * 7falso < 2falso verdadeiro variáveis = variáveisverdadeiro tipos + dados = tipos dadosfalso abc > abbverdadeiro 123 > 12verdadeiro

36 Expressões Lógicas –Operam sobre valores lógicos –Resultam em um valor lógico Operadores não e ou + – Precedência Todos os operadores relacionais têm precedência sobre os operadores lógicos

37 Expressões Operadores lógicos: tabelas verdade não falsoverdadeiro não verdadeirofalso falso ou falsofalso falso ou verdadeiroverdadeiro verdadeiro ou falsoverdadeiro verdadeiro ou verdadeiroverdadeiro falso e falsofalso falso e verdadeirofalso verdadeiro e falsofalso verdadeiro e verdadeiroverdadeiro não ou e

38 Expressões Dê o resultado das seguintes expressões 14,0 9 falso falso verdadeiro falso verdadeiro verdadeiro verdadeiro falso * 4 / 2 3 * 7 div 2 mod 10 4 / 2 / 2 > 1 leopardo < guepardo verdadeiro ou verdadeiro e falso verdadeiro e falso ou verdadeiro e falso verdadeiro ou falso e falso ou verdadeiro (verdadeiro ou falso) e falso ou verdadeiro 8 > 3 e 9 = ou 12 mod 6 > e zebra 4

39 Expressões Observação sobre expressões relacionais 8 < ??? verdadeiro 43 8 < 21 e verdadeiro e verdadeiro verdadeiro

40 Algoritmos Variáveis Entrada e saída Atribuição

41 Variáveis O que são –Áreas da memória que são utilizadas para guardar valores Como funcionam –Possuem um nome (identificador) Referências ao identificador indicam referência ao valor armazenado –Possuem um tipo associado Os tipos são importantes para indicar como cada variável pode ser armazenada

42 Formalização do algoritmo Algoritmo nomeAlgoritmo { Descrição do que o algoritmo faz } { Definições necessárias } Início { Comandos que descrevem passo a passo as etapas a serem cumpridas para resolver o problema } Fim

43 Formalização do algoritmo Exemplo algoritmo quedaLivre { Calcula a velocidade de uma partícula ao atingir o solo após ser largada do repouso a uma dada altura } declare altura: real início leia (altura) escreva (4,43 * raiz(altura)) fim

44 Variáveis Declaração declare lista-identificadores: tipo declare velocidade, altura: real declare idade: inteiro Lista-identificadores: lista de nomes, separados por vírgulas declare nome: literal declare salário, saldo: real nome: literal temFilhos: lógico idade: inteiro

45 Variáveis declare salário, saldo: real nome: literal temFilhos: lógico idade: inteiro Memória salário (real) saldo (real) nome (literal) temFilhos (lógico) idade (inteiro)

46 Entrada e saída Interface com o mundo externo leia(lista-de-identificadores) escreva(lista-de-expressões) Faz a transferência entre de dados de fora do computador para as variáveis (i.e., para a memória) Faz a transferência entre de dados das variáveis (i.e., da memória) para fora do computador

47 Entrada e saída Comando leia –Transfere dados para dentro do computador –Origem dos dados Teclado, modem, mouse (coordenadas e botões), disco rígido, CD, webcam, sensores (temperatura, pressão, movimento), interface USB etc. Comando escreva –Transfere dados para fora do computador –Destino dos dados Monitor de vídeo, impressora, modem, motores (acionamento automático), CD, disco rígido, interface USB etc.

48 Entrada e saída Exemplo 1 algoritmo exemploES { Apenas um exemplo de entrada e saída } declare nome: literal salário: real idade: inteiro início leia(nome) escreva(nome) leia(idade, salário) escreva(Idade =, idade) escreva(Salário =, salário) fim nome idade salário Jurandir Jurandir Jurandir , ,0 Idade =18 Salário =1200

49 Entrada e saída Exemplo 2 algoritmo exemploES { Apenas um exemplo de entrada e saída } declare idade, ano: inteiro início leia(ano, idade) escreva(Nascimento:, ano – idade) leia(idade) escreva(Outro ano =, ano - idade) fim idade ano Nascimento: Outro ano:

50 Variáveis O que tem em uma variável antes da leitura? a)nada b)zero c)alguma coisa que eu ignoro d)n.d.a. algoritmo conteúdo { exemplo de conteúdo de variáveis } declare idade: inteiro nome: literal início escreva(idade) escreva(nome) escreva(compr(nome)) { nº de caract } fim Uma variável somente declarada: - Tem conteúdo lixo - Não foi iniciada É considerado erro tal utilização

51 Atribuição Alocação explícita de valor a variáveis Identificador expressão Identificador é o nome de uma variável Expressão resulta em um valor do mesmo tipo que a variável em questão

52 Atribuição Exemplo algoritmo horasMinutosSegundos { Dada uma quantidade de segundos, escreve o número de horas, minutos e segundos equivalente } declare totalSegundos, horas, minutos, segundos: inteiro início leia(totalSegundos) horas totalSegundos div 3600 minutos (totalSegundos – 3600 * horas) div 60 segundos totalSegundos mod 60 escreva(horas, minutos, segundos) fim

53 Constantes simbólicas algoritmo quedaLivre { Calcula a velocidade de uma partícula ao atingir o solo após ser largada do repouso a uma dada altura } constante aceleracao: real = 10,0 { gravidade } declare altura, velocidade: real início leia(altura) velocidade raiz(2 * altura * aceleracao) escreva(velocidade) fim 10,0 ms -2 (Terra, arredondado) 9,80 ms -2 (Terra, mais preciso) 1,67 ms -2 (Lua) 273,42 ms -2 (Sol)

54 Algoritmos Exercício Informar o índice de massa corporal (IMC) de uma pessoa, sabendo-se que é calculada como a razão entre sua massa e o quadrado de sua altura;

55 Algoritmos Exercício Informar a área de um trapézio, sabendo-se que é calculada por: (b + B) * h / 2

56 Algoritmos Exercício Ler os coeficientes de uma equação de segundo grau e calcular o valor de y para um ponto x informado pelo usuário: y = a.x 2 + b.x + c

57 Algoritmos Exercício Sabendo-se que a relação entre vértices, arestas e faces de um objeto geométrico é dada pela fórmula: vértices + faces = arestas + 2 calcule o número de vértices de um cubo (6 faces e 12 arestas)


Carregar ppt "Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros."

Apresentações semelhantes


Anúncios Google