Introdução a Programação

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

Introdução a Algoritmos
‘ Por que estudar sistemas de informação?
Construção de Aplicativos Computacionais METEOROLOGIA
Marco Antonio Montebello Júnior
AUTOMAÇÃO DE ESCRITÓRIOS
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Linguagem de Montagem Visão geral.
Programação para Geociências
Introdução a Programação Renata Freire
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Introdução a Informática
Lógica de Programação Módulo II
Conceitos Básicos de Informática INTRODUÇÃO À TERMINOLOGIA BÁSICA
INTRODUÇÃO À PROGRAMAÇÃO
Universidade Federal do Espírito Santo
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Programação e Sistemas de Informação
Modelos de Processos de Software
Engenharia de Software
INTRODUÇÃO À PROGRAMAÇÃO
Algoritmos Prof. Kelly E. Medeiros.
PRC Bruno Correa.
Introdução a Programação
Processamento da Informação BC-05045
O Portal do Estudante de Computação
Lógica de Programação Introdução.
Introdução à Programação
Lógica e Técnicas de Programação
Fundamentos de Engenharia de SW
Introdução Capítulo 1 Lógica de Programação
INTRODUÇÃO – LOGICA E ALGORITMOS
Estrutura de dados, pseudocódigo
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
IFSul – Campus Venâncio Aires
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
Introdução a Programação
Algoritmos e Programação de Computadores
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Análise e Projeto de Sistemas
TÉCNICAS DE PROGRAMAÇÃO
Por que estudar sistemas de informação?
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
CH: 60h Créditos: 3 Prof Me. Tiago Araujo
Introdução a Algoritmos
Fábio de Oliveira Borges
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Programação de PIC em C Exposição das funções básicas para
Gabriel Bastos Machado
Linguagens de Programação
Ferramentas da Qualidade
Fundamentos de linguagens de programação
Sistemas de Informação – mais que tecnologia Profa. Reane Franco Goulart.
Linguagem Técnica de Programação
Algoritmos e Programação I
SISTEMAS DE INFORMAÇÃO
Engenharia de Software
Faculdades Integradas Camões
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Algoritmo É uma descrição seqüencial ordenada dos passos que devem ser executados de forma lógica e clara, com a finalidade de facilitar a resolução de.
Disciplina: Lógica de Programação
Introdução a Programação Aula 01 Jackson Eduardo
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
DESENVOLVIMENTO Prof: Marcelo West Disciplina: Lógica de Programação.
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Algoritmos – Conceitos Iniciais
Lógica de programação Introdução à lógica de programação
Sistemas de Informação Capítulo 6 O uso consciente da tecnologia para o gerenciamento.
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Introdução a Programação Unidade 1 Introdução a Programação Engenharia de Petróleo / Química / Produção Programação I Prof. Otacílio José Pereira

Contexto na Disciplina 1 – Introdução a Programação 2 – Elementos de Programação: Elementos Básicos 3 – Elementos de Programação: Estrutura de Controle 4 – Tipos e Estruturas de Dados 5 – Modularização

Reflexões Preliminares Como era a computação antigamente? Em que cenários a computação é aplicada atualmente? Quais partes compõem uma solução informatizada? Qual a importância dos programas de computador? Como um programa é construído?

Roteiro Evolução da Informática Cenários de Aplicação da TI Componentes da Tecnologia de Informação (TI) Conceitos de Programação Fases na construção de algoritmos Exemplos de Programas

Evolução da Informática Como você imagina que era o uso de computador por volta de 1940 à 1960? Fisicamente Extremamente grandes ENIAC: 27 toneladas / 5,5 x 24,5 metros Processamento 300 multiplicações por segundo Em geral, não existia programação ou reprogramação, a criação da solução estava em criar o hardware Em 1957 é que surge a primeira programação com chaves e cabos em painel Tipos de problemas Sobretudo cálculos matemáticos e científicos Forte uso em ambientes acadêmicos Apresentar idéias de como a computação era antigamente Comentar curiosidades sobre tamanho e capacidade de processamento Comentar como os computadores eram empregados, quais os tipos de programas Aguçar a reflexão com assuntos de pesquisa e academia servindo de base para soluções daqui

Evolução da Informática Os computadores com o tempo se tornaram: Mais compactos Mais poderosos em termos de processamento A entrada e saída de dados ficou mais facilitada Ganharam outras aplicações Continuaram os cálculos matemáticos Planilhas eletrônicas Processamento de dados, por exemplo, folha de pagamento Processamento de texto Facilidade de programação para a criação de soluções para tipos mais variados de problemas O hardware passa a ser de caráter geral, o esforço está na criação do software Apresentar idéias de como a computação era antigamente Comentar curiosidades sobre tamanho e capacidade de processamento Comentar como os computadores eram empregados, quais os tipos de programas Aguçar a reflexão com assuntos de pesquisa e academia servindo de base para soluções daqui

Cenários de Aplicação De maneira simplificada, o motivo da utilização de computadores é a resolução de problemas de maneira mais rápida e eficiente Atualmente, em quais cenários percebemos a aplicação do computador no dia a dia? Quais tipos de problemas são enquadrados nestes cenários? Quais tipos de problemas não são bem resolvidos por computador? Apresentar idéias de como a computação era antigamente Comentar curiosidades sobre tamanho e capacidade de processamento Comentar como os computadores eram empregados, quais os tipos de programas

Componentes de solução de TI Tecnologia de Informação (TI) A tecnologia de informação é qualquer tecnologia que seja aplicada à coleta, geração, armazenamento, análise, manipulação e distribuição da informação. Os componentes da TI dividem-se em quatro partes: Hardware Software Banco de Dados Telecomunicações Com base nos cenários citados anteriormente, Explorar os diversos componentes das soluções Enfatizar em que partes programas são mais bem empregados

Componentes de solução de TI De maneira mais informal, observando um cenário de aplicação da TI, podemos encontrar os seguintes componentes Usuários Programas Cliente Redes Servidores Bancos de Dados Hardware Com base nos cenários citados anteriormente, Explorar os diversos componentes das soluções Enfatizar em que partes programas são mais bem empregados

Componentes de solução de TI Hardware versus Software Comentar sobre hardware e software Hardware: partes físicas que compõem o computador Software: partes lógicas instaladas no computador O hardware tem sido padronizado, de maneira que a criação de soluções tem se concentrado nos programas Brincadeira “Software é o que você esbraveja, Hardware é o que você chuta” Com base nos cenários citados anteriormente, Explorar os diversos componentes das soluções Enfatizar em que partes programas são mais bem empregados

Conceitos de Programação Sistema automatizado Conjunto de processos envolvendo TI, pessoas e atividades para atingir um determinado objetivo Exemplo: Informatizar uma loja Software Dispositivo instalado em um computador composto de programa, estruturas de dados e documentação Exemplo: o software instalado na loja informatizada Programa Conjunto de instruções em uma sequência lógica, que quando executadas por um computador geram um resultado esperado Na verdade, apesar dos comentários associados a cada um, os termos acima são comumente empregados para denotar algo que é instalado no computador para uma certa finalidade. Uma vez que as diversas partes estão compreendidas, a questão agora é aprofundar sobre a programação Enfatizar o papel dos programas e da programação nas soluções de TI Mencionar os conceitos relacionados a programação Exercitar alguns exemplos: entrada e saída, o programa, os fontes, a lógica e outros

Conceitos de Programação Questão O esquema de TI e os termos anteriores servem para nos orientar para o nosso foco, a criação de programas Dentro de nossa figura de soluções de TI, percebemos que: As soluções são basicamente baseadas em programas (software) Executados em máquinas clientes ou servidores (hardware) As informações destes programas em geral são armazenadas em bancos de dados E a comunicação entre as máquinas envolvidas em uma solução se dá pelas tecnologias de redes de computadores Uma vez que as diversas partes estão compreendidas, a questão agora é aprofundar sobre a programação Enfatizar o papel dos programas e da programação nas soluções de TI Mencionar os conceitos relacionados a programação Exercitar alguns exemplos: entrada e saída, o programa, os fontes, a lógica e outros

Conceitos de Programação Enfatizando agora os programas, os seguintes elementos devem ser compreendidos Instruções Cada passo que é “especificado” como tarefa para o computador é considerada uma instrução É a informação que indica a um computador uma ação elementar a executar Algoritmo Para resolver um problema, é necessário um conjunto de instruções colocadas em uma ordem sequencial lógica Este conjunto organizado das instruções é o algoritmo Lógica de Programação É a técnica de encadear pensamentos para se atingir um determinado objetivo através de um programa Palavra chave: “como encadear o pensamento”, aí está a lógica Estrutura de Dados São as informações usadas por um programa na solução do problema Por exemplo, para somar dois números, os números são em si os dados Para processar uma folha de pagamento, os dados do funcionário são necessários Programa O algoritmo pode ser descrito de várias formas Para que ele seja executado por um computador, ele deve ser traduzido para uma linguagem de programação para então virar um programa compreendido pelo computador Programa = Algoritmos + Estrutura de Dados Uma vez que as diversas partes estão compreendidas, a questão agora é aprofundar sobre a programação Enfatizar o papel dos programas e da programação nas soluções de TI Mencionar os conceitos relacionados a programação Exercitar alguns exemplos: entrada e saída, o programa, os fontes, a lógica e outros

Conceitos de Programação Exemplo 1 – Receita de bolo Imagine que você precisa fazer um bolo Que ingredientes você empregaria? Como você faria o bolo? Neste cenário, o que representaria: Instruções Algoritmo Lógica Dados Programa Uma vez que as diversas partes estão compreendidas, a questão agora é aprofundar sobre a programação Enfatizar o papel dos programas e da programação nas soluções de TI Mencionar os conceitos relacionados a programação Exercitar alguns exemplos: entrada e saída, o programa, os fontes, a lógica e outros

Conceitos de Programação Exemplo 1 – Problema simples de física Imagine que você precise resolver o seguinte problema Você precisa sair de Vitória às 6:00 e chegar em São Mateus às 9:00 da manhã. Sabendo que de Vitória a São Mateus são 240Km e que o carro faz 12Km com um litro Qual a velocidade média a ser adotada? Com quantos litros devemos abastecer o carro? Neste cenário, o que representaria Instruções Algoritmo Lógica Dados Programa Uma vez que as diversas partes estão compreendidas, a questão agora é aprofundar sobre a programação Enfatizar o papel dos programas e da programação nas soluções de TI Mencionar os conceitos relacionados a programação Exercitar alguns exemplos: entrada e saída, o programa, os fontes, a lógica e outros

Fases na Construção de Programas Até então comentamos: Sobre o uso da TI na solução de problemas Dentro da TI, um dos elementos são os programas Os programas envolvem algoritmos, lógica, dados e outros Mas como construir programas? Perceba que este é o foco desta disciplina Dado um problema Encontrar um algoritmo que o resolva Implementá-lo em um computador para solução Como construir programas? Pensar antes numa questão maior, como resolver problemas? A partir daí, discutir as fases na construção de um problema. Explorar um exemplo já citado anteriormente. Discutir as fases de sua implementação No construir da lógica, comentar sobre uma abordagem mais empírica (anotações) e uma abordagem mais sistmática (pseudocódigo) Comentar sobre a transformação do pseudocódigo em programa em si

Fases na Construção de Programas Podemos generalizar e considerar a construção de algoritmos como “resolver problemas” só que de maneira algorítmica ou computadorizada É importante perceber que para resolver problemas, é importante passar por algumas fases Compreensão do problema Estabelecer um plano de resolução Executar o plano de resolução Verificar o resultado Como construir programas? Pensar antes numa questão maior, como resolver problemas? A partir daí, discutir as fases na construção de um problema. Explorar um exemplo já citado anteriormente. Discutir as fases de sua implementação No construir da lógica, comentar sobre uma abordagem mais empírica (anotações) e uma abordagem mais sistmática (pseudocódigo) Comentar sobre a transformação do pseudocódigo em programa em si

Compreensão Envolve em geral Caracterizar o problema Identificar seus fatores e variáveis de entrada Identificar o que se quer como resultado ao problema Identificar a natureza do problema e problemas similiares

Especificação Envolve em geral Parar para pensar / Usar de criatividade e imaginação Encontrar alternativas para solução e refiná-las Quais sugestões e fontes de referência podem ser empregadas? Começar do zero ou se inspirar em alguma prévia? Não necessariamente precisa ser o “código fonte”, este nível é mais alto, na estratégia de solução do problema Escolher qual alternativa empregar, em geral relacionada ao custo/eficiência

Realização Envolve em geral Quais atividades desempenhar? Realizar as atividades, implementar as coisas conforme a especificação Executar o que foi pensado e planejado para a solução Armazenar e manipular as informações Corrigir desvios no plano

Avaliação Envolve em geral: Avaliar as informações geradas Validar a solução do problema Identificar erros e refinar o problema e a solução

Pontos importantes Atenção As etapas não precisam ser necessariamente sequenciais elas podem ser cíclicas e proporcionar um refinamento sucessivo do problema e da solução É interessante observar que o uso desta metodologia é amplo Não foca só programação e algoritmos. Outras áreas: Engenharia de Software Cotidiano (questões financeiras – orçamento financeiro) Construção de uma casa

Construção de Algoritmos Quais “ingredientes” necessários para construir algoritmos? Para “colocar ordem no pensamento” e conquistar a habilidade de construir algoritmos é importante ter: Organização Encontrar um roteiro, esquematizar idéias Criatividade Buscar e encontrar idéias de como resolver (Insights) Perseverança As vezes é difícil portanto deve-se persistir Padronização Na especificação da solução, deve-se seguir algumas regras Otimização Muitas vezes existem várias soluções, daí sempre pensar em alternativas e em qual melhor se adequa Como construir programas? Pensar antes numa questão maior, como resolver problemas? A partir daí, discutir as fases na construção de um problema. Explorar um exemplo já citado anteriormente. Discutir as fases de sua implementação No construir da lógica, comentar sobre uma abordagem mais empírica (anotações) e uma abordagem mais sistmática (pseudocódigo) Comentar sobre a transformação do pseudocódigo em programa em si

Construção de Algoritmos Retomando nossos exemplos Exemplo 1 : Receita de bolo Exemplo 2 : Cálculo de física Como especificamos a solução? Escrevendo frases organizadas Isso já é um passo para o que chamamos de “pseudo-código” Pseudo: falso Código: algo compreendido pelo computador Como construir programas? Pensar antes numa questão maior, como resolver problemas? A partir daí, discutir as fases na construção de um problema. Explorar um exemplo já citado anteriormente. Discutir as fases de sua implementação No construir da lógica, comentar sobre uma abordagem mais empírica (anotações) e uma abordagem mais sistmática (pseudocódigo) Comentar sobre a transformação do pseudocódigo em programa em si

Construção de Algoritmos Estrutura de um algoritmo Algoritmo <Nome do Algoritmo> // Declarações <definição de estruturas, variáveis e constantes> Início // Seção de ações <conjunto de instruções> Fim Como construir programas? Pensar antes numa questão maior, como resolver problemas? A partir daí, discutir as fases na construção de um problema. Explorar um exemplo já citado anteriormente. Discutir as fases de sua implementação No construir da lógica, comentar sobre uma abordagem mais empírica (anotações) e uma abordagem mais sistmática (pseudocódigo) Comentar sobre a transformação do pseudocódigo em programa em si

Construção de Algoritmos Operações comuns ao se estruturar um algoritmo Leitura e escrita de dados Atribuições Operadores Determinar o sequenciamento Sequência simples Estruturas condicionais (SE) Estruturas de repetição (ENQUANTO, PARA) Como construir programas? Pensar antes numa questão maior, como resolver problemas? A partir daí, discutir as fases na construção de um problema. Explorar um exemplo já citado anteriormente. Discutir as fases de sua implementação No construir da lógica, comentar sobre uma abordagem mais empírica (anotações) e uma abordagem mais sistmática (pseudocódigo) Comentar sobre a transformação do pseudocódigo em programa em si

Construção de Algoritmos Imaginando um algoritmo para troca de lâmpadas Algoritmo <TROCA LÂMPADA> ... Início Ligar interruptor SE a lâmpada não acender ENTÃO - Pegar escada - Posicionar a escada embaixo da lâmpada - Buscar uma lâmpada nova - Subir na escada - Retirar lâmpada velha do bocal - Colocar lâmpada nova no bocal - ENQUANTO a lâmpada não acender FAÇA Retirar lâmpada do bocal Colocar outra lâmpada no bocal Fim Como construir programas? Pensar antes numa questão maior, como resolver problemas? A partir daí, discutir as fases na construção de um problema. Explorar um exemplo já citado anteriormente. Discutir as fases de sua implementação No construir da lógica, comentar sobre uma abordagem mais empírica (anotações) e uma abordagem mais sistmática (pseudocódigo) Comentar sobre a transformação do pseudocódigo em programa em si

Para saber mais! Leituras Recomendadas Exercícios GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos Estruturados. LTC, Rio de Janeiro, 1985. Capítulo 1 – Introdução o conceito de algoritmo e programação estruturada FARRER, Harry et al. Algoritmos Estruturados. 2 ed. Ed Guanabara, Rio de Janeiro, 1989. Capítulo 0 – Introdução a Ciência de Computação Exercícios Resolver exercícios da primeira lista Para a parte inicial: histórico e cenário atual Identificar, dentro de sua área, possíveis cenários de aplicação da programação Para a parte de componentes e de programação Para um determinado cenário, discutir os componentes Para um determinado programa, discutir quais os conceitos relacionados Pedir para desenvolver um pequeno programa, e indicar quais os elementos da programação Para os exemplos Solicitar a solução de determinados programas Basear-se nos exercícios que serão explorados posteriormente na implementação

Revisão Pontos chaves Quais cenários de aplicação e quais os elementos de uma solução de TI? Por que aplicar TI na solução dos cenários? O que são programas e quais seus “componentes”? Quais as etapas para a solução de problemas, dentre eles, a solução de problemas por meio de programas? Como organizar o pensamento para encontrar uma sequência de instruções para resolver um problema? Retomar os objetivos Como aplicar a Tecnologia de Informação para solução de problemas em diversas áreas? Como uma solução de TI é estruturada e qual o papel dos programas? Como construir um programa?