A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a Programação

Apresentações semelhantes


Apresentação em tema: "Introdução a Programação"— Transcrição da apresentação:

1 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

2 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

3 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?

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 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?


Carregar ppt "Introdução a Programação"

Apresentações semelhantes


Anúncios Google