PROGRAMAÇÃO PARA DESIGNERS - PENSAR COMO O INIMIGO

Documentos relacionados
Introdução à Programação em C Input / Output

Introdução à Programação em C (II)

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

Laboratório de Programação II

SEBENTA INTRODUÇÃO Á ALGORITMIA

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

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

CONJUNTO DE INSTRUÇÕES

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2006/2007

Introdução à Programação em C

Organização de Computadores I

Algoritmos e Estrutura de Dados. Algoritmos Prof. Tiago A. E. Ferreira

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

As duas instruções acima são semelhantes, embora a segunda seja a maneira original de se declarar um novo objeto.

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Pseudocódigo e Visualg

Algoritmos e Programação

Estruturas de Condição, Iteração, Arrays e Enumareção

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Fundamentos Programação

Laços de repetição for, while, do-while

Oficina: Programação para Android com o App Inventor. Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos.

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP

Lógica de Programação, Algoritmos e Estruturas de Dados

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

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

TUTORIAL. Trabalhando com a base de dados no QGIS: Operações com Texto QGIS.

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Linguagens de Programação I. Introdução a Algoritmos e Lógica de Programação

Organização e Arquitetura de Computadores I

Introdução à Programação. 2ª aula. Prof. José Honorato F. Nunes

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Introdução à Linguagem Lua Variáveis e Expressões

Análise e Complexidade de Algoritmos

Introdução à Programação

Conceitos Básicos Linguagem C

I - CONCEITOS INICIAIS

TÉCNICO DE INFORMÁTICA - SISTEMAS

Aula 10: Introdução a Vetores e Matrizes

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores

Oficina de Python Prof. Me. José Carlos Perini

2. Conversões de base

Introdução à Algoritmia

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Programação. Folha Prática 7. Lab. 7. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Variáveis primitivas e Controle de fluxo

Algoritmos. Prof. Jonatas Bastos Site:

Estruturas de Repetição

Vamos estudar o que se entende por «programação», que é uma linguagem de programação e ver algumas terminologias própria de programação e como

Exercícios Data Modeling

CTIONSCRIPT. Painel Action

Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas

Informática para Ciências e Engenharias 2013/14. Teórica 7

Estruturas de Repetição Parte I ENQUANTO

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

Aula 10 Comandos de Repetição For e Do While

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Aula 4: Introdução à Linguagem C++

FORMATO DO PROGRAMA FONTE

Oficina de Python Prof. Me. José Carlos Perini

Métodos de Programação I Ana Maria de Almeida

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

Nesta aula... Iteração indefinida. 1 Decisões em Python. 2 Funções lógicas. 3 Recursão. 4 Iteração. 5 Ciclo for ou while?

Capítulo 1 Conceitos Básicos

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

PROGRAMAÇÃO I. Introdução

Aula 4 Introdução ao C

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

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Ambiente de desenvolvimento

Transcrição:

PROGRAMAÇÃO PARA DESIGNERS - PENSAR COMO O INIMIGO Introdução "Para derrotar o inimigo é preciso pensar como ele" Actionscripting na perspectiva de um designer não é muito fácil porque vê-em o mundo em função de assuntos, formas, conteúdos. Para ter sucesso como programador é necessário apanhar muitos calafrios (problemas de resolução complicada na perspectiva de um programador). É necessário identificar o problema (calafrio) para a seguir criar a solução passo a passo. Tudo isto é actionscript. Lista de instruções passo a passo, o computador executa as instruções pela ordem que estão escritas, uma a seguir á outra. Esta lista pode ser simples ou muito complicado, como quisermos. Para uma instance o comando, Go to and Play (1) é uma instrução muito simples. Quando o player chega á frame onde a instrução está, executa a instrução e salta para a primeira frame do movie. Programar é encontrar um método que resolva o nosso problema, o melhor é quebrá-lo em subprogramas e resolve-los individualmente, após isto temos o nosso problema principal resolvido. Definição: Programadores chamam ás instruções passo a passo "Algoritmos". Os algoritmos são usados para criar as bases para um programa de computador. Neste tutorial iremos trabalhar com um exemplo da vida real para conseguir-mos entender como um programador pensa. Então, vamos resolver um problema de actionscript. No fim deste tutorial de certo entendemos melhor como se desenvolve actionscript! Nas próximas páginas vamos entender o processo mental necessário a um programador. "Praticar torna-te perfeito

Tutorial Exemplo da Vida Real Pegar num exemplo da vida real - Comprar Leite. 1.Encontrar as chaves e a carteira 2.Conduzir até ao supermercado 3.Encontrar o leite 4.Comprar o leite 5.Conduzir para casa Agora que foram encontrados os maiores subproblemas, refinar e resolver cada um deles. Quando cada um deles estiver resolvido o problema inteiro está resolvido. Por exemplo passo 4: 4. Comprar o leite 4.1 Procurar o preço 4.2 Subtrair o valor á carteira Vamos resolver um problema em actionscript - Converter uma string em minúsculas Identificação do Algoritmo Antes de fazer qualquer há que identificar o ambiente ou contexto em que o script vai operar.

Neste exemplo há uma text field "input" que permite introduzir a "string". Há outra text field "output" para mostrar o resultado. Agora olhar para o problema e partir em subproblemas. Converter em minúsculas 1. Inicializar variáveis (e text fields) 2. Encontrar (primeira) letra 3. Converter em minúsculas se (IF) necessário 4. Adicionar a letra convertida á variável "output" 5. Preparar para procurar a próxima letra Uma consideração que possivelmente já questionou, "Como vamos preparar a pesquisa da próxima letra?" Temos que introduzir uma string e a tarefa é converter cada letra, se (IF) necessário, em minúsculas. Significa isto que cada letra tem que ser corrida uma a seguir a outra ordenadamente. O pouco de senso comum e experiência diz esta é a técnica para fazer isto é usando uma variável contadora. Esta variável pode ser incrementada para permitir extrair e mover o caracter #1 para #2 para #3 e assim por diante. Outro aspecto que poderá já ter reparado, é que o passo 2 e 5 são praticamente a mesma coisa para cada letra. A única coisa que muda é a letra a ser convertida. Assim a experiência indica que este é o lugar perfeito para usar a acção Loop. Então adiciona mais este passo para o fundo da tua lista. Refinar Algoritmo Agora olhar para cada sub problema e verificar se é possível refinar mais. Um desses é o ponto 3, converter em minúsculas se (IF) necessário. Mas antes de avançar é necessário entender um pouco sobre caracteres. Cada caracter no teclado está associado a um valor que é conhecido como código ASCII. Por exemplo o código para a letra "a" é 97 e "A" é 65 (a diferença é 32, memorizar isto para mais tarde). Este código será usado para auxiliar a conversão. Vejamos agora o ponto 3 refinado subproblemas resolvidos. 3. Converter em minúsculas se (IF) necessário 3.1 Verificar se (IF) a letra está entre "A" e "Z" 3.2 se (IF) sim converter a letra em código ASCII 3.3 adiciona (add) 32 ao código (diferença numérica entre os códigos "a" e "A") 3.4 Converte o valor de ASCII para caracter Agora que não é possível dividir em mais subprogramas o próximo passo é converter em código a lista de instruções. Criar o Código (a numeração seguinte é a do algoritmo) #1.Inicialização de Variáveis OK, há uma text field para o Output que tem que estar em branco e uma variável contadora que começa na primeira letra (#1) quando este código é executado. Então o código terá este aspecto:

aspecto: Set Variable: "r" = 1 Set Variable: "output" = "" #2.Encontrar (primeira) letra Do nosso conhecimento de Funções sabemos que o modo de extrair caracteres de uma string é através da função substring. Também será melhor guardar o valor numa variável para usar mais tarde. Set Variable: "character" = Substring (input, r, 1) Os argumentos para esta função, da esquerda para a direita, o primeiro é a string onde se vai extrair os caracteres. Neste caso é a variável "input" que contém a string de entrada. O segundo argumento é posição onde se começa a extracção da subtring. O último argumento é o número de caracteres a extrair. Neste caso só precisamos de um. #3.Converter em minúscula se (If) necessário #3.1 Verificar se (IF) a letra está entre "A" e "Z" Tudo o que é necessário é sacar o código ASCII da letra e ter a certeza que se encontra entre "A" e "Z". Se não estiver não se faz nenhuma conversão e o programa continua na letra seguinte. A função Ord converte uma letra num número para permitir uma comparação numérica. If (Ord(character) >= Ord("A") and Ord(character) <= Ord ("Z")) #3.2 Se (IF) sim converter a letra em código ASCII Aqui utiliza-se outra vez a função Ord mas desta vez para a transformar código ASCII e guardar numa variável temporária. Set Variable: "uppercode" = Ord (character) #3.3 Adiciona (add) 32 ao código (diferença numérica entre os códigos "a" e "A") O próximo passo é converter o número ("uppercode") em código ASCII equivalente á letra minúscula somando 32 e armazenar este valor na variável temporária "lowercode". ((a letra "A" = 65) + 32 ) = (97 = a letra "a") Set Variable: "lowercode" = uppercode + 32 #3.4 Converte o valor de ASCII para caracter Neste passo tudo o que se vai fazer é converter o valor do código ASCII da minúscula (armazenado na variável "lowercase") para caracter com a função Chr. Set Variable: "lowercaseletter" = Chr (lowercode) #4. Adicionar a letra convertida á variável "output" Concatenar a variável output com a letra convertida. Set Variable: "output" = output & lowercaseletter #5. Preparar para procurar a próxima letra Agora temos que preparar a próximo letra. Para isso usar a variável r utilizada na função substring. Lembrar que esta variável controla a posição a partir de onde a extracção da letra a avaliar é feita. Assim, após a primeira letra ser avaliada incrementar-mos 1 valor ao r,função substring vai agora procurar a 2 letra

Set Variable: "r" = r+1 #6. Salta para o passo #2 até toda a string estar convertida Enquanto no algoritmo este passo vem no fim, na actionscript vem no início. Esta função vai repetir todo o processo anterior letra á letra até elas acabarem. Se a variável contadora "r" for maior que o numero de letras da string armazenada na variável "input" então o programa acaba. Loop While (r <= Length (input)) Colocar tudo junto Agora, colocar tudo junto! Se nos lembrar-mos da lista de instruções, temos algo como isto. (as linhas estão coloridas para ser possível relacionar o algoritmo e a actionscript) 1. Inicialização de Variáveis (e text fields) 2. Encontrar (primeira) letra 3. Converter em minúscula se (If) necessário 3.1 Verificar se (IF) a letra está entre A e Z 3.2 Se (IF) sim converter a letra em código ASCII 3.3 Adiciona (add) 32 ao código (diferença numérica entre os códigos "a" e "A") 3.4 Converte o valor de ASCII para caracter 4. Adicionar a letra convertida á variável "output" 5. Preparar para procurar a próxima letra 6. Salta para o passo #2 até toda a string estar convertida Agora quando se junta todas as actionscripts deverá ter algo como isto. Set Variable: "r" = 1 Set Variable: "output" = "" Loop While (r <= Length (input)) Set Variable: "character" = Substring (input,r, 1) If (Ord (character)>=ord("a") and Ord(character)<=Ord ("Z")) Set Variable: "uppernumber" = Ord (character) Set Variable: "lowernumber" = uppernumber + 32 Set Variable: "character" = Chr (lowernumber) End If Set Variable: "output" = output & character Set Variable: "r" = r+1 End Loop

Fechar Raciocínio Para encerrar fica aqui a actionscripting em funcionamento! Esperamos que este tutorial tenha sido útil. Boa Sorte e nunca esquecer que um programador pensa passo a passo!