SlideShare uma empresa Scribd logo
1 de 192
Baixar para ler offline
PÓS-GRADUAÇÃO EM GRÁFICA
DIGITAL
FUNDAMENTOS DE INFORMÁTICA
GRÁFICA
Prof. Dr. Carlos A. P. Campani
INTRODUÇÃO À INFORMÁTICA
COMPUTAÇÃO
s.f.
1. cômputo, cálculo, contagem; operação matemática ou lógica realizada por
regras práticas preestabelecidas.
2. informática
m.q. PROCESSAMENTO DE DADOS.
INTRODUÇÃO À INFORMÁTICA
INFORMÁTICA
s.f.
ciência que se dedica ao tratamento da informação mediante o uso de
computadores e demais dispositivos de processamento de dados.
INTRODUÇÃO À INFORMÁTICA
MODELO → RESULTADOS
INTRODUÇÃO À INFORMÁTICA
Máquina de Anticítera
(87 a.C.)
INTRODUÇÃO À INFORMÁTICA
Blaise Pascal (1623-1662)
Pascalina
INTRODUÇÃO À INFORMÁTICA
Charles Babbage (1791-1871)
Máquina Diferencial e
Engenho Analítico
INTRODUÇÃO À INFORMÁTICA
Ada Lovelace (1815-1852)
INTRODUÇÃO À INFORMÁTICA
Alan Turing (1912-1954)
Bomba eletromecânica
INTRODUÇÃO À INFORMÁTICA
John von Neumann (1903-1957)
INTRODUÇÃO À INFORMÁTICA
Computação
Mecânico → Válvula → Transistor → Circuito
Integrado (microchip ou chip)
INTRODUÇÃO À INFORMÁTICA
Escala de integração
SSI (Short Scale Integration) – dezenas de transístores
↓
MSI (Medium Scale Integration)
↓
LSI (Large Scale Integration)
↓
VLSI (Very Large Scale Integration) – até bilhões de transístores
VLSI: INTEL 80186
55 mil transistores
INTRODUÇÃO À INFORMÁTICA
ENIAC (1946)
18.000 válvulas
INTRODUÇÃO À INFORMÁTICA
Microcomputador (anos 70-):
Altair 8800;
TRS-80;
Commodore 64;
Apple II;
IBM PC; etc.
INTRODUÇÃO À INFORMÁTICA
Computação atual:
PC Gamers;
Smartphones;
Sistemas embarcados;
Grids corporativos;
Inteligência artificial;
Realidade virtual; etc.
REDE DE COMPUTADORES
Formada por um conjunto de máquinas com
capacidade de troca de informações,
compartilhando recursos, interligadas por meio de
um sistema de comunicação.
INTERNET
●
Rede de computadores descentralizada com
abrangência mundial;
●
Tem sua origem nos anos 60 no projeto
ARPANET (uma rede acadêmica e militar dos
EUA).
PROTOCOLO TCP/IP
●
Protocolo é o conjunto de padrões e regras que
definem o modo como se dará a comunicação
entre as partes envolvidas;
●
Protocolo da Internet: TCP/IP.
MODELO CLIENTE-SERVIDOR
●
Servidor – fornecedor um serviço
●
Cliente – requerente de um serviço
Estrutura de aplicação distribuída que distribui
as tarefas e cargas de trabalho entre os
fornecedores de um recurso ou serviço e os
requerentes deste serviço, que se comunicam
por meio de uma rede de computadores.
HARDWARE E SOFTWARE
●
Hardware – a parte física do computador;
●
Software – a parte lógica do computador.
ARQUITETURA DE
COMPUTADORES
PROCESSADOR, MEMÓRIA E
DISCO
●
Processador ou Microprocessador – responsável pela
execução das instruções de máquina de um programa;
●
Memória RAM (Random Acess Memory) – memória
principal da máquina para armazenar os dados em
processamento (volátil);
●
Hard Disk (HD) ou Disco Rígido – memória de disco
magnético (permanente).
MICROPROCESSADORES
●
Principais fabricantes: INTEL, AMD, Qualcomm
●
A Qualcomm produz os processadores
Snapdragon para o mercado de smartphones
(mobile)
MICROPROCESSADORES
INTEL
INTEL Core i3 básico internet; edição de
textos; planilhas
INTEL Core i5 intermediário jogos, edição de
vídeo
INTEL Core i7 completo aplicações
gráficas 3D;
edição de vídeo;
renderização
INTEL Core i9 topo de linha aplicações
gráficas e
matemáticas
complexas
INTEL Xeon topo de linha servidores de alto
desempenho
MELHORES DE 2018
PROCESSADOR CORES CLOCK
AMD Ryzen 7 2700X 8 3,7GHz
Intel Core i7-7820X 8 3,6GHz
Intel Core i9-7980XE 18 2,6GHz
Intel Xeon W-2195 18 2,3GHz
EVOLUÇÃO DOS
PROCESSADORES
MÁQUINA ANO PROCESSADOR MIPS
IBM PC-XT 1981 Intel 8088, 4,77MHz 0,2
IBM PC-AT 1984 Intel 80286, 6MHz 0,8
Intel Core i7 6700K 2015 Core i7, 4GHz, 4 core 160.000
Intel Core i7 5960X 2014 Core i7, 3GHz, 8 core 238.000
BITS E BYTES
●
Bit – unidade básica de informação que pode
representar dois valores: 0 e 1
●
Byte – agrupamento de 8 bits, representando
números entre 0 e 255 (28
=256)
BITS E BYTES: CONVERSÃO
PARA DECIMAL
POSIÇÃO D7 D6 D5 D4 D3 D2 D1 D0 VALOR
PESOS 27
26
25
24
23
22
21
20
128 64 32 16 8 4 2 1
1 0 0 0 1 1 0 1 128+8+4+1=141
1 1 1 1 1 1 1 1 128+64+32+16+8+4+2+
1=255
UNIDADES DE MEDIDA
1 QUILOBYTE 1KB 1024 bytes (210
) ≈
1.000
1 MEGABYTE 1MB 1048576 bytes
(220
) ≈ 1.000.000
1 GIGABYTE 1GB 1073741824 bytes
(230
) ≈
1.000.000.000
1 TERABYTE 1TB 1,099511628×10¹²
bytes (240
) ≈
1.000.000.000.000
MEMÓRIA PRINCIPAL E
SECUNDÁRIA
●
Memória principal – memória RAM (rápida mas
volátil)
●
Memória secundária – disco rígido (lenta mas
permanente)
DISCO RÍGIDO
MEMÓRIA PRINCIPAL E
SECUNDÁRIA
●
Máquina típica atualmente: 8GB de memória
principal; 1TB de disco rígido;
●
Recomendado para aplicações gráficas: 16GB
de memória principal;
●
Recomendado para servidor de alto
desempenho: 32GB de memória principal.
ARQUITETURA DE MEMÓRIA E
BARRAMENTO
8 bits Intel 8080 (1974, Altair 8800),
Motorola 6800 (1974), MOS
Technology 6502 (1975, Apple II
original), Zilog Z80 (1976)
16 bits Intel 8086 (1979), 8088 (8 bits/16
bits, 1979, IBM PC original) e 80286
(1982)
32 bits Motorola 68000 (16 bits/32 bits,
1979), Intel 80386 (1985)
64 bits AMD Athlon 64 (2003), Intel Pentium
4, Intel Core
ASCII
●
ASCII (American Standard Code for Information
Interchange) - Código Padrão Americano para o
Intercâmbio de Informação;
●
Codificação binária que codifica um conjunto de
símbolos alfanuméricos e pontuação;
●
Padrão industrial definido nos anos 60.
ASCII
UNICODE
Padrão internacional de codificação binária para
representar texto de qualquer sistema de escrita
UTF-8
●
8-bit Unicode Transformation Format;
●
Codificação binária de comprimento variável
compatível com ASCII e Unicode;
●
Usa de um a quatro bytes por caractere.
PERIFÉRICOS
USB
Universal Serial Bus (USB) é um tipo de conexão
“ligar e usar” que permite a fácil conexão de
periféricos.
CARTÃO DE MEMÓRIA FLASH
●
Tipo de armazenamento de dados não volátil;
●
Formatos SD e Micro SD
PENDRIVE
●
Usa tecnologia de memória flash;
●
Conexão USB
WIFI
●
Permite a conexão entre dispositivos sem fio;
●
Padronizado como IEEE 802.11;
●
Largamente usada nos dias atuais para conexão
de dispositivos (notebooks e smartphones) com a
Internet.
BLUETOOTH
●
Especificação de rede sem fio para uso pessoal;
●
Provê uma maneira de conectar e trocar
informações entre dispositivos como: telefones
celulares, notebooks, computadores,
impressoras, câmeras digitais e consoles de
videogames digitais;
●
Usa uma frequência de rádio de curto alcance.
PIXEL
●
Representa um ponto na tela do computador;
●
Em um monitor de vídeo colorido cada pixel é
composto de 3 pontos (RGB).
RGB E CMYK
●
RGB é a abreviatura do sistema de cores
aditivas formado por: vermelho (Red); verde
(Green); e azul (Blue) – aplicado às cores da tela
do computador;
●
CMYK é a abreviatura do sistema de cores
subtrativas formado por: ciano (Cyan), magenta
(Magenta), amarelo (Yellow) e Preto (blacK) –
aplicado às cores da impressão em papel.
RGB E CMYK
TRUECOLOR
●
Cada pixel RGB é representado em 24 bits, 8
bits para cada cor;
●
224
= 16.777.216 ou 16,7 milhões de cores.
MEMÓRIA DE VÍDEO
RAZÃO DE ASPECTO
RAZÃO DE ASPECTO
RAZÃO DE ASPECTO
RESOLUÇÃO DE VÍDEO
VGA 640x480 4:3
SVGA 800x600 4:3
XGA 1024x768 4:3
WXGA 1366x768 16:9
Full HD/1080p 1920x1080 16:9
4K Ultra HD/2160p 3840x2160 16:9
RESOLUÇÃO DE VÍDEO
●
640x480 = 307.200 pixels;
●
800x600 = 480.000 pixels;
●
1024x768 = 786.432 pixels;
●
1920x1080 = 2.073.600 pixels.
TELAS LCD E OLED
●
Display de cristal líquido (Liquid Crystal Display,
LCD) permite exibir imagens em TVs e
computadores;
●
Usa as propriedades de modulação de luz dos
cristais líquidos para produzir a imagem;
●
Telas LCD usam uma luz por trás do painel para
iluminar os pixels;
TELAS LCD E OLED
●
Diodo emissor de luz orgânico (Organic Light-
Emitting Diode, OLED) - um diodo emissor de luz
(LED) que emite eletroluminescência por meio de
um filme orgânico;
●
Telas OLED produzem a própria iluminação por
meio da corrente elétrica circulando pelos LEDs;
●
OLED possui menor consumo e mais qualidade
de imagem.
PLACAS ACELERADORAS DE
GRÁFICOS
●
Conjunto de chips projetado para executar operações
matemáticas necessárias para apresentar gráficos e animações na
tela do computador, particularmente gráficos 3D;
●
Dispositivo que faz operações matemáticas e matriciais com
grande velocidade, usadas para transformar modelos matemáticos
tridimensionais em uma imagem na tela do computador;
●
Indispensável para jogos e programas com gráficos 3D.
GPU
●
A Unidade de Processamento Gráfico (Graphics Processing Unit,
GPU) é o coração de uma placa aceleradora de gráficos;
●
Circuito eletrônico especializado projetado para acelerar a
renderização de imagens;
●
Usa um conjunto massivo de processadores desenvolvidos para
executar operações matemáticas e matriciais em grande
velocidade.
GPU X CPU
PLACAS ACELERADORAS DE
GRÁFICOS TOPO DE LINHA
●
Nvidia GeForce GTX 1080 Ti
●
AMD Radeon RX Vega 56
●
AMD Radeon RX 580X
DPI
●
Sigla que significa Dots Per Inch (pontos por polegada);
●
Número de pontos que podem ser colocados em uma polegada
(2,54 cm) em uma imagem impressa em papel;
●
DPI é diferente de PPI (Pixels Per Inch, pixels por polegada) que
é usado para imagens na tela do computador;
●
Pode ser usado para definir a sensibilidade de mouse ótico;
●
Por exemplo, um mouse com 1600 DPI, significando que uma
polegada é dividida em 1600 partes.
DPI
DPI
DPI: RECOMENDAÇÕES
RESOLUÇÃO RECOMENDADO NÃO RECOMENDADO
150 dpi Textos Imagens
300 dpi Imagens Produção gráfica
600 dpi Alta qualidade de imagens
1200 dpi Trabalhos gráficos
>1200 dpi Fotografia profissional
TRABALHO
●
Especificar o hardware (processador, memória, disco rígido, resolução gráfica,
placa aceleradora gráfica, monitor de vídeo, impressora, etc.) e estimar o custo:
1. Edição de textos e navegação na Internet;
2. Execução de edição de textos, navegação na Internet, edição de imagem e
vídeo, renderização de modelos 3D, jogos 3D.
●
Verificar/analisar a configuração da máquina que vocês usam (em casa, no
serviço ou na Universidade), posicionando-a proporcionalmente entre as duas
alternativas do trabalho anterior. Inclua a análise da resolução gráfica e da
placa gráfica, verificando se possui aceleração 3D. Justifique sua análise.
SISTEMA OPERACIONAL
●
Um Sistema Operacional é uma coleção de programas que
acessam o hardware do computador, fornecendo recursos básicos
de controle de processador, memória e dispositivos;
●
Executa a gerência, escalonamento e interação de tarefas;
●
Sua parte mais básica, responsável pela execução das funções
mais próximas ao hardware do computador, chama-se Kernel.
ARQUITETURA DE UM SISTEMA
OPERACIONAL
SISTEMA OPERACIONAL:
ALGUNS EXEMPLOS
●
Windows;
●
OS X;
●
Linux;
●
FreeBSD;
●
Android;
●
iOS.
ARQUIVOS E DIRETÓRIOS
●
Arquivo é uma unidade de dados formatada
gravada na memória secundária (disco rígido,
pendrive, fita magnética, CD-ROM, etc.);
●
Diretório ou pasta é uma estrutura que armazena
arquivos e possui uma hierarquia.
ESTRUTURA HIERÁRQUICA DE
DIRETÓRIOS
NOME DE ARQUIVO
●
O nome completo de um arquivo é formado por
duas partes: nome e extensão;
●
Nome e extensão são separados por um “.”;
●
Por exemplo, CARTA.DOC é um nome completo
de arquivo cujo nome é CARTA e a extensão é
DOC;
●
A extensão indica o tipo do arquivo.
DIRETÓRIOS E DRIVES
●
No Windows, os diretórios são distribuídos
dentro de unidades chamadas de drivers;
●
Os drivers são nomeados por letras:
C: D: E: etc.
●
Usualmente o drive C: é o disco rígido do
computador e os demais são periféricos.
TIPOS DE ARQUIVOS
Extensão Tipo
TXT Documento de texto puro
DOC Documento WORD antigo
DOCX Documento WORD
HTML Página da web
PDF Portable Document Format
XLSX Planilha EXCEL
PPTX Apresentação PowerPoint
JPG Imagem
PNG Imagem
ATRIBUTOS DE ARQUIVOS NO
LINUX
usuario@Dell:~/Vídeos$ ls -lh
total 20K
-rwxrwxrwx 1 usuario usuario 2,6K mai 1 2017 meusepisodiosdatv.txt
-rwxrwxrwx 1 usuario usuario 2,6K jul 24 21:27 meusfilmesisoerip.txt
drwxrwxrwx 2 usuario usuario 4,0K set 23 2017 Meus_ISOs
drwxrwxrwx 69 usuario usuario 4,0K set 23 2017 Minha_media
ATRIBUTOS DE ARQUIVOS NO
LINUX
●
Proprietário
●
Grupo
●
Outros
ATRIBUTOS DE ARQUIVOS NO
LINUX
ATRIBUTOS SIGNIFICADO
- arquivo
d diretório
l documento vinculado (link)
b dispositivo de interface
C periférico
r permissão de leitura
w permissão de escrita
x permissão para executar
(programa binário)
FORMATOS DE IMAGEM
●
Formatos RASTER (BITMAP) armazenam os
pixels da imagem no arquivo;
●
Formatos de gráfico vetorial, como o SVG,
armazenam pontos 2D, os quais são conectados
por linhas, curvas, formas polinomiais e outras
formas, de maneira a poderem ser escalados sem
perda de qualidade.
FORMATOS RASTER
FORMATOS VETORIAIS
FORMATOS VETORIAIS E
RASTER: ESCALANDO
FORMATOS VETORIAIS E
RASTER: ESCALANDO
COMPRESSÃO DE IMAGEM
●
Compressão sem perdas: LZW (Lempel-Ziv-
Welch);
●
Compressão com perdas: DCT (discrete cosine
transform).
FORMATOS RASTER
FORMATO DESCRIÇÃO COMPRESSÃO ANIMAÇÕES OBSERVAÇÕES
BMP Opcional Não Criado pela Microsoft
GIF Graphics Interchange
Format
Sem perdas Sim Criado pela CompuServe
PNG Portable Network
Graphics
Sem perdas Sim Criado como substituto ao
GIF devido a problemas
de direitos autorais com o
GIF
TIFF Tagged Image File
Format
Sem perdas Não Popular entre artistas
gráficos, fotógrafos e no
mercado de editoração
eletrônica
JPEG Joint Photographic
Experts Group
Com perdas Não Criado por um grupo
como padrão industrial
RESOLUÇÃO DE PROBLEMAS
PELO COMPUTADOR
FASES DO DESENVOLVIMENTO
DE SISTEMAS
PROJETO/DESENVOLVIMENTO
DE SISTEMAS
LÓGICA
Logos = razão + linguagem
LÓGICA MATEMÁTICA
Se é dia, então há luz. É dia. Logo, há luz.
P → Q, P ⊨ Q
LÓGICA DE PROGRAMAÇÃO
Uso das leis do pensamento, da razão e de
processos de raciocínio e simbolização formais
na programação de computadores, visando a
solução de problemas por meio do computador.
PROBLEMA DAS TORRES DE
HANÓI
Regra: mover os discos de uma haste para a outra sem que um
disco maior fique sobre um disco menor
PROBLEMA DAS TORRES DE
HANÓI: EXERCÍCIO
Mover o disco X para a haste Y
A B C
1
2
3
PROBLEMA DAS TORRES DE
HANÓI: SOLUÇÃO
1. Mover o disco 1 para a haste C
2. Mover o disco 2 para a haste B
3. Mover o disco 1 para a haste B
4. Mover o disco 3 para a haste C
5. Mover o disco 1 para a haste A
6. Mover o disco 2 para a haste C
7. Mover o disco 1 para a haste C
PROBLEMA DAS TORRES DE
HANÓI: SOLUÇÃO
EXERCÍCIO
Um comerciante está transportando um lobo, um coelho e 500 Kg de cenouras.
Durante a viagem, ele se depara com um rio e um pequeno barco, no qual só é
possível transportar um elemento por vez. Descreva quais as ações tomadas
pelo comerciante para atravessar o rio, de modo que ele nunca deixe o lobo e
o coelho ou o coelho e as cenouras sozinhos em uma das margens.
ALGORITMO
Algoritmo é um conjunto de regras e
procedimentos lógicos que definem a solução de
um problema.
PROGRAMA
Programa é a realização efetiva de um algoritmo
por meio de uma linguagem de programação.
Efetivo: que pode ser executado em uma
máquina real ou virtual
LINGUAGENS DE
PROGRAMAÇÃO
Uma linguagem de programação é um método
padronizado para comunicar instruções para um
computador.
LINGUAGENS DE
PROGRAMAÇÃO
●
Linguagem de baixo nível – mais próxima do
hardware da máquina (linguagem de máquina)
●
Linguagem de alto nível – maior grau de
abstração
ASSEMBLER X PYTHON
a, b = 0, 1
while b < 25:
print b
a, b = b, a+b
LINGUAGENS DE
PROGRAMAÇÃO: EXEMPLOS
BASIC
FORTRAN
ALGOL
PASCAL
PYTHON
C#
JAVA
VISUAL BASIC: EXEMPLO
VISUAL BASIC: EXEMPLO
Dim x As String
Private Sub Form_Load()
x = "Alo Mundo !!!"
End Sub
Private Sub CDM_ADI_Click()
MsgBox x
End Sub
ESTILOS DE PROGRAMAÇÃO
Programação não-estruturada – usa código
com desvios (GOTO ou VÁ-PARA); exemplo:
BASIC
Programação estruturada – usa determinadas
estruturas (IF-THEN-ELSE, WHILE); exemplo:
PYTHON
ESTILOS DE PROGRAMAÇÃO
Programação orientada a eventos – os
procedimentos do programa respondem a
eventos (event handlers); exemplo: Linden Script
Language (LSL)
Programação visual – possui facilidades para
projetar a interface gráfica do programa; exemplo:
Visual Basic
ESTILOS DE PROGRAMAÇÃO
Programação Imperativa – os comandos do
programa descrevem ações que o processador
deve executar
Programação Declarativa – refere-se aos
paradigmas funcional e lógico; o programa
descreve propriedades da solução desejada, mas
não como fazer
PROGRAMAÇÃO DECLARATIVA:
EXEMPLO
BIBLIOTECA CURVAS
Descrevendo um cubo:
edge = 1.m
box width: edge, length: edge, height: edge
Fonte: Gustavo H. M. de Sousa. Language Design for Modelling: a cognitive approach.
PROGRAMAÇÃO DECLARATIVA:
EXEMPLO
GRASSHOPPER 3D
INTERPRETADO X COMPILADO
Linguagem interpretada – é executada por uma
máquina virtual, sem a necessidade de um
processo de tradução para a linguagem da
máquina
Linguagem compilada – programa passa por um
processo que transforma o código fonte em
linguagem de máquina
FLUXOGRAMA
Fluxograma é uma forma de representação de
algoritmos que descreve o fluxo de um processo,
seja manual ou mecanizado.
PROGRAMAÇÃO:
FLUXOGRAMAS
Caixas de fluxograma
PROBLEMA DE ASSAR UM
BOLO (RECEITA DE BOLO)
●
Misturar os ingredientes
●
Colocar na forma
●
Assar até estar pronto
●
Servir em uma travessa
FLUXOGRAMAS: EXEMPLO
Receita de Bolo
FLUXOGRAMAS:
REPRESENTAÇÃO TEXTUAL
INÍCIO: VÁ PARA L1
L1: Misture os ingredientes; VÁ PARA L2
L2: Despeje a massa na forma untada; VÁ PARA L3
L3: Coloque a forma no forno em 180ºC; VÁ PARA L4
L4: SE já está assado VÁ PARA L5
SENÃO VÁ PARA L4
L5: Sirva em uma travessa; VÁ PARA L6
L6: FIM
DIAGRAMAS DE CHAPIN
METÁFORAS INDUZIDAS PELO
PROBLEMA/SOLUÇÃO
●
Cozinheiro: microprocessador
●
Receita: programa de computador
●
Ingredientes: dados de entrada
●
Forma, travessa, panelas: memória principal
●
Bolo servido na travessa: dados de saída
PROBLEMA DA APROVAÇÃO
Ler as duas notas de um aluno e determinar se
ele está aprovado ou não.
ESTRUTURA CONDICIONAL:
FLUXOGRAMA
ESTRUTURA CONDICIONAL:
DIAGRAMAS DE CHAPIN
PROBLEMA
Contar de 1 até 10.
ESTRUTURA DE REPETIÇÃO:
FLUXOGRAMA
1
2
3
4
5
6
7
8
9
10
ESTRUTURA DE REPETIÇÃO:
DIAGRAMA DE CHAPIN
PROBLEMA
Contar de 10 até 1.
SOLUÇÃO
10
9
8
7
6
5
4
3
2
1
PROBLEMA DA APROVAÇÃO DE
UMA TURMA
Ler as duas notas dos alunos de uma turma e
determinar quem está aprovado ou não.
FLUXOGRAMA
DIAGRAMAS DE CHAPIN
PSEUDO LINGUAGEM
algoritmo
declare
inteiro NA;
real N1, N2, Média;
início
leia NA;
enquanto NA > 0
faça
leia N1, N2;
Média ←(N1+N2)/2;
se Média ≥ 7.0
então
escreva “Aprovado”;
senão
escreva “Reprovado”;
fim_se
NA ←NA-1;
fim_enquanto
fim
fim_algoritmo
PSEUDO LINGUAGEM:
ESTRUTURA
algoritmo
declare
inteiro NA;
real N1, N2, Média;
início
leia NA;
enquanto NA > 0
faça
leia N1, N2;
Média ←(N1+N2)/2;
se Média ≥ 7.0
então
escreva “Aprovado”;
senão
escreva “Reprovado”;
fim_se
NA ←NA-1;
fim_enquanto
fim
fim_algoritmo
DECLARAÇÃO DE VARIÁVEIS
declare
inteiro NA;
real N1, N2, Média;
●
Declara o tipo das variáveis que serão usadas no algoritmo
●
NA é uma variável capaz de armazenar um número inteiro
●
N1, N2 e Média são números em ponto flutuante
ENTRADA E SAÍDA
leia NA;
●
Leitura de um valor inteiro, fornecido pelo usuário, que é armazenado na
variável NA
escreva “Aprovado”;
●
Impressão da constante tipo string “Aprovado” no dispositivo de saída padrão
COMANDO DE ATRIBUIÇÃO
Média ←(N1+N2)/2;
●
Atribuição do valor da expressão (N1+N2)/2 à variável Média
ESTRUTURA CONDICIONAL
se Média ≥ 7.0
então
escreva “Aprovado”;
senão
escreva “Reprovado”;
fim_se
ESTRUTURA DE REPETIÇÃO
enquanto NA > 0
faça
{Trata aprovação de aluno}
NA ←NA-1;
fim_enquanto
1º NA = 3 Trata 1º
aluno
NA ←NA-1
NA ←3-1
NA ←2
2º NA = 2 Trata 2º
aluno
NA ←NA-1
NA ←2-1
NA ←1
3º NA = 1 Trata 3º
aluno
NA ←NA-1
NA ←1-1
NA ←0
NA = 0 Termina
repetição
EXEMPLO: CONTAGEM
REGRESSIVA
algoritmo
declare
inteiro MIN, SEG;
início
escreva “10:00”
MIN ← 9;
SEG ← 59;
enquanto MIN ≥ 0
enquanto SEG ≥ 0
escreva MIN,”:”,SEG
SEG ←SEG-1
fim_enquanto
SEG ← 59
MIN ← MIN-1
fim_enquanto
fim
fim_algoritmo
10:00
09:59
09:58
09:57
09:56
.
.
.
00:05
00:04
00:03
00:02
00:01
00:00
ALGORITMO PARA DESENHO
DE GRÁFICOS: COMANDOS
1. COMANDO DESENHAR CIRCUNFERÊNCIA
desenhar círcunferência em X,Y raio R
2. COMANDO DESENHAR LINHA
desenhar linha em X1
,Y1
até X2
,Y2
3. COMANDO DESENHAR RETÂNGULO
desenhar retângulo em X1
,Y1
até X2
,Y2
R
(X,Y)
(X1
,Y1
)
(X2
,Y2
)
(X1
,Y1
)
(X2
,Y2
)
ALGORITMO PARA DESENHO
DE GRÁFICOS: SMILE
desenhar círcunferência em 0,0 raio 250
desenhar circunferencia em -85, 50 raio 75
desenhar circunferência em 85,50 raio 75
desenhar linha em -100,-75 até 100,-75
ALGORITMO PARA DESENHO
DE GRÁFICOS: CÍRCULOS
R ←3
enquanto R < 6
desenhar círcunferência em 0,0 raio R
R ←R+1
EXERCÍCIO
Escrever um algoritmo em fluxograma, diagrama
de Chapin e pseudo linguagem para desenhar a
logomarca da Audi.
EXERCÍCIO
Desenvolva um algoritmo em fluxograma,
diagrama de Chapin e pseudo linguagem que leia
um número inteiro N e escreva na tela a tabuada
de N. N=3
3.1=3
3.2=6
.
.
.
3.9=27
3.10=30
PROGRAMANDO EM PYTHON
●
Linguagem de programação interpretada de alto-nível para
programação de uso geral;
●
Criada em 1991 por Guido van Rossum;
●
Enfatiza a facilidade de leitura do código;
PROGRAMANDO EM PYTHON
●
Usa agrupamento de comandos por meio de tabulação;
●
Sistema de tipos dinâmico (não necessita de declaração de
tipo de variáveis);
●
Modo interativo;
●
Orientação a objetos.
PYTHON: MODO INTERATIVO
usuario@Dell:~$ python
Python 2.7.14 (default, Sep 23 2017, 22:06:14)
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 2+2
4
>>> (7+4)/2
5
>>> (7.0+4)/2
5.5
>>> str(7)+" belo"
'7 belo'
>>> 17%2
1
>>> 17%3
2
>>> 14%2
0
PYTHON: OPERADORES
ARITMÉTICOS
** Potência (x**y=xy
)
* / % Multiplicação, divisão e
resto da divisão inteira
+ - Soma e subtração
( ) Parênteses
PYTHON: MODO PROGRAMADO
usuario@Dell:~$ python fibo.py
IDE
Ambiente de desenvolvimento integrado
(Integrated Development Environment)
PYCHARM
GEDIT
SPYDER
PYTHON: ATRIBUIÇÃO
a = 10
b = -5
a, b = 10, -5
IGUAL NÃO É IGUAL
= Atribuição
== Igualdade
PYTHON: RELACIONAIS
== Igual
!= Diferente
> Maior
< Menor
>= Maior ou igual
<= Menor ou igual
PYTHON: ESTRUTURA
CONDICIONAL
a = int(input("a: "))
b = int(input("b: "))
if a > b:
print(a)
else:
print(b)
PYTHON: CONVERSÕES DE
TIPO
int(x) Converte x para inteiro
float(x) Converte x para ponto
flutuante
str(x) Converte x para string
PYTHON: ESTRUTURA
CONDICIONAL
# encoding: utf-8
a = float(input("a: "))
b = float(input("b: "))
if b != 0:
print(a/b)
else:
print("inválido")
PYTHON: ESTRUTURA
CONDICIONAL
# encoding: utf-8
x = int(input("entre um número entre 1 e 4: "))
if x == 1:
print("um")
elif x == 2:
print("dois")
elif x == 3:
print("três")
else:
print("quatro")
PYTHON: ESTRUTURA DE
REPETIÇÃO
i = 1
while i < 11:
print(i)
i = i+1
1
2
3
4
5
6
7
8
9
10
PYTHON: ESTRUTURA DE
REPETIÇÃO
for x in range(5,16):
print(x)
5
6
7
8
9
10
11
12
13
14
15
PYTHON: EXEMPLO: SÉRIE DE
FIBONACCI
a, b = 0, 1
while b < 25:
print(b)
a, b = b, a+b
1
1
2
3
5
8
13
21
a b
0 1
1 1
1 2
2 3
3 5
5 8
8 13
13 21
21 34
PYTHON: SAÍDA FORMATADA:
USANDO FORMAT()
s = "Carlos ama {} {}!!!"
print(s.format("software", "livre"))
Carlos ama software livre!!!
PYTHON: SAÍDA FORMATADA:
USANDO FORMAT()
print("{1} tem um {0}.".format("hamster", "Carlos"))
Carlos tem um hamster.
PYTHON: SAÍDA FORMATADA:
USANDO FORMAT()
for x in range(1, 11):
print("{0:2d} {1:3d} {2:4d}".format(x, x*x, x*x*x))
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000
PYTHON: SAÍDA FORMATADA:
USANDO FORMAT()
a=2.7
b=3.14
print("{:5.2f} {:6.3f}".format(a,b))
2.70 3.140
2 . 7 0 3 . 1 4 0
PYTHON: EXEMPLO:
CONTAGEM REGRESSIVA
print("10:00")
for min in range(9,-1,-1):
for seg in range(59,-1,-1):
s1 = "0"+str(min)
s2 = str(seg)
if seg < 10:
s2 = "0"+s2
print(s1+":"+s2)
10:00
09:59
09:58
09:57
09:56
.
.
.
00:05
00:04
00:03
00:02
00:01
00:00
algoritmo
declare
inteiro MIN, SEG;
início
escreva “10:00”
MIN ← 9;
SEG ← 59;
enquanto MIN ≥ 0
enquanto SEG ≥ 0
escreva MIN,”:”,SEG
SEG ←SEG-1
fim_enquanto
SEG ← 59
MIN ← MIN-1
fim_enquanto
fim
fim_algoritmo
PYTHON: IMPORTANDO O
MÓDULO MATH
import math
PYTHON: FUNÇÕES DO
MÓDULO MATH
math.exp(x) ex
math.log(x) Logaritmo base e
math.log10(x) Logaritmo base 10
math.sqrt(x) Raiz quadrada
math.sin(x) seno
math.cos(x) cos
math.tan(x) tangente
math.ceil(x) ⌈x , menor inteiro maior ou igual a x⌉, menor inteiro maior ou igual a x
math.floor(x) ⌊x , maior inteiro menor ou igual a x⌋, maior inteiro menor ou igual a x
math.trunc(x) Parte inteira de x, obtida por truncamento
PYTHON: CONSTANTES DO
MÓDULO MATH
math.pi π=3,1415...
math.e e=2,7182...
PYTHON: RAÍZES DA EQUAÇÃO
DO 2º GRAU
# encoding: utf-8
import math
print("ax 2 + bx + cn")
a=float(input("a="))
b=float(input("b="))
c=float(input("c="))
if a == 0:
print("não é equação do segundo graun")
else:
delta=b*b-4*a*c
if delta >= 0:
print("x1={:5.2f}n".format((-b+math.sqrt(delta))/(2*a)))
print("x2={:5.2f}n".format((-b-math.sqrt(delta))/(2*a)))
else:
print("raizes complexasn")
PYTHON: CONSTANTES E
OPERADORES LÓGICOS
not negação
and Conjunção
or disjunção
true verdadeiro
false falso
PYTHON: JOGO DE
ADIVINHAÇÃO
# encoding: utf-8
import random
print("10 chances para acertar um número entre 1 e 100")
i = 1
venceu = 0
x = random.randrange(1,100)
while venceu != 1 and i <= 10:
print("Tentativa {:d}".format(i))
t = int(input())
if x == t:
venceu = 1
else:
if x > t:
print("Número secreto é maior")
else:
print("Número secreto é menor")
i = i+1
if venceu == 1:
print("Venceu")
else:
print("Perdeu")
EXERCÍCIO
Desenvolva um programa Python que determine
a aprovação ou reprovação dos alunos de uma
turma.
EXERCÍCIO
Desenvolva um programa Python que leia um
número inteiro n e escreva na tela a tabuada de n.
REALIDADE VIRTUAL:
OPENSIMULATOR
●
Servidor de aplicações 3D de fonte aberto,
multiusuário e multiplataforma;
●
Capaz de criar um mundo virtual que pode ser
acessado através de uma variedade de clientes;
●
Clone do servidor do Second Life.
MUNDO VIRTUAL
Um mundo virtual é um conjunto de regiões
conectadas por meio de mecanismo de teleporte
MUNDO VIRTUAL: REGIÃO
●
Terreno: plano com acidentes (topografia)
●
Objetos: modelo 3D com atributos
●
Avatares: persona digital
REALIDADE VIRTUAL – VGRID
SCRIPTS LSL/OSSL
Linden Script Language (LSL) é uma linguagem
de scripts criada pela Linden Lab para ser a
linguagem usada no Second Life. OpenSimulator
Script Language (OSSL) é uma extensão da LSL
usada no OpenSimulator.
SCRIPTS LSL/OSSL
●
Linguagem de programação orientada a eventos
●
Scripts são divididos em partes de código que
respondem a eventos ocorridos inworld
●
Linguagem interpretada, não necessita de
processo de compilação
SCRIPTS LSL/OSSL
●
Scripts reajem a eventos por meio de event
handlers, dependendo do estado em que se
encontram
●
Estado principal é chamado de default
EVENTOS LSL
●
state_entry – desencadeado ao iniciar o script;
●
touch_start – ao iniciar a clicar no objeto;
●
collision_start – ao iniciar a colidir no objeto;
●
Timer – evento repetido em intervalos de tempo,
resultante da chamada da função llSetTimerEvent.
FUNÇÕES LSL
●
Função pode ser entendida como uma máquina
ou dispositivo que recebe determinado número de
entradas e produz uma saída e/ou efeito
●
Linguagem LSL possui cerca de 310 funções
pré-definidas
FUNÇÕES LSL
●
llEmail – envia um e-mail
●
llFrand – gera um número pseudo-aleatório
●
llPlaySound – executa um arquivo de audio
armazenado no inventário do prim
FUNÇÕES LSL
●
llSetParcelMusicURL – define a stream de áudio
executando no lote
●
llSetPrimMediaParams – define os parâmetros
de media em uma face do prim
●
llSetTexture – atribui uma textura às faces de um
prim
FUNÇÕES LSL
●
llSetTimerEvent – ativa um evento de timer
●
llTargetOmega – rotaciona um prim em torno de
um eixo definido por meio de um vetor
TIPOS DE DADOS
●
integer – um número inteiro com sinal de 32 bits
●
float – um número em ponto flutuante de 32 bits
●
string – texto delimitado por aspas
●
key – identificador universal único (UUID)
●
list – uma sequência de dados de qualquer tipo
separados por vírgulas e delimitado por colchetes
TIPOS DE DADOS
●
vector – um tipo que contém 3 valores do tipo
float
●
rotation – um objeto contendo 4 valores do tipo
float, representando uma rotação no espaço
COMANDO DE ATRIBUIÇÃO
integer myVar = 25;
float vol = 1.0;
float time = min + llFrand(max - min);
CONTROLE DE FLUXO
●
if (CONDIÇÃO) COMANDOS
●
if (CONDIÇÃO) COMANDOS else COMANDOS
●
while (CONDIÇÃO) COMANDOS
EXEMPLO: ROTACIONANDO UM
PRIM
default
{
state_entry()
{
// Vetor <0.0,0.0,1.0> - rotação no eixo Z
// 0.1 - velocidade do giro
// 1 - ganho
llTargetOmega(<0.0,0.0,1.0>,0.1,1);
}
}
EXEMPLO: APLICANDO
TEXTURAS NA FACE DO PRIM
default
{
state_entry()
{
string TEXT = "Clique aqui";
vector COLOR_GREEN = <0.0, 1.0, 0.0>;
float OPAQUE = 1.0;
// display text over prim
llSetText(TEXT, COLOR_GREEN, OPAQUE);
}
touch_start(integer num_detected)
{
// a primeira textura, em ordem alfabética, dentro do inventário do prim
string texture = llGetInventoryName(INVENTORY_TEXTURE, 0);
// atribua a textura a todos os lados do prim
llSetTexture(texture, ALL_SIDES);
}
}
EXEMPLO: GRILOS CANTANDO
À NOITE
// Tempo mínimo (em segundos) entre sons
float min = 10;
// Tempo máximo entre sons
float max = 30;
// Volume do som. 0 = inaudível
// Valores válidos entre 0.0 - 1.0
float vol = 1;
// Áudio a ser executado
key sound = "grilos";
EXEMPLO: GRILOS CANTANDO
À NOITE
default // estado diurno
{
state_entry()
{
llSetTimerEvent(min);
}
timer()
{
vector sun = llGetSunDirection();
if (sun.z < 0) state night;
llSetTimerEvent(min);
}
}
EXEMPLO: GRILOS CANTANDO
À NOITE
state night // estado noturno
{
state_entry()
{
llSetTimerEvent(min);
}
timer()
{
vector sun = llGetSunDirection();
if (sun.z > 0) state default; // Volta para o estado diurno
// Toca o áudio uma vez
llPlaySound(sound, vol);
// Seleciona um tempo aleatório (em segundos) para executar o áudio novamente
float time = min + llFrand(max - min);
llSetTimerEvent(time);
}
}

Mais conteúdo relacionado

Mais procurados

Componentes de um computador
Componentes de um computadorComponentes de um computador
Componentes de um computadorDavid Simões
 
Evolução, hardware e software isaias
Evolução, hardware e software isaiasEvolução, hardware e software isaias
Evolução, hardware e software isaiasIsaias_Bass
 
3 info 2_hardware_apresentacao
3 info 2_hardware_apresentacao3 info 2_hardware_apresentacao
3 info 2_hardware_apresentacaoalforreca567
 
Intr. a informática Aulas
Intr. a informática Aulas Intr. a informática Aulas
Intr. a informática Aulas Nmutemba
 
Aula de hardware
Aula de hardwareAula de hardware
Aula de hardwarefelipe_13
 
Montagem e configuração de computadores
Montagem e configuração de computadores Montagem e configuração de computadores
Montagem e configuração de computadores Jessica_filipa
 
Hardware
HardwareHardware
Hardwareleiladb
 
Apresentação notebooks positivo
Apresentação notebooks positivoApresentação notebooks positivo
Apresentação notebooks positivoBruno Godoi
 
Hardware e software conceitos
Hardware e software conceitosHardware e software conceitos
Hardware e software conceitosDanilo Vilanova
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresCarlos Eduardo Pantoja
 
Itautec infoway notebook w7415
Itautec   infoway notebook w7415Itautec   infoway notebook w7415
Itautec infoway notebook w7415Leonardo Pimenta
 
Componentes do computador
Componentes do computadorComponentes do computador
Componentes do computadorVitoria Facundo
 
Montagem e configuração de computadores
Montagem e configuração de computadoresMontagem e configuração de computadores
Montagem e configuração de computadoresSara Nóbrega
 

Mais procurados (19)

Componentes de um computador
Componentes de um computadorComponentes de um computador
Componentes de um computador
 
Evolução, hardware e software isaias
Evolução, hardware e software isaiasEvolução, hardware e software isaias
Evolução, hardware e software isaias
 
3 info 2_hardware_apresentacao
3 info 2_hardware_apresentacao3 info 2_hardware_apresentacao
3 info 2_hardware_apresentacao
 
Intr. a informática Aulas
Intr. a informática Aulas Intr. a informática Aulas
Intr. a informática Aulas
 
Aula de hardware
Aula de hardwareAula de hardware
Aula de hardware
 
Aula de hardware
Aula de hardwareAula de hardware
Aula de hardware
 
HARDWARE - Computador:
HARDWARE - Computador: HARDWARE - Computador:
HARDWARE - Computador:
 
Ipd
IpdIpd
Ipd
 
Montagem e configuração de computadores
Montagem e configuração de computadores Montagem e configuração de computadores
Montagem e configuração de computadores
 
Hardware
HardwareHardware
Hardware
 
Apresentação notebooks positivo
Apresentação notebooks positivoApresentação notebooks positivo
Apresentação notebooks positivo
 
Computador Gaming
Computador GamingComputador Gaming
Computador Gaming
 
Hardware e software conceitos
Hardware e software conceitosHardware e software conceitos
Hardware e software conceitos
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de Computadores
 
Trabalho De Hardware
Trabalho De HardwareTrabalho De Hardware
Trabalho De Hardware
 
Itautec infoway notebook w7415
Itautec   infoway notebook w7415Itautec   infoway notebook w7415
Itautec infoway notebook w7415
 
Componentes do computador
Componentes do computadorComponentes do computador
Componentes do computador
 
Montagem e configuração de computadores
Montagem e configuração de computadoresMontagem e configuração de computadores
Montagem e configuração de computadores
 
Aula 2 pts computador
Aula 2 pts computadorAula 2 pts computador
Aula 2 pts computador
 

Semelhante a Fundamentos de Informática Gráfica1. Edição de textos e navegação na Internet:- Processador: Intel Core i3 - Memória: 8GB RAM- Disco rígido: 1TB HDD- Placa de vídeo integrada- Monitor: 1080p 60Hz- Impressora: jato de tinta- Custo estimado: R$2.500,002. Edição avançada, jogos e modelagem 3D: - Processador: Intel Core i7- Memória: 16GB RAM

Apostila Cad2000 2 D
Apostila Cad2000 2 DApostila Cad2000 2 D
Apostila Cad2000 2 Dguestf248
 
Evolução dos Computadores
Evolução dos ComputadoresEvolução dos Computadores
Evolução dos Computadoresstordehistoria
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDAFilipo Mór
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Filipo Mór
 
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDesenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDaniel Rodrigues de Sousa
 
TIC Unidade 1.4. os dispositivos de entrada e saida mais comuns
TIC Unidade 1.4.   os dispositivos de entrada e saida mais comunsTIC Unidade 1.4.   os dispositivos de entrada e saida mais comuns
TIC Unidade 1.4. os dispositivos de entrada e saida mais comunsfilipereira
 
Aula30 infh ardsoft
Aula30 infh ardsoftAula30 infh ardsoft
Aula30 infh ardsoftmrsampaio
 
Introdução a Informática
Introdução a InformáticaIntrodução a Informática
Introdução a InformáticaBreno Damasceno
 
2 visão geral do hardware
2 visão geral do hardware2 visão geral do hardware
2 visão geral do hardwareSandra Minhós
 
Aula05 - Arquitetura e manutanção de Computadores
Aula05 - Arquitetura e manutanção de ComputadoresAula05 - Arquitetura e manutanção de Computadores
Aula05 - Arquitetura e manutanção de ComputadoresJorge Ávila Miranda
 
119178832 141.computador
119178832 141.computador119178832 141.computador
119178832 141.computadorPelo Siro
 

Semelhante a Fundamentos de Informática Gráfica1. Edição de textos e navegação na Internet:- Processador: Intel Core i3 - Memória: 8GB RAM- Disco rígido: 1TB HDD- Placa de vídeo integrada- Monitor: 1080p 60Hz- Impressora: jato de tinta- Custo estimado: R$2.500,002. Edição avançada, jogos e modelagem 3D: - Processador: Intel Core i7- Memória: 16GB RAM (20)

TIC
TICTIC
TIC
 
Apostila Cad2000 2 D
Apostila Cad2000 2 DApostila Cad2000 2 D
Apostila Cad2000 2 D
 
Computação Gráfica
Computação GráficaComputação Gráfica
Computação Gráfica
 
Evolução dos Computadores
Evolução dos ComputadoresEvolução dos Computadores
Evolução dos Computadores
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
 
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDesenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
 
TIC Unidade 1.4. os dispositivos de entrada e saida mais comuns
TIC Unidade 1.4.   os dispositivos de entrada e saida mais comunsTIC Unidade 1.4.   os dispositivos de entrada e saida mais comuns
TIC Unidade 1.4. os dispositivos de entrada e saida mais comuns
 
Ppt informática básica sistema operacioanal
Ppt informática básica sistema operacioanalPpt informática básica sistema operacioanal
Ppt informática básica sistema operacioanal
 
Ppt informática básica sistema operacioanal
Ppt informática básica sistema operacioanalPpt informática básica sistema operacioanal
Ppt informática básica sistema operacioanal
 
Trabalho de informatica
Trabalho de informaticaTrabalho de informatica
Trabalho de informatica
 
Aula30 infh ardsoft
Aula30 infh ardsoftAula30 infh ardsoft
Aula30 infh ardsoft
 
Introdução a Informática
Introdução a InformáticaIntrodução a Informática
Introdução a Informática
 
Introducao informatica
Introducao informaticaIntroducao informatica
Introducao informatica
 
2 visão geral do hardware
2 visão geral do hardware2 visão geral do hardware
2 visão geral do hardware
 
AC nova-aula 1.pptx
AC nova-aula 1.pptxAC nova-aula 1.pptx
AC nova-aula 1.pptx
 
Informática para concursos aula 00
Informática para concursos   aula 00Informática para concursos   aula 00
Informática para concursos aula 00
 
PROVA DE IMC
PROVA DE IMCPROVA DE IMC
PROVA DE IMC
 
Aula05 - Arquitetura e manutanção de Computadores
Aula05 - Arquitetura e manutanção de ComputadoresAula05 - Arquitetura e manutanção de Computadores
Aula05 - Arquitetura e manutanção de Computadores
 
119178832 141.computador
119178832 141.computador119178832 141.computador
119178832 141.computador
 

Mais de Carlos Campani

Técnicas de integração
Técnicas de integraçãoTécnicas de integração
Técnicas de integraçãoCarlos Campani
 
Lista de exercícios 3
Lista de exercícios 3Lista de exercícios 3
Lista de exercícios 3Carlos Campani
 
Lista de exercícios 2
Lista de exercícios 2Lista de exercícios 2
Lista de exercícios 2Carlos Campani
 
Aplicações da integração
Aplicações da integraçãoAplicações da integração
Aplicações da integraçãoCarlos Campani
 
Lista de exercícios 1
Lista de exercícios 1Lista de exercícios 1
Lista de exercícios 1Carlos Campani
 
ANÁLISE COMPLETA DE UMA FUNÇÃO
ANÁLISE COMPLETA DE UMA FUNÇÃOANÁLISE COMPLETA DE UMA FUNÇÃO
ANÁLISE COMPLETA DE UMA FUNÇÃOCarlos Campani
 
PROPRIEDADES DAS FUNÇÕES
PROPRIEDADES DAS FUNÇÕESPROPRIEDADES DAS FUNÇÕES
PROPRIEDADES DAS FUNÇÕESCarlos Campani
 
Funções, suas propriedades e gráfico
Funções, suas propriedades e gráficoFunções, suas propriedades e gráfico
Funções, suas propriedades e gráficoCarlos Campani
 
Solução de equações modulares
Solução de equações modularesSolução de equações modulares
Solução de equações modularesCarlos Campani
 
Equações polinomiais
Equações polinomiaisEquações polinomiais
Equações polinomiaisCarlos Campani
 
Instruções de Aprendiz
Instruções de AprendizInstruções de Aprendiz
Instruções de AprendizCarlos Campani
 
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...Carlos Campani
 

Mais de Carlos Campani (20)

Técnicas de integração
Técnicas de integraçãoTécnicas de integração
Técnicas de integração
 
Lista de exercícios 3
Lista de exercícios 3Lista de exercícios 3
Lista de exercícios 3
 
Lista de exercícios 2
Lista de exercícios 2Lista de exercícios 2
Lista de exercícios 2
 
Aplicações da integração
Aplicações da integraçãoAplicações da integração
Aplicações da integração
 
Lista de exercícios 1
Lista de exercícios 1Lista de exercícios 1
Lista de exercícios 1
 
Integral
IntegralIntegral
Integral
 
Semana 14
Semana 14 Semana 14
Semana 14
 
Semana 13
Semana 13 Semana 13
Semana 13
 
Semana 12
Semana 12Semana 12
Semana 12
 
Semana 11
Semana 11Semana 11
Semana 11
 
Semana 10
Semana 10 Semana 10
Semana 10
 
Semana 9
Semana 9 Semana 9
Semana 9
 
ANÁLISE COMPLETA DE UMA FUNÇÃO
ANÁLISE COMPLETA DE UMA FUNÇÃOANÁLISE COMPLETA DE UMA FUNÇÃO
ANÁLISE COMPLETA DE UMA FUNÇÃO
 
PROPRIEDADES DAS FUNÇÕES
PROPRIEDADES DAS FUNÇÕESPROPRIEDADES DAS FUNÇÕES
PROPRIEDADES DAS FUNÇÕES
 
Funções, suas propriedades e gráfico
Funções, suas propriedades e gráficoFunções, suas propriedades e gráfico
Funções, suas propriedades e gráfico
 
Solução de equações modulares
Solução de equações modularesSolução de equações modulares
Solução de equações modulares
 
Equações polinomiais
Equações polinomiaisEquações polinomiais
Equações polinomiais
 
PROVAS DE TEOREMAS
PROVAS DE TEOREMASPROVAS DE TEOREMAS
PROVAS DE TEOREMAS
 
Instruções de Aprendiz
Instruções de AprendizInstruções de Aprendiz
Instruções de Aprendiz
 
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
 

Fundamentos de Informática Gráfica1. Edição de textos e navegação na Internet:- Processador: Intel Core i3 - Memória: 8GB RAM- Disco rígido: 1TB HDD- Placa de vídeo integrada- Monitor: 1080p 60Hz- Impressora: jato de tinta- Custo estimado: R$2.500,002. Edição avançada, jogos e modelagem 3D: - Processador: Intel Core i7- Memória: 16GB RAM

  • 1. PÓS-GRADUAÇÃO EM GRÁFICA DIGITAL FUNDAMENTOS DE INFORMÁTICA GRÁFICA Prof. Dr. Carlos A. P. Campani
  • 2. INTRODUÇÃO À INFORMÁTICA COMPUTAÇÃO s.f. 1. cômputo, cálculo, contagem; operação matemática ou lógica realizada por regras práticas preestabelecidas. 2. informática m.q. PROCESSAMENTO DE DADOS.
  • 3. INTRODUÇÃO À INFORMÁTICA INFORMÁTICA s.f. ciência que se dedica ao tratamento da informação mediante o uso de computadores e demais dispositivos de processamento de dados.
  • 5. INTRODUÇÃO À INFORMÁTICA Máquina de Anticítera (87 a.C.)
  • 6. INTRODUÇÃO À INFORMÁTICA Blaise Pascal (1623-1662) Pascalina
  • 7. INTRODUÇÃO À INFORMÁTICA Charles Babbage (1791-1871) Máquina Diferencial e Engenho Analítico
  • 8. INTRODUÇÃO À INFORMÁTICA Ada Lovelace (1815-1852)
  • 9. INTRODUÇÃO À INFORMÁTICA Alan Turing (1912-1954) Bomba eletromecânica
  • 10. INTRODUÇÃO À INFORMÁTICA John von Neumann (1903-1957)
  • 11. INTRODUÇÃO À INFORMÁTICA Computação Mecânico → Válvula → Transistor → Circuito Integrado (microchip ou chip)
  • 12. INTRODUÇÃO À INFORMÁTICA Escala de integração SSI (Short Scale Integration) – dezenas de transístores ↓ MSI (Medium Scale Integration) ↓ LSI (Large Scale Integration) ↓ VLSI (Very Large Scale Integration) – até bilhões de transístores
  • 13. VLSI: INTEL 80186 55 mil transistores
  • 14. INTRODUÇÃO À INFORMÁTICA ENIAC (1946) 18.000 válvulas
  • 15. INTRODUÇÃO À INFORMÁTICA Microcomputador (anos 70-): Altair 8800; TRS-80; Commodore 64; Apple II; IBM PC; etc.
  • 16. INTRODUÇÃO À INFORMÁTICA Computação atual: PC Gamers; Smartphones; Sistemas embarcados; Grids corporativos; Inteligência artificial; Realidade virtual; etc.
  • 17. REDE DE COMPUTADORES Formada por um conjunto de máquinas com capacidade de troca de informações, compartilhando recursos, interligadas por meio de um sistema de comunicação.
  • 18. INTERNET ● Rede de computadores descentralizada com abrangência mundial; ● Tem sua origem nos anos 60 no projeto ARPANET (uma rede acadêmica e militar dos EUA).
  • 19. PROTOCOLO TCP/IP ● Protocolo é o conjunto de padrões e regras que definem o modo como se dará a comunicação entre as partes envolvidas; ● Protocolo da Internet: TCP/IP.
  • 20. MODELO CLIENTE-SERVIDOR ● Servidor – fornecedor um serviço ● Cliente – requerente de um serviço Estrutura de aplicação distribuída que distribui as tarefas e cargas de trabalho entre os fornecedores de um recurso ou serviço e os requerentes deste serviço, que se comunicam por meio de uma rede de computadores.
  • 21. HARDWARE E SOFTWARE ● Hardware – a parte física do computador; ● Software – a parte lógica do computador.
  • 23. PROCESSADOR, MEMÓRIA E DISCO ● Processador ou Microprocessador – responsável pela execução das instruções de máquina de um programa; ● Memória RAM (Random Acess Memory) – memória principal da máquina para armazenar os dados em processamento (volátil); ● Hard Disk (HD) ou Disco Rígido – memória de disco magnético (permanente).
  • 24. MICROPROCESSADORES ● Principais fabricantes: INTEL, AMD, Qualcomm ● A Qualcomm produz os processadores Snapdragon para o mercado de smartphones (mobile)
  • 25. MICROPROCESSADORES INTEL INTEL Core i3 básico internet; edição de textos; planilhas INTEL Core i5 intermediário jogos, edição de vídeo INTEL Core i7 completo aplicações gráficas 3D; edição de vídeo; renderização INTEL Core i9 topo de linha aplicações gráficas e matemáticas complexas INTEL Xeon topo de linha servidores de alto desempenho
  • 26. MELHORES DE 2018 PROCESSADOR CORES CLOCK AMD Ryzen 7 2700X 8 3,7GHz Intel Core i7-7820X 8 3,6GHz Intel Core i9-7980XE 18 2,6GHz Intel Xeon W-2195 18 2,3GHz
  • 27. EVOLUÇÃO DOS PROCESSADORES MÁQUINA ANO PROCESSADOR MIPS IBM PC-XT 1981 Intel 8088, 4,77MHz 0,2 IBM PC-AT 1984 Intel 80286, 6MHz 0,8 Intel Core i7 6700K 2015 Core i7, 4GHz, 4 core 160.000 Intel Core i7 5960X 2014 Core i7, 3GHz, 8 core 238.000
  • 28. BITS E BYTES ● Bit – unidade básica de informação que pode representar dois valores: 0 e 1 ● Byte – agrupamento de 8 bits, representando números entre 0 e 255 (28 =256)
  • 29. BITS E BYTES: CONVERSÃO PARA DECIMAL POSIÇÃO D7 D6 D5 D4 D3 D2 D1 D0 VALOR PESOS 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 1 0 0 0 1 1 0 1 128+8+4+1=141 1 1 1 1 1 1 1 1 128+64+32+16+8+4+2+ 1=255
  • 30. UNIDADES DE MEDIDA 1 QUILOBYTE 1KB 1024 bytes (210 ) ≈ 1.000 1 MEGABYTE 1MB 1048576 bytes (220 ) ≈ 1.000.000 1 GIGABYTE 1GB 1073741824 bytes (230 ) ≈ 1.000.000.000 1 TERABYTE 1TB 1,099511628×10¹² bytes (240 ) ≈ 1.000.000.000.000
  • 31. MEMÓRIA PRINCIPAL E SECUNDÁRIA ● Memória principal – memória RAM (rápida mas volátil) ● Memória secundária – disco rígido (lenta mas permanente)
  • 33. MEMÓRIA PRINCIPAL E SECUNDÁRIA ● Máquina típica atualmente: 8GB de memória principal; 1TB de disco rígido; ● Recomendado para aplicações gráficas: 16GB de memória principal; ● Recomendado para servidor de alto desempenho: 32GB de memória principal.
  • 34. ARQUITETURA DE MEMÓRIA E BARRAMENTO 8 bits Intel 8080 (1974, Altair 8800), Motorola 6800 (1974), MOS Technology 6502 (1975, Apple II original), Zilog Z80 (1976) 16 bits Intel 8086 (1979), 8088 (8 bits/16 bits, 1979, IBM PC original) e 80286 (1982) 32 bits Motorola 68000 (16 bits/32 bits, 1979), Intel 80386 (1985) 64 bits AMD Athlon 64 (2003), Intel Pentium 4, Intel Core
  • 35. ASCII ● ASCII (American Standard Code for Information Interchange) - Código Padrão Americano para o Intercâmbio de Informação; ● Codificação binária que codifica um conjunto de símbolos alfanuméricos e pontuação; ● Padrão industrial definido nos anos 60.
  • 36. ASCII
  • 37. UNICODE Padrão internacional de codificação binária para representar texto de qualquer sistema de escrita
  • 38. UTF-8 ● 8-bit Unicode Transformation Format; ● Codificação binária de comprimento variável compatível com ASCII e Unicode; ● Usa de um a quatro bytes por caractere.
  • 40. USB Universal Serial Bus (USB) é um tipo de conexão “ligar e usar” que permite a fácil conexão de periféricos.
  • 41. CARTÃO DE MEMÓRIA FLASH ● Tipo de armazenamento de dados não volátil; ● Formatos SD e Micro SD
  • 42. PENDRIVE ● Usa tecnologia de memória flash; ● Conexão USB
  • 43. WIFI ● Permite a conexão entre dispositivos sem fio; ● Padronizado como IEEE 802.11; ● Largamente usada nos dias atuais para conexão de dispositivos (notebooks e smartphones) com a Internet.
  • 44. BLUETOOTH ● Especificação de rede sem fio para uso pessoal; ● Provê uma maneira de conectar e trocar informações entre dispositivos como: telefones celulares, notebooks, computadores, impressoras, câmeras digitais e consoles de videogames digitais; ● Usa uma frequência de rádio de curto alcance.
  • 45. PIXEL ● Representa um ponto na tela do computador; ● Em um monitor de vídeo colorido cada pixel é composto de 3 pontos (RGB).
  • 46. RGB E CMYK ● RGB é a abreviatura do sistema de cores aditivas formado por: vermelho (Red); verde (Green); e azul (Blue) – aplicado às cores da tela do computador; ● CMYK é a abreviatura do sistema de cores subtrativas formado por: ciano (Cyan), magenta (Magenta), amarelo (Yellow) e Preto (blacK) – aplicado às cores da impressão em papel.
  • 48. TRUECOLOR ● Cada pixel RGB é representado em 24 bits, 8 bits para cada cor; ● 224 = 16.777.216 ou 16,7 milhões de cores.
  • 53. RESOLUÇÃO DE VÍDEO VGA 640x480 4:3 SVGA 800x600 4:3 XGA 1024x768 4:3 WXGA 1366x768 16:9 Full HD/1080p 1920x1080 16:9 4K Ultra HD/2160p 3840x2160 16:9
  • 54. RESOLUÇÃO DE VÍDEO ● 640x480 = 307.200 pixels; ● 800x600 = 480.000 pixels; ● 1024x768 = 786.432 pixels; ● 1920x1080 = 2.073.600 pixels.
  • 55. TELAS LCD E OLED ● Display de cristal líquido (Liquid Crystal Display, LCD) permite exibir imagens em TVs e computadores; ● Usa as propriedades de modulação de luz dos cristais líquidos para produzir a imagem; ● Telas LCD usam uma luz por trás do painel para iluminar os pixels;
  • 56. TELAS LCD E OLED ● Diodo emissor de luz orgânico (Organic Light- Emitting Diode, OLED) - um diodo emissor de luz (LED) que emite eletroluminescência por meio de um filme orgânico; ● Telas OLED produzem a própria iluminação por meio da corrente elétrica circulando pelos LEDs; ● OLED possui menor consumo e mais qualidade de imagem.
  • 57. PLACAS ACELERADORAS DE GRÁFICOS ● Conjunto de chips projetado para executar operações matemáticas necessárias para apresentar gráficos e animações na tela do computador, particularmente gráficos 3D; ● Dispositivo que faz operações matemáticas e matriciais com grande velocidade, usadas para transformar modelos matemáticos tridimensionais em uma imagem na tela do computador; ● Indispensável para jogos e programas com gráficos 3D.
  • 58. GPU ● A Unidade de Processamento Gráfico (Graphics Processing Unit, GPU) é o coração de uma placa aceleradora de gráficos; ● Circuito eletrônico especializado projetado para acelerar a renderização de imagens; ● Usa um conjunto massivo de processadores desenvolvidos para executar operações matemáticas e matriciais em grande velocidade.
  • 60. PLACAS ACELERADORAS DE GRÁFICOS TOPO DE LINHA ● Nvidia GeForce GTX 1080 Ti ● AMD Radeon RX Vega 56 ● AMD Radeon RX 580X
  • 61. DPI ● Sigla que significa Dots Per Inch (pontos por polegada); ● Número de pontos que podem ser colocados em uma polegada (2,54 cm) em uma imagem impressa em papel; ● DPI é diferente de PPI (Pixels Per Inch, pixels por polegada) que é usado para imagens na tela do computador; ● Pode ser usado para definir a sensibilidade de mouse ótico; ● Por exemplo, um mouse com 1600 DPI, significando que uma polegada é dividida em 1600 partes.
  • 62. DPI
  • 63. DPI
  • 64. DPI: RECOMENDAÇÕES RESOLUÇÃO RECOMENDADO NÃO RECOMENDADO 150 dpi Textos Imagens 300 dpi Imagens Produção gráfica 600 dpi Alta qualidade de imagens 1200 dpi Trabalhos gráficos >1200 dpi Fotografia profissional
  • 65. TRABALHO ● Especificar o hardware (processador, memória, disco rígido, resolução gráfica, placa aceleradora gráfica, monitor de vídeo, impressora, etc.) e estimar o custo: 1. Edição de textos e navegação na Internet; 2. Execução de edição de textos, navegação na Internet, edição de imagem e vídeo, renderização de modelos 3D, jogos 3D. ● Verificar/analisar a configuração da máquina que vocês usam (em casa, no serviço ou na Universidade), posicionando-a proporcionalmente entre as duas alternativas do trabalho anterior. Inclua a análise da resolução gráfica e da placa gráfica, verificando se possui aceleração 3D. Justifique sua análise.
  • 66. SISTEMA OPERACIONAL ● Um Sistema Operacional é uma coleção de programas que acessam o hardware do computador, fornecendo recursos básicos de controle de processador, memória e dispositivos; ● Executa a gerência, escalonamento e interação de tarefas; ● Sua parte mais básica, responsável pela execução das funções mais próximas ao hardware do computador, chama-se Kernel.
  • 67. ARQUITETURA DE UM SISTEMA OPERACIONAL
  • 68. SISTEMA OPERACIONAL: ALGUNS EXEMPLOS ● Windows; ● OS X; ● Linux; ● FreeBSD; ● Android; ● iOS.
  • 69. ARQUIVOS E DIRETÓRIOS ● Arquivo é uma unidade de dados formatada gravada na memória secundária (disco rígido, pendrive, fita magnética, CD-ROM, etc.); ● Diretório ou pasta é uma estrutura que armazena arquivos e possui uma hierarquia.
  • 71. NOME DE ARQUIVO ● O nome completo de um arquivo é formado por duas partes: nome e extensão; ● Nome e extensão são separados por um “.”; ● Por exemplo, CARTA.DOC é um nome completo de arquivo cujo nome é CARTA e a extensão é DOC; ● A extensão indica o tipo do arquivo.
  • 72. DIRETÓRIOS E DRIVES ● No Windows, os diretórios são distribuídos dentro de unidades chamadas de drivers; ● Os drivers são nomeados por letras: C: D: E: etc. ● Usualmente o drive C: é o disco rígido do computador e os demais são periféricos.
  • 73. TIPOS DE ARQUIVOS Extensão Tipo TXT Documento de texto puro DOC Documento WORD antigo DOCX Documento WORD HTML Página da web PDF Portable Document Format XLSX Planilha EXCEL PPTX Apresentação PowerPoint JPG Imagem PNG Imagem
  • 74. ATRIBUTOS DE ARQUIVOS NO LINUX usuario@Dell:~/Vídeos$ ls -lh total 20K -rwxrwxrwx 1 usuario usuario 2,6K mai 1 2017 meusepisodiosdatv.txt -rwxrwxrwx 1 usuario usuario 2,6K jul 24 21:27 meusfilmesisoerip.txt drwxrwxrwx 2 usuario usuario 4,0K set 23 2017 Meus_ISOs drwxrwxrwx 69 usuario usuario 4,0K set 23 2017 Minha_media
  • 75. ATRIBUTOS DE ARQUIVOS NO LINUX ● Proprietário ● Grupo ● Outros
  • 76. ATRIBUTOS DE ARQUIVOS NO LINUX ATRIBUTOS SIGNIFICADO - arquivo d diretório l documento vinculado (link) b dispositivo de interface C periférico r permissão de leitura w permissão de escrita x permissão para executar (programa binário)
  • 77. FORMATOS DE IMAGEM ● Formatos RASTER (BITMAP) armazenam os pixels da imagem no arquivo; ● Formatos de gráfico vetorial, como o SVG, armazenam pontos 2D, os quais são conectados por linhas, curvas, formas polinomiais e outras formas, de maneira a poderem ser escalados sem perda de qualidade.
  • 82. COMPRESSÃO DE IMAGEM ● Compressão sem perdas: LZW (Lempel-Ziv- Welch); ● Compressão com perdas: DCT (discrete cosine transform).
  • 83. FORMATOS RASTER FORMATO DESCRIÇÃO COMPRESSÃO ANIMAÇÕES OBSERVAÇÕES BMP Opcional Não Criado pela Microsoft GIF Graphics Interchange Format Sem perdas Sim Criado pela CompuServe PNG Portable Network Graphics Sem perdas Sim Criado como substituto ao GIF devido a problemas de direitos autorais com o GIF TIFF Tagged Image File Format Sem perdas Não Popular entre artistas gráficos, fotógrafos e no mercado de editoração eletrônica JPEG Joint Photographic Experts Group Com perdas Não Criado por um grupo como padrão industrial
  • 87. LÓGICA Logos = razão + linguagem
  • 88. LÓGICA MATEMÁTICA Se é dia, então há luz. É dia. Logo, há luz. P → Q, P ⊨ Q
  • 89. LÓGICA DE PROGRAMAÇÃO Uso das leis do pensamento, da razão e de processos de raciocínio e simbolização formais na programação de computadores, visando a solução de problemas por meio do computador.
  • 90. PROBLEMA DAS TORRES DE HANÓI Regra: mover os discos de uma haste para a outra sem que um disco maior fique sobre um disco menor
  • 91. PROBLEMA DAS TORRES DE HANÓI: EXERCÍCIO Mover o disco X para a haste Y A B C 1 2 3
  • 92. PROBLEMA DAS TORRES DE HANÓI: SOLUÇÃO 1. Mover o disco 1 para a haste C 2. Mover o disco 2 para a haste B 3. Mover o disco 1 para a haste B 4. Mover o disco 3 para a haste C 5. Mover o disco 1 para a haste A 6. Mover o disco 2 para a haste C 7. Mover o disco 1 para a haste C
  • 93. PROBLEMA DAS TORRES DE HANÓI: SOLUÇÃO
  • 94. EXERCÍCIO Um comerciante está transportando um lobo, um coelho e 500 Kg de cenouras. Durante a viagem, ele se depara com um rio e um pequeno barco, no qual só é possível transportar um elemento por vez. Descreva quais as ações tomadas pelo comerciante para atravessar o rio, de modo que ele nunca deixe o lobo e o coelho ou o coelho e as cenouras sozinhos em uma das margens.
  • 95. ALGORITMO Algoritmo é um conjunto de regras e procedimentos lógicos que definem a solução de um problema.
  • 96. PROGRAMA Programa é a realização efetiva de um algoritmo por meio de uma linguagem de programação. Efetivo: que pode ser executado em uma máquina real ou virtual
  • 97. LINGUAGENS DE PROGRAMAÇÃO Uma linguagem de programação é um método padronizado para comunicar instruções para um computador.
  • 98. LINGUAGENS DE PROGRAMAÇÃO ● Linguagem de baixo nível – mais próxima do hardware da máquina (linguagem de máquina) ● Linguagem de alto nível – maior grau de abstração
  • 99. ASSEMBLER X PYTHON a, b = 0, 1 while b < 25: print b a, b = b, a+b
  • 102. VISUAL BASIC: EXEMPLO Dim x As String Private Sub Form_Load() x = "Alo Mundo !!!" End Sub Private Sub CDM_ADI_Click() MsgBox x End Sub
  • 103. ESTILOS DE PROGRAMAÇÃO Programação não-estruturada – usa código com desvios (GOTO ou VÁ-PARA); exemplo: BASIC Programação estruturada – usa determinadas estruturas (IF-THEN-ELSE, WHILE); exemplo: PYTHON
  • 104. ESTILOS DE PROGRAMAÇÃO Programação orientada a eventos – os procedimentos do programa respondem a eventos (event handlers); exemplo: Linden Script Language (LSL) Programação visual – possui facilidades para projetar a interface gráfica do programa; exemplo: Visual Basic
  • 105. ESTILOS DE PROGRAMAÇÃO Programação Imperativa – os comandos do programa descrevem ações que o processador deve executar Programação Declarativa – refere-se aos paradigmas funcional e lógico; o programa descreve propriedades da solução desejada, mas não como fazer
  • 106. PROGRAMAÇÃO DECLARATIVA: EXEMPLO BIBLIOTECA CURVAS Descrevendo um cubo: edge = 1.m box width: edge, length: edge, height: edge Fonte: Gustavo H. M. de Sousa. Language Design for Modelling: a cognitive approach.
  • 108. INTERPRETADO X COMPILADO Linguagem interpretada – é executada por uma máquina virtual, sem a necessidade de um processo de tradução para a linguagem da máquina Linguagem compilada – programa passa por um processo que transforma o código fonte em linguagem de máquina
  • 109. FLUXOGRAMA Fluxograma é uma forma de representação de algoritmos que descreve o fluxo de um processo, seja manual ou mecanizado.
  • 111. PROBLEMA DE ASSAR UM BOLO (RECEITA DE BOLO) ● Misturar os ingredientes ● Colocar na forma ● Assar até estar pronto ● Servir em uma travessa
  • 113. FLUXOGRAMAS: REPRESENTAÇÃO TEXTUAL INÍCIO: VÁ PARA L1 L1: Misture os ingredientes; VÁ PARA L2 L2: Despeje a massa na forma untada; VÁ PARA L3 L3: Coloque a forma no forno em 180ºC; VÁ PARA L4 L4: SE já está assado VÁ PARA L5 SENÃO VÁ PARA L4 L5: Sirva em uma travessa; VÁ PARA L6 L6: FIM
  • 115. METÁFORAS INDUZIDAS PELO PROBLEMA/SOLUÇÃO ● Cozinheiro: microprocessador ● Receita: programa de computador ● Ingredientes: dados de entrada ● Forma, travessa, panelas: memória principal ● Bolo servido na travessa: dados de saída
  • 116. PROBLEMA DA APROVAÇÃO Ler as duas notas de um aluno e determinar se ele está aprovado ou não.
  • 119. PROBLEMA Contar de 1 até 10.
  • 124. PROBLEMA DA APROVAÇÃO DE UMA TURMA Ler as duas notas dos alunos de uma turma e determinar quem está aprovado ou não.
  • 127. PSEUDO LINGUAGEM algoritmo declare inteiro NA; real N1, N2, Média; início leia NA; enquanto NA > 0 faça leia N1, N2; Média ←(N1+N2)/2; se Média ≥ 7.0 então escreva “Aprovado”; senão escreva “Reprovado”; fim_se NA ←NA-1; fim_enquanto fim fim_algoritmo
  • 128. PSEUDO LINGUAGEM: ESTRUTURA algoritmo declare inteiro NA; real N1, N2, Média; início leia NA; enquanto NA > 0 faça leia N1, N2; Média ←(N1+N2)/2; se Média ≥ 7.0 então escreva “Aprovado”; senão escreva “Reprovado”; fim_se NA ←NA-1; fim_enquanto fim fim_algoritmo
  • 129. DECLARAÇÃO DE VARIÁVEIS declare inteiro NA; real N1, N2, Média; ● Declara o tipo das variáveis que serão usadas no algoritmo ● NA é uma variável capaz de armazenar um número inteiro ● N1, N2 e Média são números em ponto flutuante
  • 130. ENTRADA E SAÍDA leia NA; ● Leitura de um valor inteiro, fornecido pelo usuário, que é armazenado na variável NA escreva “Aprovado”; ● Impressão da constante tipo string “Aprovado” no dispositivo de saída padrão
  • 131. COMANDO DE ATRIBUIÇÃO Média ←(N1+N2)/2; ● Atribuição do valor da expressão (N1+N2)/2 à variável Média
  • 132. ESTRUTURA CONDICIONAL se Média ≥ 7.0 então escreva “Aprovado”; senão escreva “Reprovado”; fim_se
  • 133. ESTRUTURA DE REPETIÇÃO enquanto NA > 0 faça {Trata aprovação de aluno} NA ←NA-1; fim_enquanto 1º NA = 3 Trata 1º aluno NA ←NA-1 NA ←3-1 NA ←2 2º NA = 2 Trata 2º aluno NA ←NA-1 NA ←2-1 NA ←1 3º NA = 1 Trata 3º aluno NA ←NA-1 NA ←1-1 NA ←0 NA = 0 Termina repetição
  • 134. EXEMPLO: CONTAGEM REGRESSIVA algoritmo declare inteiro MIN, SEG; início escreva “10:00” MIN ← 9; SEG ← 59; enquanto MIN ≥ 0 enquanto SEG ≥ 0 escreva MIN,”:”,SEG SEG ←SEG-1 fim_enquanto SEG ← 59 MIN ← MIN-1 fim_enquanto fim fim_algoritmo 10:00 09:59 09:58 09:57 09:56 . . . 00:05 00:04 00:03 00:02 00:01 00:00
  • 135. ALGORITMO PARA DESENHO DE GRÁFICOS: COMANDOS 1. COMANDO DESENHAR CIRCUNFERÊNCIA desenhar círcunferência em X,Y raio R 2. COMANDO DESENHAR LINHA desenhar linha em X1 ,Y1 até X2 ,Y2 3. COMANDO DESENHAR RETÂNGULO desenhar retângulo em X1 ,Y1 até X2 ,Y2 R (X,Y) (X1 ,Y1 ) (X2 ,Y2 ) (X1 ,Y1 ) (X2 ,Y2 )
  • 136. ALGORITMO PARA DESENHO DE GRÁFICOS: SMILE desenhar círcunferência em 0,0 raio 250 desenhar circunferencia em -85, 50 raio 75 desenhar circunferência em 85,50 raio 75 desenhar linha em -100,-75 até 100,-75
  • 137. ALGORITMO PARA DESENHO DE GRÁFICOS: CÍRCULOS R ←3 enquanto R < 6 desenhar círcunferência em 0,0 raio R R ←R+1
  • 138. EXERCÍCIO Escrever um algoritmo em fluxograma, diagrama de Chapin e pseudo linguagem para desenhar a logomarca da Audi.
  • 139. EXERCÍCIO Desenvolva um algoritmo em fluxograma, diagrama de Chapin e pseudo linguagem que leia um número inteiro N e escreva na tela a tabuada de N. N=3 3.1=3 3.2=6 . . . 3.9=27 3.10=30
  • 140. PROGRAMANDO EM PYTHON ● Linguagem de programação interpretada de alto-nível para programação de uso geral; ● Criada em 1991 por Guido van Rossum; ● Enfatiza a facilidade de leitura do código;
  • 141. PROGRAMANDO EM PYTHON ● Usa agrupamento de comandos por meio de tabulação; ● Sistema de tipos dinâmico (não necessita de declaração de tipo de variáveis); ● Modo interativo; ● Orientação a objetos.
  • 142. PYTHON: MODO INTERATIVO usuario@Dell:~$ python Python 2.7.14 (default, Sep 23 2017, 22:06:14) [GCC 7.2.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 2+2 4 >>> (7+4)/2 5 >>> (7.0+4)/2 5.5 >>> str(7)+" belo" '7 belo' >>> 17%2 1 >>> 17%3 2 >>> 14%2 0
  • 143. PYTHON: OPERADORES ARITMÉTICOS ** Potência (x**y=xy ) * / % Multiplicação, divisão e resto da divisão inteira + - Soma e subtração ( ) Parênteses
  • 145. IDE Ambiente de desenvolvimento integrado (Integrated Development Environment)
  • 147. GEDIT
  • 148. SPYDER
  • 149. PYTHON: ATRIBUIÇÃO a = 10 b = -5 a, b = 10, -5
  • 150. IGUAL NÃO É IGUAL = Atribuição == Igualdade
  • 151. PYTHON: RELACIONAIS == Igual != Diferente > Maior < Menor >= Maior ou igual <= Menor ou igual
  • 152. PYTHON: ESTRUTURA CONDICIONAL a = int(input("a: ")) b = int(input("b: ")) if a > b: print(a) else: print(b)
  • 153. PYTHON: CONVERSÕES DE TIPO int(x) Converte x para inteiro float(x) Converte x para ponto flutuante str(x) Converte x para string
  • 154. PYTHON: ESTRUTURA CONDICIONAL # encoding: utf-8 a = float(input("a: ")) b = float(input("b: ")) if b != 0: print(a/b) else: print("inválido")
  • 155. PYTHON: ESTRUTURA CONDICIONAL # encoding: utf-8 x = int(input("entre um número entre 1 e 4: ")) if x == 1: print("um") elif x == 2: print("dois") elif x == 3: print("três") else: print("quatro")
  • 156. PYTHON: ESTRUTURA DE REPETIÇÃO i = 1 while i < 11: print(i) i = i+1 1 2 3 4 5 6 7 8 9 10
  • 157. PYTHON: ESTRUTURA DE REPETIÇÃO for x in range(5,16): print(x) 5 6 7 8 9 10 11 12 13 14 15
  • 158. PYTHON: EXEMPLO: SÉRIE DE FIBONACCI a, b = 0, 1 while b < 25: print(b) a, b = b, a+b 1 1 2 3 5 8 13 21 a b 0 1 1 1 1 2 2 3 3 5 5 8 8 13 13 21 21 34
  • 159. PYTHON: SAÍDA FORMATADA: USANDO FORMAT() s = "Carlos ama {} {}!!!" print(s.format("software", "livre")) Carlos ama software livre!!!
  • 160. PYTHON: SAÍDA FORMATADA: USANDO FORMAT() print("{1} tem um {0}.".format("hamster", "Carlos")) Carlos tem um hamster.
  • 161. PYTHON: SAÍDA FORMATADA: USANDO FORMAT() for x in range(1, 11): print("{0:2d} {1:3d} {2:4d}".format(x, x*x, x*x*x)) 1 1 1 2 4 8 3 9 27 4 16 64 5 25 125 6 36 216 7 49 343 8 64 512 9 81 729 10 100 1000
  • 162. PYTHON: SAÍDA FORMATADA: USANDO FORMAT() a=2.7 b=3.14 print("{:5.2f} {:6.3f}".format(a,b)) 2.70 3.140 2 . 7 0 3 . 1 4 0
  • 163. PYTHON: EXEMPLO: CONTAGEM REGRESSIVA print("10:00") for min in range(9,-1,-1): for seg in range(59,-1,-1): s1 = "0"+str(min) s2 = str(seg) if seg < 10: s2 = "0"+s2 print(s1+":"+s2) 10:00 09:59 09:58 09:57 09:56 . . . 00:05 00:04 00:03 00:02 00:01 00:00 algoritmo declare inteiro MIN, SEG; início escreva “10:00” MIN ← 9; SEG ← 59; enquanto MIN ≥ 0 enquanto SEG ≥ 0 escreva MIN,”:”,SEG SEG ←SEG-1 fim_enquanto SEG ← 59 MIN ← MIN-1 fim_enquanto fim fim_algoritmo
  • 164. PYTHON: IMPORTANDO O MÓDULO MATH import math
  • 165. PYTHON: FUNÇÕES DO MÓDULO MATH math.exp(x) ex math.log(x) Logaritmo base e math.log10(x) Logaritmo base 10 math.sqrt(x) Raiz quadrada math.sin(x) seno math.cos(x) cos math.tan(x) tangente math.ceil(x) ⌈x , menor inteiro maior ou igual a x⌉, menor inteiro maior ou igual a x math.floor(x) ⌊x , maior inteiro menor ou igual a x⌋, maior inteiro menor ou igual a x math.trunc(x) Parte inteira de x, obtida por truncamento
  • 166. PYTHON: CONSTANTES DO MÓDULO MATH math.pi π=3,1415... math.e e=2,7182...
  • 167. PYTHON: RAÍZES DA EQUAÇÃO DO 2º GRAU # encoding: utf-8 import math print("ax 2 + bx + cn") a=float(input("a=")) b=float(input("b=")) c=float(input("c=")) if a == 0: print("não é equação do segundo graun") else: delta=b*b-4*a*c if delta >= 0: print("x1={:5.2f}n".format((-b+math.sqrt(delta))/(2*a))) print("x2={:5.2f}n".format((-b-math.sqrt(delta))/(2*a))) else: print("raizes complexasn")
  • 168. PYTHON: CONSTANTES E OPERADORES LÓGICOS not negação and Conjunção or disjunção true verdadeiro false falso
  • 169. PYTHON: JOGO DE ADIVINHAÇÃO # encoding: utf-8 import random print("10 chances para acertar um número entre 1 e 100") i = 1 venceu = 0 x = random.randrange(1,100) while venceu != 1 and i <= 10: print("Tentativa {:d}".format(i)) t = int(input()) if x == t: venceu = 1 else: if x > t: print("Número secreto é maior") else: print("Número secreto é menor") i = i+1 if venceu == 1: print("Venceu") else: print("Perdeu")
  • 170. EXERCÍCIO Desenvolva um programa Python que determine a aprovação ou reprovação dos alunos de uma turma.
  • 171. EXERCÍCIO Desenvolva um programa Python que leia um número inteiro n e escreva na tela a tabuada de n.
  • 172. REALIDADE VIRTUAL: OPENSIMULATOR ● Servidor de aplicações 3D de fonte aberto, multiusuário e multiplataforma; ● Capaz de criar um mundo virtual que pode ser acessado através de uma variedade de clientes; ● Clone do servidor do Second Life.
  • 173. MUNDO VIRTUAL Um mundo virtual é um conjunto de regiões conectadas por meio de mecanismo de teleporte
  • 174. MUNDO VIRTUAL: REGIÃO ● Terreno: plano com acidentes (topografia) ● Objetos: modelo 3D com atributos ● Avatares: persona digital
  • 176. SCRIPTS LSL/OSSL Linden Script Language (LSL) é uma linguagem de scripts criada pela Linden Lab para ser a linguagem usada no Second Life. OpenSimulator Script Language (OSSL) é uma extensão da LSL usada no OpenSimulator.
  • 177. SCRIPTS LSL/OSSL ● Linguagem de programação orientada a eventos ● Scripts são divididos em partes de código que respondem a eventos ocorridos inworld ● Linguagem interpretada, não necessita de processo de compilação
  • 178. SCRIPTS LSL/OSSL ● Scripts reajem a eventos por meio de event handlers, dependendo do estado em que se encontram ● Estado principal é chamado de default
  • 179. EVENTOS LSL ● state_entry – desencadeado ao iniciar o script; ● touch_start – ao iniciar a clicar no objeto; ● collision_start – ao iniciar a colidir no objeto; ● Timer – evento repetido em intervalos de tempo, resultante da chamada da função llSetTimerEvent.
  • 180. FUNÇÕES LSL ● Função pode ser entendida como uma máquina ou dispositivo que recebe determinado número de entradas e produz uma saída e/ou efeito ● Linguagem LSL possui cerca de 310 funções pré-definidas
  • 181. FUNÇÕES LSL ● llEmail – envia um e-mail ● llFrand – gera um número pseudo-aleatório ● llPlaySound – executa um arquivo de audio armazenado no inventário do prim
  • 182. FUNÇÕES LSL ● llSetParcelMusicURL – define a stream de áudio executando no lote ● llSetPrimMediaParams – define os parâmetros de media em uma face do prim ● llSetTexture – atribui uma textura às faces de um prim
  • 183. FUNÇÕES LSL ● llSetTimerEvent – ativa um evento de timer ● llTargetOmega – rotaciona um prim em torno de um eixo definido por meio de um vetor
  • 184. TIPOS DE DADOS ● integer – um número inteiro com sinal de 32 bits ● float – um número em ponto flutuante de 32 bits ● string – texto delimitado por aspas ● key – identificador universal único (UUID) ● list – uma sequência de dados de qualquer tipo separados por vírgulas e delimitado por colchetes
  • 185. TIPOS DE DADOS ● vector – um tipo que contém 3 valores do tipo float ● rotation – um objeto contendo 4 valores do tipo float, representando uma rotação no espaço
  • 186. COMANDO DE ATRIBUIÇÃO integer myVar = 25; float vol = 1.0; float time = min + llFrand(max - min);
  • 187. CONTROLE DE FLUXO ● if (CONDIÇÃO) COMANDOS ● if (CONDIÇÃO) COMANDOS else COMANDOS ● while (CONDIÇÃO) COMANDOS
  • 188. EXEMPLO: ROTACIONANDO UM PRIM default { state_entry() { // Vetor <0.0,0.0,1.0> - rotação no eixo Z // 0.1 - velocidade do giro // 1 - ganho llTargetOmega(<0.0,0.0,1.0>,0.1,1); } }
  • 189. EXEMPLO: APLICANDO TEXTURAS NA FACE DO PRIM default { state_entry() { string TEXT = "Clique aqui"; vector COLOR_GREEN = <0.0, 1.0, 0.0>; float OPAQUE = 1.0; // display text over prim llSetText(TEXT, COLOR_GREEN, OPAQUE); } touch_start(integer num_detected) { // a primeira textura, em ordem alfabética, dentro do inventário do prim string texture = llGetInventoryName(INVENTORY_TEXTURE, 0); // atribua a textura a todos os lados do prim llSetTexture(texture, ALL_SIDES); } }
  • 190. EXEMPLO: GRILOS CANTANDO À NOITE // Tempo mínimo (em segundos) entre sons float min = 10; // Tempo máximo entre sons float max = 30; // Volume do som. 0 = inaudível // Valores válidos entre 0.0 - 1.0 float vol = 1; // Áudio a ser executado key sound = "grilos";
  • 191. EXEMPLO: GRILOS CANTANDO À NOITE default // estado diurno { state_entry() { llSetTimerEvent(min); } timer() { vector sun = llGetSunDirection(); if (sun.z < 0) state night; llSetTimerEvent(min); } }
  • 192. EXEMPLO: GRILOS CANTANDO À NOITE state night // estado noturno { state_entry() { llSetTimerEvent(min); } timer() { vector sun = llGetSunDirection(); if (sun.z > 0) state default; // Volta para o estado diurno // Toca o áudio uma vez llPlaySound(sound, vol); // Seleciona um tempo aleatório (em segundos) para executar o áudio novamente float time = min + llFrand(max - min); llSetTimerEvent(time); } }