Processing Aula 2. Prof. Wallace Lages

Documentos relacionados
azevedolab.net Variáveis, Condicionais e Loops 2015 Dr. Walter F. de Azevedo Jr.

Disciplina: Introdução à Engenharia da Computação

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Programação para Artistas com Processing. Profa. Rosilane Mota Prof. Wallace Lages

Programação Básica em Arduino Aula 2

Sistema numérico decimal

Ementa. Adriano J. Holanda 15/2/2017. [Introdução à Computação I] ...

TÉCNICO DE INFORMÁTICA - SISTEMAS

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Puca Huachi Vaz Penna

Linguagens de Programação

Algoritmos II prof. Daniel Oliveira

Revisão C++ - Parte 1

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Disciplina: Introdução a Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer. Índice: Aula1 - Introdução Programa Algoritmo

Slides trabalhados durante a quinta aula

Bits e operações. Sistemas de Computação

Introdução à Linguagem C++

Processing - Imagem 1. Processing. Imagem (PImage) Jorge Cardoso

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Estrutura de Programas e Tipos de Dados Simples

Hardware. Computador. Computador. Computador. Evolução dos Computadores. Laboratório de Utilização de Microcomputadores (DCA0302) Aula 01

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

INFORMÁTICA E CONTABILIDADE. Prof. Me. Fábio Assunção CMP 1128 Parte 01

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Lógica de Programação Introdução e formas de representação

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04

Arquitetura de Computadores

Revisão. Profa Marina Gomes

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Cap. 2 Expressões na linguagem C

Working 03 : Conceitos Básicos I

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

3. Linguagem de Programação C

CES-10 Introdução à Computação. Prof. Paulo André IEC - ITA

Conceitos básicos de programação

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1

RESUMO DE CONCEITOS BÁSICOS DE C

Algoritmos: tipos de dados, variáveis e expressões

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Engenharia Elétrica AAM. Professor: Marco Shawn Meireles Machado

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte

Programação Básica. Estrutura de um algoritmo

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Processamento da Informação

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

Conceitos Básicos Linguagem C

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Paradigmas de Linguagens

Introdução à Computação MAC0110

Os computadores ditigais podem ser classificados em 5 grupos distintos:

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Manutenção de Computadores e Redes

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Lição 4 Fundamentos da programação

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Aula 4 - Operadores. Prof. Laura Silva de Assis. Engenharia de Computação 2 o Período

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Introdução à Programação

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

1. Conceitos Básicos de Computação

3. Linguagem de Programação C

Introdução à Programação em C

Nomes de variáveis Todo nome de variável deve iniciar com uma letra ou sublinha _.

Introdução à Computação MAC0110

Fluxogramas e variáveis

Oficina de Python Prof. Me. José Carlos Perini

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 2

Computação I (MAB120) DCC/UFRJ

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À ORGANIZAÇÃO PARA ENGENHARIA DE COMPUTADORES. Prof. Dr. Daniel Caetano

Laboratório de Programação II

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Programação científica C++

Algoritmos: Conceitos Fundamentais. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

LINGUAGEM C: PONTEIROS

Programação Estruturada

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Componentes do Computador

Disciplina de Algoritmos e Programação

Introdução. 17-out-08 Leandro Tonietto 2

ALGORITMOS E ESTRUTURA DE DADOS

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Introdução à Programação

1/50. Conceitos Básicos. Programa Básico

Introdução a Computação

Linguagem de Programação. Thiago Leite Francisco Barretto

01/08/2011 PROGRAMAÇÃO EM LINGUAGEM C. Histórico

Transcrição:

Processing Aula 2 Prof. Wallace Lages

Aula 2 Computadores e lógica digital Variáveis Condicionais

Computador ou calculadora?

Computador Máquina programável capaz de realizar automaticamente uma sequência de operações lógicas e aritméticas Programa Entrada Comandos lógicos ou aritméticos saída

Z3 Réplica do Zuse Z3 no Deutsches Museum em Munique - Wikipedia Primeiro computador programável (Berlim,1941). Desenvolvido por Konrad Zuse Eletro-mecânico (relés) Programa armazenado em película de filme 35mm perfurada Sem desvios

Z3 Operações: Ler Mostrar Multiplicar Dividir Raiz Quadrada Adicionar/Subtrair Sinal

Lógica booleana Desenvolvida por George Boole em1840 Cálculo lógico realizado sobre um conjunto de dois valores {0,1} Conveniente porque era fácil armazenar valores binários e fazer contas com eles.

Lógica Booleana

Unidade lógica Aritmética Circuito responsável por realizar operações lógicas e aritméticas Operações lógicas bit a bit AND,OR,XOR,etc) Operações inteiras (soma, multiplicação, etc)

Codificação em base 2 Binário 1 1 0 1 Decimal 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 13 8 bits = 2 8 = 256 possibilidades 16 bits = 2 16 = 65.536 possibilidades

ENIAC Primeiro Computador Eletrônico programável (1946, EUA) Projetado e desenvolvido pela Universidade da Pennsilvânia Programação por meio de religação dos fios

Manchester Small-Scale Experimental Machine Primeiro computador com programa armazenado Construído na Universidade Vitória de Manchester (1948) Utilizava CRT como memória de acesso randômico

Arquitetura Von Neumman Programa e Dados

Um computador atual

Um computador atual Processador, disco, placa de vídeo, memória

Compiladores Facilitar a programação dos computadores! Linguagem de máquina: 110 001111 111 010001

Compiladores Linguagem assembly: Sto 15 Add 17

Compiladores Linguagem de alto nível: 17 + 15

Compiladores Processo de compilação: 17 + 15 => 110 001111 111 010001

Variáveis Na matemática: Valor indeterminado 20x + 10 = 50 Qual o valor de x?

Variáveis Na computação: Espaço na memória associado a um nome x = 17 + 15

Variáveis Útil para guardar valores intermediários x = 17 + 15

Variáveis Analogia:

Variáveis Declaração boolean : true or false char : caractere ('a', 'b') byte : 128 to 127 short : 32768 to 32767 int : 2147483648 to 2147483647 long : números maiores que int float :decimais double : decimais de precisão dupla

Variáveis Inicialização int count; count = 50; Ou int count = 50;

Variáveis Nomes width largura em pixels da janela de desenho height altura em pixels da janela de desenho framecount número de quadros processados framerate taxa de processamento de quadros screen.width largura em pixels da tela screen.height altura em pixels da tela key última tecla pressionada keycode código numérico para a tecla pressionada keypressed verdadeiro se uma tecla foi pressionada mousepressed verdadeiro se o mouse foi pressionado mousebutton botão do mouse pressionado

Variáveis Utilizando variáveis int circlex = 100; int circley = 100; void setup() { } size(200,200); void draw() { background(100); stroke(255); fill(0); ellipse(circlex,circley,50,50); }

Variáveis Variando as variáveis int circle X = 0; int circley = 100; void setup() { size(200,200); } void draw() { background(255); stroke(0); fill(175); ellipse(circlex,circley,50,50); circlex = circlex + 1; }

Variáveis Exercício Façam o círculo crescer a medida que desloca Façam o círculo seguir o mouse e crescer Como variar a velocidade com que o círculo cresce?

Variáveis Exercício 2 Escreva um programa que desenhe um círculo colorido. Nota: Utilizem variáveis!

Variáveis Exercício 2 float r = 100; float g = 150; float b = 200; float a = 200; float diam = 20; float x = 100; float y = 100; void setup() { size(200,200); background(255); Smooth(); } } void draw() { stroke(0); fill(r,g,b,a); ellipse(x,y,diam,diam); }

Variáveis Random Mudar o código para criar círculos aleatórios de tamanho diferentes

Variáveis Random Função random: float w = random(1,100); int w = (int) random(1,100); fill(r,g,b,a); ellipse(x,y,diam,diam);

Condicionais Expressões booleanas Testes de Verdadeiro ou Falso. 15 é maior que 20 Falso 22 é menor que 32 Verdadeiro

Condicionais Expressões booleanas Operadores relacionais > maior que < menor que >= maior ou igual <= menor ou igual == igual!= diferente

Condicionais Expressões booleanas Operadores relacionais 15 > 20 22 < 32 X!= Y Z <= 10

Condicionais Expressões booleanas if, else, else if Se o mouse estiver no lado esquerdo da tela Desenhe um retângulo do lado esquerdo da tela

Condicionais Expressões booleanas if, else, else if Se o mouse estiver no lado esquerdo da tela Desenhe um retângulo do lado esquerdo da tela If( mousex < width/2){ Fill(255) rect(0,0,width/2,width/2) }

Condicionais Expressões booleanas if, else, else if if (expressão booleana) { } // código a ser executado se verdadeiro

Condicionais Expressões booleanas if, else, else if if (expressão booleana A) { // código a ser executado se verdadeiro } else if (expressão booleana B){ //código a ser executado se A for falso e B verdadeiro } else{ //código a ser executado se A e B forem falsos }

Condicionais Expressões booleanas if, else, else if if (expressão booleana) { // código a ser executado se verdadeiro } else { //código a ser executado se falso }

Condicionais Expressões booleanas if, else, else if if (expressão booleana) { // código a ser executado se verdadeiro } else { //código a ser executado se falso }

Condicionais Expressões booleanas exercício Escreva um programa que: 1-Possua 3 variáveis (R,G e B) 2-Desenhe o fundo continuamente dessas 2 cores 3-Incremente R se o mouse estiver do lado direito da tela 4-Decremente R se o mouse estiver do lado esquerdo da tela 5-Não deixa o valor de R passar do intervalo (0,255)

Condicionais Expressões booleanas exercício float r = 150; float g = 0; float b = 0; void setup() { size(200,200); } void draw() { background(r,g,b); stroke(255); line(width/2,0,width/2,height); if(mousex > width/2) { r = r + 1; } else { r = r - 1; } if (r > 255) { r = 255; } else if (r < 0) { r = 0; } }

Condicionais Expressões booleanas constrain if (r > 255) { r = 255; } else if (r < 0) { } r = 0; r = constrain(r,0,255);

Condicionais Operadores lógicos Se o mouse estiver no lado direito da tela E o mouse estiver na parte de baixo da tela Desenhe um retângulo no canto direito inferior if (mousex > width/2) { if (mousey > height/2) { fill(255); rect(width/2,height/2,width/2,height/2); } }