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

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

Embed Size (px)

Citation preview

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

Unidade 1

Introdução a Programação

Engenharia de Petróleo / Química / Produção

Programação IProf. Otacílio José Pereira

Page 2: 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

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

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?

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

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

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

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

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

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

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

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?

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

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

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

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

Sistema (Cliente)

Requisita consultas ao Servidor de Banco de Dados

Bancos de Dados

Usuário

Servidor de Banco de Dados

Modelo Relacional

RH

Programa do SGBD

Ace

ssa

FinanceiroVendas

Estrut

urad

o

Clientes Vendas

Itens Produtos

Consultas escritas em SQL

Servidor processa e retorna resultados

Resultados

Arm

azen

ados

em D

isco

Disco Rígido

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

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”

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

Construção de Algoritmos

• Imaginando um algoritmo para troca de lâmpadas

Algoritmo <TROCA LÂMPADA>...

InícioLigar interruptorSE 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 bocalColocar outra lâmpada no bocal

Fim

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

Para saber mais!

• Leituras Recomendadas• 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

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

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?