Informática Aplicada à Engenharia Florestal INTRODUÇÃO

Documentos relacionados
Informática Aplicada à Engenharia Florestal

Fundamentos de Programação. Diagrama de blocos

Informática I. Aula Aula 19-20/06/06 1

Conteúdo programático

Tratamento e Análise de Dados e Informações (TADI)

Sobre o Visual C

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Programação de Computadores I. Linguagem C Função

Aula 11: Desvios e Laços

Insight for a better planet SOLUÇÕES EM PLANEJAMENTO, AGENDAMENTO E OTIMIZAÇÃO FLORESTAL

SISTEMAS DISTRIBUÍDOS

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

VIII Oficinas de Formação A Escola na Sociedade da Informação e do Conhecimento praticar ao Sábado. E-learning. 3 de Março de 2007

Os salários de 15 áreas de TI nas cinco regiões do Brasil

ENGENHARIA DE SOFTWARE

Experiência 04: Comandos para testes e identificação do computador na rede.

Controlo parental AVISO PARA OS PAIS. Vita antes de permitir que os seus filhos joguem. Defina o controlo parental no sistema PlayStation

Instituto Superior Técnico

Aula 1 Oficina de Programação e Laboratório Apresentação. Profa. Elaine Faria UFU

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

T.I. para o DealerSuite: Servidores Versão: 1.1

DK105 GROVE. Temperatura e Umidade. Radiuino

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

Pressuposições à ANOVA

Treinamento sobre Progress Report.

Marcus Araújo e Rosinda Ramos

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

Linguagem de Programação

COMO ELABORAR UM CURRÍCULO

Fundamentos de Teste de Software

Programação de Computadores - I. Profª Beatriz Profº Israel

CIBERESPAÇO E O ENSINO: ANÁLISE DAS REDES SOCIAIS NO ENSINO FUNDAMENTAL II NA ESCOLA ESTADUAL PROFESSOR VIANA

INTRODUÇÃO À INFORMÁTICA: TERMINOLOGIA BÁSICA RAÍ ALVES TAMARINDO

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Introdução à Informática

Inteligência Artificial

Introdução à Programação com Python

O texto de hoje da UNESCO é simples mas deveria ser pensado por todos nós. Vamos a ele:

BEM VINDOS ALUNOS DA GRADUAÇÃ ÇÃO. GESTÃO INTEGRADA PESSOAS E SISTEMAS DE INFORMAÇÃ ÇÃO O QUE O MUNDO TEM A VER COM MARKETING?

Depois do estudo deste capítulo, o estudante deve ser capaz de:

Avaliação Econômica Projeto de Inclusão Digital. Naercio Aquino Menezes Filho Centro de Políticas Públicas Insper FEA-USP e Fundação Itaú Social

Maratona de Programação - Dicas Para Iniciantes

Introdução à Programação de Computadores Parte I

Conceitos básicos sobre computadores

2 Segmentação de imagens e Componentes conexas

Índice. Manual De instalação ProjectNet Manager

Gerência de Projetos e Manutenção de Software Aula 1- Apresentação do Curso. Andréa Magalhães Magdaleno andrea@ic.uff.br

MÓDULO 2 Topologias de Redes

GUIA RÁPIDO DE UTILIZAÇÃO KIT MERCURIOIV OSCILOSCÓPIO E GERADOR DE SINAIS

Eliana Lúcia Ferreira Coordenadora do Curso.

Introdução à Programação com Python

Flávia Rodrigues. Silves, 26 de Abril de 2010

2. ALGORITMOS. Unesp Campus de Guaratinguetá

TESTES SOCIOMÉTRICOS

Análise da Base Nacional Comum Curricular de Matemática. Revisado por Phil Daro, USA Common Core Standards

Testes em Laboratório - Análise

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

Avaliação de Interfaces Humano- Computador

IPERON - ABRIL VERDE/ PASSOS PARA UMA LIDERANÇA DE RESULTADOS

A Informática Na Educação: Como, Para Que e Por Que

Resolução de sistemas de equações lineares: Método de eliminação de Gauss

Guia de Referência OPEN PROJECT Treinamento Essencial

PLANO DE CARREIRA CONSOLIDAÇÃO DO PROFISSIONAL COMO CONSULTOR (CONT.) CONSOLIDAÇÃO DO PROFISSIONAL COMO CONSULTOR. Tripé: Sustentação conceitual;

Emparelhamentos Bilineares Sobre Curvas

Introdução à Engenharia de Sistemas INOVAÇÃO?

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

UNIVERSIDADE DE SÃO PAULO (USP) ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES (EACH)

CURSOS OFERECIDOS PELO ITA

Processo de Desenvolvimento de Software

Calculando seno(x)/x com o interpretador Hall.

10 maneiras para melhorar o sinal de wifi em sua casa

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO MÍDIAS NA EDUCAÇÃO CHRISTIANE MAIA DA SILVEIRA ORIENTADOR: PROFESSOR PAULO GUILHERMETI

Criando scanner para dectar BackupExec vulneráveis ao exploit do Metasploit. Inj3cti0n P4ck3t

Modelagem de Sistemas Web. Metodologias para o desenvolvimento de sistemas web

LEITURA E ESCRITA FOTO NOME DESCRIÇÃO

Estruturas de Repetição

c- Muitas vezes nos deparamos com situações em que nos sentimos tão pequenos e às vezes pensamos que não vamos dar conta de solucioná-las.

EGEA ESAPL - IPVC. Resolução de Problemas de Programação Linear, com recurso ao Excel

Exemplo COMO FAZER UM TRABALHO ESCOLAR O QUE DEVE CONSTAR EM UM TRABALHO ESCOLAR? Um Trabalho Escolar que se preze, de nível fundamental, deve conter:

Aula 03. Processadores. Prof. Ricardo Palma

ARTIGO. Sobre monitoramento a Distancia e aplicação automática de medicamentos. Sistema de monitoração a distancia e aplicação de medicamentos.

Colocar em prática. Colocar em prática. Tópicos para aprender

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Algoritmos. Prof. Jonatas Bastos

Fundamentos de Sistemas Operacionais

ASUS anuncia a família Transformer Book Chi

INCLUSÃO DIGITAL. instrumento de INCLUSÃO SOCIAL

Proinfo. Programa educacional criado pelo MEC para promover o uso pedagógico da informática na rede pública de ensino fundamental e médio.

O jogo do Mico no ensino das Funções Orgânicas: o lúdico como estratégia no PIBID

REPORT ON OESTECIM IMPLEMENTATION ACTIVITIES. over the course of the project GPP 2020

MODULAÇÃO DE UM SINAL ANALÓGICO

Autoria: Fernanda Maria Villela Reis Orientadora: Tereza G. Kirner Coordenador do Projeto: Claudio Kirner. Projeto AIPRA (Processo CNPq /2010-2)

Atividades práticas-pedagógicas desenvolvidas em espaços não formais como parte do currículo da escola formal

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores

Transcrição:

Informática Aplicada à Engenharia Florestal INTRODUÇÃO Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais

Vamos aprender a fazer programas! 2/34

Questão Fundamental Por que programar? 3/34

Por Que Programar? É divertido: Pode ser melhor do que utilizar programas feitos por terceiros. Fazer programas = resolver quebra-cabeças = exercício mental. Programação como arte... É útil: Programação como ferramenta... Há aplicações em quase qualquer atividade: Arte, ciência, filosofia, entretenimento... 4/34

Por Que Programar? Os computadores são incrivelmente rápidos, precisos e burros. Os homens são incrivelmente lentos, imprecisos e brilhantes. Juntos, seu poder ultrapassa os limites da imaginação. Albert Einstein 5/34

Muitos Pensam que Programar é... Bruxaria Coisa de Louco Coisa de Outro Mundo Apenas para Ninjas Veremos que isso não é verdade! 6/34

Vocês Devem Estar se Perguntando... Mas programar não é apenas para quem estuda computação? 7/34

Vocês Devem Estar se Perguntando... Introduction to Programming using Python Programming Course for Biologists at the Pasteur Institute: http://www.pasteur.fr/formation/infobio/python/ Há uma versão em pdf do curso para download. Course Informatics for Biology at the Pasteur Institute: http://www.pasteur.fr/formation/infobio/infobio-en.html 8/34

Vocês Devem Estar se Perguntando... Ah, Renato, você está exagerando... 9/34

Vocês Devem Estar se Perguntando... http://www.manning.com/sande/ http://helloworldbookblog.com/ Computer programming is a powerful tool for children to learn learning, that is, to learn the skills of thinking and problem-solving Children who engage in programming transfer that kind of learning to other things. Nicholas Negroponte, the man behind the One Laptop Per Child project. 10/34

Vocês Devem Estar se Perguntando... http://code.google.com/p/rur-ple/ http://code.google.com/p/play-to-program/ 11/34

Vocês Devem Estar se Perguntando... 12/34

Vocês Devem Estar se Perguntando... 13/34

Vocês Devem Estar se Perguntando... 14/34

Abordagem Há duas alternativas para iniciar o aprendizado sobre programação: Começar com uma linguagem de programação real, mas sofrer com os empecilhos que elas impõem para o aprendizado de iniciantes. Utilizar uma linguagem de programação para iniciantes, usufruindo da simplicidade oferecida para o aprendizado, mas sabendo que ela não é poderá ser utilizada para a implementação de aplicações reais. Python, como veremos nos próximos dois slides, combina os melhores aspectos dessas duas abordagens! 15/34

Por que Python? Os conceitos fundamentais da linguagem são simples de entender. A sintaxe da linguagem é clara e fácil de aprender. Os tipos pré-definidos incluídos na linguagem são poderosos e, ainda assim, simples de entender. A linguagem possui um interpretador de comandos interativo que permite aprender e testar rapidamente trechos de código. É possível escrever extensões em outras linguagens, como C e C++. 16/34

Por que Python? Existe suporte para uma grande diversidade de bibliotecas externas. Python é uma linguagem que está crescendo muito no contexto da computação científica, que é algo muito útil em engenharia e ciência em geral. Veremos alguns exemplos no final da aula, caso o tempo permita... Programadores da NASA e do Google, por exemplo, utilizam Python! Multiplataforma: Windows, Linux, Mac... Python é software livre e, portanto, grátis. Existe uma comunidade grande e muito ativa. Há muito material disponível! 17/34

Por que Python? 18/34

Por que Python? O Zen do Python, por Tim Peters Bonito é melhor que feio. Explícito é melhor que implícito. Simples é melhor que complexo. Complexo é melhor que complicado. Linear é melhor do que aninhado. Esparso é melhor que denso. Legibilidade conta. Casos especiais não são especiais o bastante para quebrar as regras. Ainda que praticidade vença a pureza. Erros nunca devem passar silenciosamente. A menos que sejam explicitamente silenciados. Diante da ambiguidade, recuse a tentação de adivinhar. Deveria haver um e preferencialmente só um modo óbvio para fazer algo. Embora esse modo possa não ser óbvio a princípio a menos que você seja holandês. Agora é melhor que nunca. Embora nunca frequentemente seja melhor que *já*. Se a implementação é difícil de explicar, é uma má ideia Se a implementação é fácil de explicar, pode ser uma boa ideia Namespaces são uma grande ideia vamos ter mais dessas! 19/34

Por que Python? http://www.python.org/about/success/ 20/34

Por que Python? http://www.python.org.br/wiki/empresaspython 21/34

Por que Python? 22/34

Aspectos Importantes A disciplina não tem como objetivo principal o estudo da linguagem Python, mas sim o estudo de programação. Portanto, apesar da linguagem Python ser muito poderosa, em muitos casos, para que seja privilegiado o exercício da lógica de programação, os recursos, apesar de disponíveis, não serão utilizados. Muitos cursos introdutórios de algoritmos e programação são centrados em listar as funcionalidades de uma linguagem de programação (mesmo que seja o Portugol). 23/34

Aspectos Importantes Entretanto, aprender a programar consiste em aprender a pensar como um programador. Assim, nesta disciplina o esforço será concentrado no processo do pensamento: Estudaremos programação como uma técnica de resolução de problemas. Programar não é fácil, mas pode ser divertido! São requisitos básicos o esforço individual de cada um e a atitude correta (isso vale para a vida em geral). Só se aprende a programar programando! 24/34

Do que Precisaremos? Uma implementação da linguagem: http://www.python.org Há um instalador para o Windows. O Linux normalmente já vem com o interpretador. Versões mais novas em 20/03/2014: 2.7.6 e 3.4.0. http://code.google.com/p/pythonxy/ Essa é a distribuição que eu utilizo, baseada atualmente na versão 2.7.6. Um editor (de texto puro ): O ambiente IDLE, que faz parte da distribuição para Windows, inclui um editor. Que versão utilizaremos? 25/34

Do que Precisaremos? 26/34

Do que Precisaremos? 27/34

Do que Precisaremos? Aprender a programar é como aprender a jogar xadrez: Entender as regras básicas é simples, mas conseguir dominá-las e fazê-las funcionar em conjunto é mais difícil! Por isso, precisaremos de: Curiosidade e vontade de aprender. Humildade. Paciência. Perseverança. 28/34

Visão Comum do Mundo 29/34

Visão Científica (Curiosa) de Mundo 30/34

Perseverança! Sempre! 31/34

Uma Pergunta Pertinente Renato, por que você não utiliza a versão mais nova da linguagem? 32/34

Primeiros Passos Python interativo: Rode o interpretador. Digite comandos Python. Cada comando é executado imediatamente. Executando um programa Python: Escreva um programa Python. Invoque o interpretador para executá-lo. Vamos brincar um pouco... 33/34

That's All Folks! 34/34