Escolar Documentos
Profissional Documentos
Cultura Documentos
AGOSTO DE 2007
Rev. 10
Sumrio
Sumrio............................................................................................2 1. Introduo ................................................................................5
Objetivos Bsicos ............................................................................ 5 Habilidades Bsicas ........................................................................ 5 O que voc ir aprender................................................................... 5 Atividades Prticas de Laboratrio ................................................... 6 O que um computador? ................................................................ 6 Utilidade dos Computadores para a Engenharia ............................... 7 Linguagens e Aplicaes na Engenharia ........................................... 7 Encontrando a Soluo para os Problemas ....................................... 8 A Soluo dos Problemas ................................................................. 9 Ferramentas para o desenvolvimento de Programas ........................ 15 Os Fluxogramas ............................................................................ 18 Problemas Tpicos nos Projetos que podem ser Evitados.................. 24 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8. 1.9. 1.10. 1.11. 1.12.
2.
3.
4.
I I
4.7.
5.
6.
Tratamento de Excees........................................................140
Emisso de Excees................................................................... 147 Especificao de Excees ........................................................... 148 Captura de Excees ................................................................... 149 Excees no Tratadas ................................................................ 151 Excees da VCL ......................................................................... 152
7.
8.
Criando DLLs.........................................................................171
Tipos de Enlace Dinmico............................................................ 172 DLL e Gerenciamento de Memria................................................ 172 Vantagens do Enlace Dinmico .................................................... 172 Funo Entrada .......................................................................... 173 Quando usar Packages e DLLs..................................................... 173 Criando DLLs no C++Builder ....................................................... 174 Usando DLLs no C++Builder........................................................ 177 Criando DLLs contendo componentes VCL ................................... 180
8.9. Criando uma Aplicao que chama funes da DLL contendo componentes VCL ..................................................................................... 186
9.
Engenharia de Processamento Digital II Teste 1 de 7 .................. 189 Engenharia de Processamento Digital II Teste 2 de 7 .................. 192 Engenharia de Processamento Digital II Teste 3 de 7 .................. 194 Engenharia de Processamento Digital II Teste 4 de 7 .................. 196 Engenharia de Processamento Digital II Teste 5 de 7 .................. 199 Engenharia de Processamento Digital II Teste 6 de 7 - A............. 203 Engenharia de Processamento Digital II Teste 6 de 7 - B............. 207 Engenharia de Processamento Digital II Teste 6 de 7 - C............. 211 Engenharia de Processamento Digital II Teste 7 de 7 .................. 216
10.
10.1. 10.2. 10.3. 10.4. 10.5. 10.6.
Consideraes Finais ..........................................................246 Bibliografia ........................................................................247 Anexos - Notao Hngara ..................................................248 Anexos - Slides ....................................................................250
I I
1. Introduo
1.1. Objetivos Bsicos
O material contido neste documento projetado para ajudar o estudante a:
Entender a engenharia. Integrar conhecimentos de vrias disciplinas. Experimentar o processo do projeto. Aprender e praticar habilidades fundamentais. Aprender sobre aplicaes computacionais e grficas. Desenvolver estudos, treinar o trabalho em equipe e praticar as suas habilidades de comunicao.
O ponto principal no escopo da disciplina resolver problemas de engenharia, particularmente queles que podem apresentar soluo pelo uso de sistemas computacionais.
2.
3. 4.
5.
equivalente) e que tenha tempo disponvel reservado para efetuar o projeto alm das suas outras atividades. Presume-se que o aluno estudar a linguagem C++ ao longo do semestre e que no final do mesmo demonstrar completo domnio da linguagem e da programao orientada a objetos. Considera-se que o aluno tenha acesso a um computador pessoal com sistema operacional Windows e exercite a matria tambm fora do horrio da aula. Presume-se que o acadmico se exercitar de acordo com as apostilas e listas de exemplos colocados no site da disciplina at o primeiro dia do segundo ms de aulas no mximo. Presume-se tambm que o acadmico no faltar s aulas e que assistir com pontualidade (entrada e sada).
I I
Uso especial: MathCad, Matlab, Mathematica, Maple. Aplicaes: Excel, Word, Powerpoint, LabView.
I I
Para ser bem sucedido nesta disciplina voc dever ser participativo e atento. Se voc faltar a um nico dia, faltar a um tpico inteiro do programa. Cada dia de aula constri mais conhecimento acima da aula anterior e requer do conhecimento adquirido tratado nela. Caso voc tenha que faltar a vrias aulas importante que voc se d conta do que est perdendo. A programao funciona como a operao dos computadores, na forma binria. Isto voc pode estar certo ou estar errado. Voc dever prestar ateno na forma em que as linhas de cdigo so colocadas e prestar especial ateno aos detalhes. A falta de um simples ponto-e-vrgula ou de uma vrgula pode determinar o sucesso ou fracasso dos seus programas. Assim como para aprender a tocar um instrumento musical ou a falar uma lingual estrangeira, voc deve se envolver dedicando tempo para a prtica e sendo hbil em aprender dos seus prprios erros. Qualquer um pode aprender a programar, e algumas pessoas precisam de mais prtica do que de outras.
O nosso foco: a soluo de problemas de engenharia assistida por computador. Os computadores so excelentes ferramentas para a soluo de problemas baseados em regras bem determinadas.
10
I I
Fazer suposies simplificadoras quando necessrio. Resolver o problema. Verificar os resultados. Apresentar a soluo.
11
o o o
12
I I
resultados obtidos. nesses documentos que o seu chefe vai conhecer que a sua soluo eficiente e que a sua idia funcionou.
13
Problema 5: As latas amolecem e empenam. Soluo 5: Adicionar um anel de reforo na parte superior e inferior. Ondular a parte lateral. Problema 6: As latas abertas com o abre-latas ficavam com a abertura com bordas grandes e cortantes. Soluo 6: A criao do abridor de ponta. Problema 7: usualmente quando necessrio voc no tinha ou no achava o abridor. Soluo 7: Latas com abridores embutidos descartveis. Problema 8: O que fazer com os abridores depois da lata ter sido aberta. Jogar no lixo? Artesanato? Coloc-la dentro da lata? Soluo 8: Deixar os anis abridores colados parte superior da lata. Problema 9: Algumas pessoas com unhas compridas ou fracas, dedos artrticos no podem abrir as latas. Soluo 9:...etc.etc. etc.
A seguir devem ser feitas as suposies que sejam consideradas seguras de fazer. Podemos assumir algumas tais como que a garrafa existe. importante no fazer suposies muito amplas como aquelas que evitam o problema tais como uma pessoa sabe como encher a garrafa sem nenhuma ajuda. Suposies:
A garrafa existe e est disponvel. As pedras existem e esto disponveis. Existem pedras suficientes para encher a garrafa. A garrafa est vazia (ou no totalmente cheia). Algumas pedras (ou todas) cabem na abertura da garrafa.
14
I I
1. 2. 3. 4. 5. 6.
Algoritmo: Colocar a garrafa de boca para cima perto das pedras. Verificar para saber que a garrafa no est cheia. Se estiver, v ao passo 6. Pegar uma pedra e tentar coloc-la na garrafa. Se a pedra for muito grande para caber, descarte-a, e volte ao passo 3. Se a pedra coube, ento v ao passo 2. Pare de encher.
desenvolvimento de algoritmos, na representao desses algoritmos e no refinamento ou estruturao dos algoritmos desenvolvidos. Tcnica de projeto Top-Down: Comear com funes gerais e efetuar vrios passos de refinamento para funes mais especficas.
1. Pseudocdigo: Uso de linguagens artificiais e informais para ajudar o programador a desenvolver os algoritmos. 2. Diagramas lgicos: Representaes alternativas de algoritmos incluindo grficos e diagramas de estados.
15
As tcnicas e ferramentas que sero utilizadas neste documento so: as tcnicas de projeto Top-Down, pseudocdigos e diagramas lgicos. A tcnica mais usada no desenvolvimento de programas (e na soluo dos problemas de engenharia) a tcnica de projeto Top-Down. Esta tcnica comea com a funo global do problema e a sua quebra ou diviso em problemas menores. O pseudocdigo uma ferramenta usada para desenvolver um algoritmo, usualmente numa linguagem escrita informal. Os diagramas lgicos so formas de representao de um algoritmo.
16
I I
2. Determinar a mdia da classe para o teste. 1.4. Inicializar as variveis: 1.4.1. Inicializar o contadores de nmero de inseres com zero. 1.4.2. Inicializar o acumulador de notas com zero. 1.5. Inserir, Somar e Contar as notas: 1.5.1. Inserir a primeira nota. 1.5.2. Enquanto o usurio no inserir o flag de fim: 1.5.2.1. Somar a nota ao acumulador 1.5.2.2. Adicionar um ao contador de notas 1.5.2.3. Inserir a nota seguinte (ou possivelmente o flag) 1.6. Calcular e Imprimir a mdia da turma. 1.6.1. Se o contador de notas for diferente de zero: 1.6.1.1. Calcular a mdia pela diviso entre o valor no acumulador e o nmero de notas inseridas. 1.6.1.2. Imprimir a mdia. 1.6.2. Seno (no caso em que o contador de notas for igual a zero): 1.6.2.1. Imprimir uma mensagem indicando que nenhuma nota for inserida.
17
1.11.
Os Fluxogramas
Os fluxogramas podem ser ferramentas teis no desenvolvimento dos programas. Eles no mostram a descrio completa do programa e so usados em combinao com outras ferramentas. Os fluxogramas devem ser feitos antes de escrever o programa, no entanto pode tambm ser usados para que os programadores possam entender o cdigo que outros programadores j escreveram.
18
I I
O programa final pode ser diferente do fluxograma desde que somente so colocadas as declaraes das funes, excluindo a especificidade das mesmas. Os fluxogramas devem incluir todas as rotinas e sub-rotinas que compem o programa. A seguir so detalhados alguns smbolos usados comumente nos fluxogramas com as suas respectivas representaes.
Incio
Fim
MENSAGENS
Para indicar o envio de uma mensagem para o usurio usado um bloco com a forma mostrada na Figura 1-3. Notar que o texto no necessariamente precisa indicar com exatido o que ser mostrado na tela (ou enviado para uma outra interface), mas um resumo da mensagem que seja familiar ao programador para lembrar quando estiver desenvolvendo o cdigo do software.
19
Mensagem ao usurio
Resultado
Erro
Temperatura
Recuperar de arquivo
Armazenar em arquivo
20
I I
N a > b?
x<0 x
x>0
x=0
PROCESSAMENTO GERAL
Os comandos gerais, como as equaes matemticas, podem ser colocados dentro de um bloco na forma retangular.
x = sqrt(y)
OS LAOS DEFINIDOS
Os laos podem ser representados usando estruturas um pouco mais complexas que incluem um bloco de seleo. Os laos definidos completam uma tarefa certo nmero de vezes e servem para clculos ou operaes iterativas. A execuo comea na seta do topo que inicializa uma varivel de contagem para o seu valor inicial. Enquanto esse valor for menor ou igual que o valor limite o cdigo executado o indicado pela seta S e retorna pela seta da esquerda onde a varivel de contagem incrementada. Este processo continua at que a varivel
21
de contagem seja maior que o valor limite, desviando o fluxo para o cdigo indicado pela seta N.
OS LAOS INDEFINIDOS
O lao indefinido indica a repetio da execuo de uma tarefa pela execuo de um trecho de cdigo por um nmero indefinido de vezes. Dependendo do resultado da expresso lgica indicada no bloco (verdadeiro ou falso) o fluxo seguir a seta correspondente.
CONECTORES
Quando os fluxogramas ficam muito grandes pode ser necessrio o uso de conectores para conectar as setas entre blocos afastados na mesma pgina ou com blocos em outras pginas. Para manter os fluxogramas simples e legveis deve se evitar ao mximo o uso dos conectores em casos desnecessrios.
22
I I
Para
CHAMADAS DE SUB-ROTINAS
A chamada de subprogramas ou sub-rotinas representada pelo bloco da Figura 1-12. O nome da sub-rotina deve ser o nome do subprograma que cujo fluxograma pode estar na mesma pgina ou em outra separada.
1.11.2. Exerccio
Com os assuntos tratados at aqui, sugere-se desenvolver as suas habilidades na elaborao de fluxogramas usando o mtodo Top-Down atravs do seguinte exerccio. Descrio do Problema: Existem vrios componentes eltricos numa caixa que devem ser selecionados pelo tipo e colocados em caixas separadas. So resistores, capacitores, indutores, diodos, transistores e circuitos integrados. Desenvolver um fluxograma ou algoritmo para resolver o problema. Suposies:
Existem 6 caixas identificadas com as seguintes palavras: resistores, capacitores, indutores, diodos, transistores e circuitos integrados. 3. Existem contadores de algum tipo (eletromecnicos ou eletrnicos). 4. A pessoa que vai separar os componentes no cega e sabe distinguir a diferena entre os componentes. 5. No existem outros tipos de componentes alm dos citados na caixa.
23
Quais so os dados desconhecidos? Comear com a formulao geral do problema. Desenvolver os passos para resolver o algoritmo.
Figura 1-13 - Privar-se do sono por ter deixado o seu projeto para ltiima hora pode acarretar grandes problemas.
24
I I
Aceite riscos calculados. Todas as decises nos projetos de engenharia (assim como na vida) envolvem riscos de alguma natureza. As escolhas e decises devem ser baseadas nas consideraes das conseqncias e resultados. Calcule cuidadosamente os riscos envolvidos nos seus projetos.
Mantenha o trabalho sempre em dia. Compartilhe a agenda do projeto com os membros da equipe. Mantenha as informaes atualizadas. Documente as reunies e as decises feitas. Verificar a execuo do cronograma de forma constante. Mantenha os membros da equipe informados do processo.
25