Turma
0104
Curso
224013
Disciplina
61123
Informática para Engenharia
Ana Cristina de Castro e Araujo
[email protected]
17/08/2009
ftp: ana.cristina/Informatica_ENG_Civil/
CEATEC - Centro de Ciências Exatas, Ambientais e de Tecnologias
Agenda – Semana 1
Apresentações
Objetivos / Bibliografia
Conteúdo Programático
Avaliação
Cronograma
Software e Lógica de Programação
Histórico
PLANO DE CURSO
PLANO 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;
Outras
Ferramentas...
Lógica de
Programaçã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.
Conteúdo Programático
Editor gráfico de programa
Objetos
Propriedades
Eventos
Documentação de projeto
Variáveis
Operadores
Estruturas condicionais
Estruturas de repetição
Todo conteúdo
programático será
ministrado no calendário
atual da PUCC.
Matrizes
Registros
Arquivos
Avaliação
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
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).
Documentação de programas (Soma frase; Nome Completo)
Tipos de variáveis, operadores (Calculadora; Média Makoto)
Tipos de variáveis, operadores (Calcula Salário Liquido; Resitor)
Avaliação 1
Estrutura Condicional
Estrutura Condicional
Comandos de Seleção, Estrutura de Repetição
Estrutura de Repetição
Avaliação 2
Avaliação 2
Funções, Vetores, Matrizes
Matrizes (continuação)
Matrizes Estruturas
Avaliação 3
Avaliação 3
Avaliação 3
Noções de arquivo
Avaliação substitutiva
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
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
Visio
Operações comerciais e auxilio a tomadas de decisão.
Outlook
Project
AutoCAD
Tipos de Software
BÁSICO
Windows
Programas de apoio a outros programas.
Linux
DE TEMPO REAL
Unix
Monitora, analisa e controla eventos do mundo real.
Necessariamente tem que haver uma simulação de um
ambiente externo.
Telemetria
GPS
Simuladores
para aviação
Tipos de Software
EMBUTIDO
Sincronizador
de Palm
Controla produtos e sistemas (indústria e consumo)
Software de
Celulares
Coletores de
dados
COMPUTADOR PESSOAL Processamento de textos, planilhas, diversões, etc.
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
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 é a técnica de
encadear pensamentos para atingir
determinado objetivo, através de
instruções.
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
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 – A Construção de Algoritmos e Estruturas de Dados – São Paulo: Forbellone, André Luiz Villar - MAKRON, 1993.
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.
Histórico
-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 componentes
reutilizá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.
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.
Download

software - PUC