Informática para Engenharia Ana Cristina de Castro e Araujo [email protected] ftp:...
Transcript of Informática para Engenharia Ana Cristina de Castro e Araujo [email protected] ftp:...
Informática para Engenharia
Ana Cristina de Castro e Araujo
ftp: ana.cristina/Informatica_ENG_Civil/
17/08/2009
CEATEC - Centro de Ciências Exatas, Ambientais e de Tecnologias
Turma Curso Disciplina0104 224013 61123
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
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)
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?
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
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.
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.
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
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
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
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.
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.
Tipos de Software
Alguns exemplos de tipos de software:
COMERCIAL Operações comerciais e auxilio a tomadas de
decisão.
Visio Outlook Project AutoCAD
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
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...
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
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”.
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.
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.
-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
-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
- 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
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.
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 !
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
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.