Informática para Engenharia Ana Cristina de Castro e Araujo [email protected] ftp:...

26
Informática para Engenharia Ana Cristina de Castro e Araujo [email protected] ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC - Centro de Ciências Exatas, Ambientais e de Tecnologias Turma Curso Discipl ina 0104 224013 61123

Transcript of Informática para Engenharia Ana Cristina de Castro e Araujo [email protected] ftp:...

Page 1: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Informática para Engenharia

Ana Cristina de Castro e Araujo

[email protected]

ftp: ana.cristina/Informatica_ENG_Civil/

17/08/2009

CEATEC - Centro de Ciências Exatas, Ambientais e de Tecnologias

Turma Curso Disciplina0104 224013 61123

Page 2: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Apresentações

Objetivos / Bibliografia

Conteúdo Programático

Avaliação

Cronograma

Software e Lógica de Programação

Histórico

Agenda – Semana 1

PLANO DE CURSOPLANO DE DISCIPLINA

PLANEJAMENTO

Page 3: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Apresentações – Ana Cristina

Formação Acadêmica

Graduação em Análise de Sistemas – PUCCAMP – 1995 Mestrado em

Gerenciamento de Sistemas de Informação – PUCCAMP – 2004

Pós-Graduação em Gerenciamento de Projeto PMI – IBTA – 2009

Atividades Profissionais

PMP, Gerente de Projetos (Ícaro 2009) Líder de Projetos em software (Prógonos 2008/2009) Analista de Negócios (Motorola 2006/2008) Consultor em Desenvolvimento (Motorola 2003/2006) Gerente de Projetos em software (Autilog 2000/2003) Analista Desenvolvedor (Autilog 1995/2000) Estágios (Bancos e no CpqD 1992/1995)

Page 4: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Apresentações

... e vocês ?

Nome

O que espera desta disciplina?

Tem familiaridade com sistemas e programação? Já fez algum programa de computador antes?

Page 5: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Objetivos

Adquirir conhecimento e desenvolver a capacidade de compreensão de:

lógica de programação relacionada com programas de computador;

programas de computador em função e sua utilização;

elementos físicos do sistema (hardware) e sua integração com programas de computador;

OutrasFerramentas...

Lógica deProgramação

Page 6: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Bibliografia

Bibliografia Básica

MANZANO, José Augusto N.G., Estudo Dirigido de C++ Builder6, Editora Érica, 2005, 216p. 

Bibliografia Complementar

SCHILDT, H. C completo e total, 3ª ed., SP, Makron Books, 1997, 827p.

MIZRAHI, V.V. “C++ Treinamento em Linguagem” SP, Makron Books, 1994, 300p BERRY, J.

Page 7: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Editor gráfico de

programa

Objetos

Propriedades

Eventos

Documentação de

projeto

Variáveis

Operadores

Conteúdo Programático

Estruturas condicionais

Estruturas de repetição

Matrizes

Registros

Arquivos

Todo conteúdo programático será

ministrado no calendário atual da PUCC.

Page 8: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Formar equipes de 2 alunos

Os exercícios práticos não fazem parte da nota final,

mas é indicado a execução dos mesmos para se

preparar para as avaliações individuais e em duplas.

Avaliações:

3 programas PROG1, PROG2, PROG3

PROG1 e PROG2 Individual

PROG3 Em duplas

Média := (Prog1 + 2x Prog2 + 3x Prog3) / 6

Avaliação

Page 9: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Recuperação:

Os alunos que desejarem melhorar a média final

ou nota final inferior a 5,0 (cinco) farão um quarto

programa, correspondente a uma prova

substitutiva.

Serão aprovados se obtiverem nota maior ou igual

a 5,0 (cinco), através da seguinte fórmula:

Média: = [(Prog1 + 2x Prog2 + 3x Prog3) + Prog 4] / 2

-------------------------------- 6

Avaliação

Page 10: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Cronograma

Semana Assunto

01 Apresentação da disciplina, noções sobre computadores e algoritmos; Primeiro programa (objetos, propriedades e eventos);Segundo programa (soma/concatena frase).

02 Documentação de programas (Soma frase; Nome Completo)03 Tipos de variáveis, operadores (Calculadora; Média Makoto)04 Tipos de variáveis, operadores (Calcula Salário Liquido; Resitor)05 Avaliação 106 Estrutura Condicional07 Estrutura Condicional08 Comandos de Seleção, Estrutura de Repetição09 Estrutura de Repetição10 Avaliação 211 Avaliação 212 Funções, Vetores, Matrizes13 Matrizes (continuação)14 Matrizes Estruturas15 Avaliação 316 Avaliação 317 Avaliação 318 Noções de arquivo19 Avaliação substitutiva

Page 11: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Software

Formado por...

Instruções :

Quando executadas produzem a função e o desempenho desejado.

Estruturas de Dados :

Possibilita os programas manipular adequadamente os dados, transformando-os em informação

Documentos :

Descreve a operação e o uso dos programas.

Page 12: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Software

Curva de falhas de hardware(Pressman)

Curva de falhas de software(Pressman)

- Não se desgasta, mas deteriora.- Feito sob medida.- Sujeito a mudanças.

Page 13: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Tipos de Software

Alguns exemplos de tipos de software:

COMERCIAL Operações comerciais e auxilio a tomadas de

decisão.

Visio Outlook Project AutoCAD

Page 14: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Tipos de Software

BÁSICO Programas de apoio a outros programas.

DE TEMPO REAL Monitora, analisa e controla eventos do

mundo real.

Necessariamente tem que haver uma simulação de um

ambiente externo.

Windows Linux Unix

Telemetria GPS Simuladores para aviação

Page 15: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Tipos de Software

EMBUTIDO Controla produtos e sistemas (indústria e

consumo)

COMPUTADOR PESSOAL Processamento de textos, planilhas,

diversões, etc.

Sincronizador de Palm

Software de Celulares

Coletores de dados

Word Excel MSN Skype IE ; Firefox...

Page 16: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Tipos de Software

INTELIGÊNCIA ARTIFICIAL Algoritmos não numéricos para resolver

problemas que não sejam

favoráveis à análise direta.

Nitendo Wii (simula eventos humanos e vai

aprendendo com o seu comportamento)

Sistemas de análise de diagnose médica.

CIENTÍFICO DE ENG. Algoritmos de processamento de números

Programas para cálculos que dificilmente faria à mão

Page 17: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Lógica de Programação

Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados – São Paulo: Forbellone, André Luiz Villar - MAKRON, 1993.

Lógica de programação é a técnica de encadear

pensamentos para atingir determinado objetivo, através

de instruções.

Seqüência Lógica são passos executados até atingir um objetivo ou solução de um problema.

Instruções: “um conjunto de regras ou normas definidas para a realização ou emprego de algo”.

Page 18: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Lógica de Programação

Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados – São Paulo: Forbellone, André Luiz Villar - MAKRON, 1993.

Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa.

Exemplo: “Somar dois números quaisquer”.

. Escreva o primeiro número no retângulo A· Escreva o segundo número no retângulo B· Some o número do retângulo A com número do retângulo B e coloque o resultado no retângulo C

Escrevo o algoritmo em uma

linguagem de programação , que ao ser executado recebe entradas e

retorna o resultado esperado pelo

algoritmo.

Page 19: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Lógica de Programação

O que vamos programar?

Vamos fazer pequenos programas passando pelos tipos de estrutura de dados citados no conteúdo programático.

Que linguagem de programação vamos utilizar?

A linguagem C++, através da ferramenta Borland C++ Builder.

Borland C++ Builder?

Uma ferramenta visual baseada em eventos que facilita a compreensão da utilização da linguagem de programação para geração de software.

Page 20: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

-O C++ evoluiu do C, que por sua vez evoluiu do B, que evoluiu do BCPL.

- Tanto o BCPL e o B foram linguagens sem tipo, ou seja, qualquer item de dado ocupava uma "palavra" na memória. Sendo assim, a parte de tratamento dos tipos ficava totalmente na mão do programador.

-A linguagem C, implementada em 1973, já oferecia a tipificação de dados e ganhou reconhecimento quando utilizado como linguagem de desenvolvimento do sistema operacional UNIX. E agora, disponível em vários sistemas operacionais, adquirindo a característica de portabilidade.

-O C++ é uma evolução do C usando elementos do Simula 67 (que era uma linguagem de simulação - anos 80). O que mais complementa ao C, é fornecer recursos para programação orientada a objetos (POO).

- O C++ absorveu parte do C e a capacidade do Simula de criar e manipular objetos.

Histórico

Page 21: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

-A POO permite agilizar o desenvolvimento, pois objetos e componentes podem ser reutilizados, além de deixar o desenvolvimento mais produtivo e otimizado, utilizando as mesmas técnicas de programação estruturada.

- O Java, também linguagem POO, só foi formalmente apresentado em 1995, pela Sun.

- Cinco anos depois, em 2000, a Microsoft anunciou o C# (C Sharp) e sua estratégia .Net. A estratégia .Net incorporava a Internet como um novo modelo de programação para criar aplicativos baseados em WEB onde os usuários poderiam acessar a partir de diversos dispositivos (PCs, computadores portáteis e sem fio).

Histórico

Page 22: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

- O C++ Builder da Borland é um ambiente visual, orientado a objetos que tem por finalidade desenvolver aplicações rapidamente para o Windows 95/98/NT. Estas aplicações podem ser de propósitos gerais ou cliente/servidor. Usando o C++ Builder, você pode criar eficientes aplicações Windows com o mínimo de codificação manual. - O Borland C++ Builder disponibiliza uma extensa biblioteca de componentesreutilizáveis e um ambiente de ferramentas RAD (Desenvolvimento de Aplicações Rápida). 

IDE (integrated development environment - ambiente de desenvolvimento integrado). Neste IDE, o desenvolvedor pode escrever, executar, testar e depurar os programas.

Histórico

Page 23: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Observações

Atenção: cópias de programas ! Tenho como saber se alguém copiou de alguém.Cópia leva zero...

O mais importante é aprender ! E com isso ter um diferencial lá na frente !

Aprender em Sala de Aula é melhor do que deixar para depois...Aproveite o tempo !

Deixe “esse tempo” fora da faculdade para se dedicar a coisas que vocês gostam de fazer ou a matérias que tenham maior dificuldade.

Page 24: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Observações

Por que eu tenho que aprender coisas que nem sei se vou usar?

- Para exercitar o raciocínio- Para ver coisas diferentes fora da sua “caixa de conhecimento”

- Ampliando o conhecimento de diferentes coisas eu permito a inovação, criatividade e competência !

Page 25: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Observações

Se você pensar que é vais ser legal, vai ser legal e se você pensar que não vai ser legal, não vai ser legal. Simples assim...

“Há duas coisas na vida que vocês têm que fazer. Vocês têm que morrer e fazer escolhas. Dessas duas não há como escapar.” (James C. Hunter)

A decisão é de cada um de vocês, de fazerem o melhor e colher os resultados de suas próprias ações.

Então é só ter vontade e compromisso?INTENÇÕES – AÇÕES = NADA...VONTADE = INTENÇÕES + AÇÕES (escolhas)COMPROMISSO = Sustentar essas escolhas

Page 26: Informática para Engenharia Ana Cristina de Castro e Araujo ana.cristina@puc-campinas.edu.br ftp: ana.cristina/Informatica_ENG_Civil/ 17/08/2009 CEATEC.

Let's do it!

Documentação faz parte do software, lembra !?

Vamos documentar cada programa e o mesmo deverá ser armazenado na área de cada aluno para estudo para as avaliações. Não é necessário ser enviado ao professor.

Utilizar o template fornecido na disciplina na aula 3!

Vamos fazer os primeiros programas juntos !!! Apresentar o editor de Programas: Partes do programa: Barra de menus, Barra de Ferramentas, Guia de Componentes, Form, Unit, Object Inspector.