algoritmos tipos básicos. conjunto básico de tipos pré- existentes –inteiros –reais...
TRANSCRIPT
![Page 1: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/1.jpg)
Algoritmos
Tipos básicos
![Page 2: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/2.jpg)
Tipos básicos
• Conjunto básico de tipos pré-existentes– Inteiros– Reais– Literais– Lógicos– Binários– Ponteiros
![Page 3: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/3.jpg)
Tipos básicos
• Inteiros– Valores sem parte decimal– Exemplos
10 7 –14 0 3
• Reais– Valores com parte decimal, mesmo que nula– Exemplos
1,75 3,14 -8,5 0,05 3,0
![Page 4: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/4.jpg)
Tipos básicos
• Notação científica– Expressão com potências de 10– Exemplo
4,32105 é escrito 4,32E5
4,8877E-4 0,00048877
-3,432E-2 -0,03432
1,07E30 1,071030
1E-10 0,0000000001
-1,01E10 -10100000000
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
Real
Inteiro
Real
Inteiro
![Page 5: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/5.jpg)
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
![Page 6: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/6.jpg)
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
![Page 7: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/7.jpg)
Tipos básicos
Inteiro(exemplo)
•Uso de 1 byte (8 bits)•Representação binária
•8 bits = 256 combinações•Valores: 0 a 255 ou000000002 a 111111112
Bases numéricas
![Page 8: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/8.jpg)
![Page 9: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/9.jpg)
![Page 10: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/10.jpg)
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
00000011 301111111 127
11111111 -110000000 -128
![Page 11: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/11.jpg)
Tipos básicos
• Escolha da representação x Interpretação
Memória
e
e + 1
e + 2
e + 3
e + 4
10001111
01100111
10011101
10011011
36.711
40.347
143103157155
-16103-30-28
-258.4
48.7
96
2 bytessem sinal
1 bytesem sinal
1 bytecom sinal
4 bytescom sinal
![Page 12: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/12.jpg)
Tipos básicos• Outros exemplos de representação
– Inteiros de 2 bytes com sinal• Intervalo: -32768 a 32767• 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 2Expoente
![Page 13: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/13.jpg)
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: % $ * @ 1 2 4 6 5 , ? !”
“123,7”
“bbbbbb”/ / / / / /
O símbolo b indicaum espaço em branco
/
![Page 14: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/14.jpg)
Tipos básicos
• Lógicos– Valores válidos
verdadeiro
falso
![Page 15: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/15.jpg)
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
![Page 16: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/16.jpg)
Tipos básicos
![Page 17: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/17.jpg)
Tipos básicosmemória
Vila dos inteiros
Vila dos reais
Vila dos literais
Vila dos ponteiros
Ponteiros também estão na memória
![Page 18: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/18.jpg)
Algoritmos
Expressões
![Page 19: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/19.jpg)
Expressões
Todas as expressões são lineares
b
ab
aba /
c
ba c
ba cba /)(
![Page 20: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/20.jpg)
Expressões
g
fe
dcab
gfedcba /)/)/(*(
![Page 21: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/21.jpg)
Expressões• Aritméticas
– Manipulam valores numéricos– Operadores
( )– div mod* /+ –
+
–Precedências iguais
Avaliação da esquerda paraa direita
ParêntesesQuebra da ordem deprecedência normal
unário
binário
![Page 22: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/22.jpg)
Expressões• Aritméticas
– Exercício: transformar a notação matemática em expressões algorítmicas
cb
a
hgf
edcba
a / (b + c)
((a + b) / (c – d) + e) / (f / g – h)
![Page 23: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/23.jpg)
Expressões• Aritméticas
– Exercício: transformar a notação matemática em expressões algorítmicas
bc
a
dc
ba
a / b * c
a / b / (c / d)
a / (b * c)
![Page 24: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/24.jpg)
Expressões• Aritméticas
– Exercício: transformar a notação matemática em expressões algorítmicas
cd
ba
kij
ghfe
d
abc
a * b * c / (d * (e – f) / (g * h)) + i * j – k
a * –b / (c * d)
![Page 25: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/25.jpg)
Expressões• Aritméticas
– Exercício: transformar a notação matemática em expressões algorítmicas
ef
bcda
cba a + b * raiz(c)
(–a – b * c * d) / (e * f)
ef
cdba (–a + raiz(b – c * d)) / (e * f)
![Page 26: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/26.jpg)
Expressões
• Funções pré-existentessen(r), cos(r), tan(r) real real Funções trigonométricas, com
parâmetros em radianos
asen(r), acos(r),atan(r)
real real Funções trigonométicas inversas, retornando o valor do arco em radianos
ln(r) real real Logaritmo neperiano (base e)
log(r) real real Logaritmo base 10
exp(r) real real e elevado à potência r
pot(v, r) real/inteiro, real/inteiro
inteiro se o resultado não
tiver parte decimal
Potência vr
sinal(v) real/inteiro inteiro Retorna 1 se o valor for positivo ou –1 se for negativo; zero se for nulo
![Page 27: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/27.jpg)
Expressões
• Funções pré-existentesabs(v) real/inteiro tipo do primeiro
argumentoRetorna o valor absoluto (sem sinal) do argumento, mantendo o tipo especificado no parâmetro
trunca(r) ou int(r) real inteiro Retorna somente a parte inteira do argumento passado
frac(r) real real Retorna somente a parte fracionária do argumento
arred(r) real inteiro Retorna o inteiro mais próximo do varlor real passado
resto(r, i) real, inteiro inteiro Retorna o resto da divisão inteira de r por i
quoc(r, i) real, inteiro inteiro Retorna o quociente da divisão inteira de r por i
![Page 28: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/28.jpg)
Expressões• Aritméticas
– Exercício: transformar a notação matemática em expressões algorítmicas
gf
cba
/
a + abs((b – c) / raiz(f / g))
ef
d
c
baln
cos
)sin(
sen(a + b) / cos(c) + ln(d / (e * f))
![Page 29: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/29.jpg)
Expressões
• Operadores inteiros div e mod– div: divisão inteira– mod: resto da divisão inteira
10 div 5 2
8 div 3 2
5 div 2 2
21 div 4 5
3 * 9 div 2 ?
6 mod 3 0
7 mod 3 1
2322 mod 2 0
2327 mod 2 1
19 mod 3 ?
![Page 30: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/30.jpg)
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
![Page 31: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/31.jpg)
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”
/
![Page 32: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/32.jpg)
Expressões• Funções pré-existentes
compr(s) literal inteiro 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/inteiro literal Resulta em uma cadeia de caracteres equivalente ao valor numérico do parâmetro; assume-se a representação sem potência de 10
![Page 33: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/33.jpg)
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”) 200000 (inteiro)val(“1,2345e2”) 123,45 (real)pos(“al”, “valores”) 2cadeia(10) “10”cadeia(3 * 7 + 1) “22”cadeia(7 / 2) “3,5”cadeia(1 / 3) “0,33333” (no arbitrário de casas)
![Page 34: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/34.jpg)
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êmPrecedência sobre os operadores relacionais
![Page 35: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/35.jpg)
Expressões• Relacionais
– Exemplos
10 = 10 verdadeiro
8 = 5 + 2 falso
10 mod 2 = 1 falso
1 + 2 * 7 ≠ 21 verdadeiro
18 > 3 * 7 falso
1 + 1 < 2 falso
1 + 1 ≤ 2 verdadeiro
“variáveis” = “variáveis” verdadeiro
“tipos” + “dados” = “tipos dados” falso
“abc” > “abb” verdadeiro
“123” > “12” verdadeiro
![Page 36: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/36.jpg)
Expressões• Lógicas
– Operam sobre valores lógicos– Resultam em um valor lógico
• Operadores
nãoeou
+
–Precedência
Todos os operadores relacionais têmprecedência sobre os operadores lógicos
![Page 37: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/37.jpg)
Expressões• Operadores lógicos: tabelas verdade
não falso verdadeiro
não verdadeiro falso
falso ou falso falso
falso ou verdadeiro verdadeiro
verdadeiro ou falso verdadeiro
verdadeiro ou verdadeiro verdadeiro
falso e falso falso
falso e verdadeiro falso
verdadeiro e falso falso
verdadeiro e verdadeiro verdadeiro
não
ou
e
![Page 38: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/38.jpg)
Expressões
Dê o resultado das seguintes expressões
14,09falsofalsoverdadeirofalsoverdadeiroverdadeiroverdadeirofalso
8 + 3 * 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 = 8 + 1 ou 12 mod 6 > 6 1 ≠ 1 e “zebra” < “gnu” ou 8 / 2 / 4 * 2 > 4
![Page 39: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/39.jpg)
Expressões
• Observação sobre expressões relacionais8 < 21 ≤ 43
???
verdadeiro ≤ 43
8 < 21 e 21 ≤ 43
verdadeiro e verdadeiro
verdadeiro
![Page 40: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/40.jpg)
Algoritmos
VariáveisEntrada e saída
Atribuição
![Page 41: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/41.jpg)
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
![Page 42: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/42.jpg)
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
![Page 43: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/43.jpg)
Formalização do algoritmo
• Exemploalgoritmo quedaLivre{ Calcula a velocidade de uma partícula ao atingir o solo após ser largada do repouso a uma dada altura } declare altura: realinício leia (altura) escreva (4,43 * raiz(altura))fim
![Page 44: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/44.jpg)
Variáveis
• Declaraçãodeclare 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ógicoidade: inteiro
![Page 45: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/45.jpg)
Variáveis
declare salário, saldo: real nome: literal
temFilhos: lógicoidade: inteiro
Memória
salário (real)saldo (real)
nome (literal)
temFilhos (lógico)
idade (inteiro)
![Page 46: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/46.jpg)
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
![Page 47: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/47.jpg)
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.
![Page 48: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/48.jpg)
Entrada e saída
• Exemplo 1algoritmo exemploES{ Apenas um exemplo de entrada e saída }
declare nome: literal salário: real idade: inteiroiní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
18 1200,00
18
1200,0
Idade =18
Salário =1200
![Page 49: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/49.jpg)
Entrada e saída
• Exemplo 2
algoritmo exemploES{ Apenas um exemplo de entrada e saída }
declare idade, ano: inteiroinício leia(ano, idade) escreva(“Nascimento:”, ano – idade)
leia(idade) escreva(“Outro ano =“, ano - idade)fim
idade
ano
2006 19
Nascimento: 1987
18
19
2006
Outro ano: 1988
18
![Page 50: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/50.jpg)
Variáveis• O que tem em uma
variável antes da leitura?
a) nadab) zeroc) alguma coisa que eu
ignorod) n.d.a.
algoritmo conteúdo{ exemplo de conteúdo de variáveis }
declare idade: inteiro nome: literaliní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
![Page 51: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/51.jpg)
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 mesmotipo que a variável em questão
![Page 52: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/52.jpg)
Atribuição
• Exemploalgoritmo horasMinutosSegundos{ Dada uma quantidade de segundos, escreve o número de horas, minutos e segundos equivalente }
declare totalSegundos, horas, minutos, segundos: inteiroinício leia(totalSegundos)
horas totalSegundos div 3600 minutos (totalSegundos – 3600 * horas) div 60 segundos totalSegundos mod 60
escreva(horas, minutos, segundos)fim
![Page 53: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/53.jpg)
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: realiní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)
![Page 54: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/54.jpg)
Algoritmos
• ExercícioInformar 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;
![Page 55: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/55.jpg)
Algoritmos
• ExercícioInformar a área de um trapézio, sabendo-se que é calculada por:
(b + B) * h / 2
![Page 56: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/56.jpg)
Algoritmos
• ExercícioLer 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.x2 + b.x + c
![Page 57: Algoritmos Tipos básicos. Conjunto básico de tipos pré- existentes –Inteiros –Reais –Literais –Lógicos –Binários –Ponteiros](https://reader036.vdocuments.net/reader036/viewer/2022062312/552fc0f9497959413d8b77ff/html5/thumbnails/57.jpg)
Algoritmos
• ExercícioSabendo-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)