informáca para as ciências e engenharias versão : c...
TRANSCRIPT
![Page 1: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/1.jpg)
Informá(caparaasCiênciaseEngenhariasVersão:C
(EngenhariaCivil)
PedroBarahona
2016/17
![Page 2: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/2.jpg)
Sumário
• Resoluçãodeproblemas§ Metodologiaeníveisdeabstração.
§ Funções.
§ Testesunitários.
• Ficheiroscomcódigofonte.Ciclodevidadeumprograma.
• Tiposdeerros.Representaçãodenúmerosembinário.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 2
![Page 3: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/3.jpg)
ProblemadaVedação
• Na sequência de uma expropriação de terrenos, vai sercolocadaumavedaçãoentretrêsestacas,cujascoordenadascartesianassão(x1,y1),(x2,y2)e(x3,y3).
• Pretende-secalcularocomprimentodavedação.
(x1,y1)
(x3,y3)
(x2,y2)
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 3
![Page 4: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/4.jpg)
Resolução–Problema[1]
1. Compreender totalmente o problema descrito noenunciado.
• Nãoficarcomdúvidassobre:§ ainformaçãoqueserecebe(osdadosdeentrada);
§ ainformaçãoqueseproduz(osresultados,asaída).
• Devemossaberresolveroproblema“àmão”.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 4
![Page 5: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/5.jpg)
Resolução–Problema[2]
2. Caracterizaroproblema.
• Problema:Comprimentodeumavedação.
• Entrada:estaca(x1,y1),estaca(x2,y2),estaca(x3,y3).• Saída:ocomprimentodavedaçãodelimitadapelasestacas
(x1,y1),(x2,y2)e(x3,y3).
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 5
![Page 6: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/6.jpg)
Resolução–Problema[3]
3. Generalizaroproblema(semprequeforpossível).
• Problema:Perímetrodeumtriângulo.
• Entrada:vér(ce(x1,y1),vér(ce(x2,y2),vér(ce(x3,y3).• Saída: o perímetro do triângulo definido pelos vér(ces
(x1,y1),(x2,y2)e(x3,y3).
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 6
![Page 7: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/7.jpg)
Resolução–Algoritmo[1]
4. Desenharoalgoritmopararesolveroproblema.a) Conceber o algoritmo, decompondo o problema em sub-
problemas.
§ Comocalcularoperímetrodeumtriângulo?
§ Somam-seoscomprimentosdostrêsladosdotriângulo.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 7
![Page 8: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/8.jpg)
Resolução–Algoritmo[2]
b) Iden(ficar,caracterizaregeneralizarcadasub-problema.
• Sub-problema:Comprimentodeumsegmentodereta.
• Entrada:ponto(x,y),ponto(x’,y’).• Saída:ocomprimentodosegmentoderetadefinidopelos
pontos(x,y)e(x’,y’).
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 8
![Page 9: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/9.jpg)
Resolução–Algoritmo[3]
c) Conceber o algoritmo, assumindo que os sub-problemasestãoresolvidos.
Perímetrotriângulo(x1,y1),(x2,y2),(x3,y3):
comprimentosegmento(x1,y1)(x2,y2)+
comprimentosegmento(x2,y2)(x3,y3)+
comprimentosegmento(x3,y3)(x1,y1)
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 9
![Page 10: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/10.jpg)
Resolução–Algoritmo[4]
5. Para cada sub-problema, desenhar o algoritmo para oresolver.
a) Conceber o algoritmo, decompondo o problema em sub-problemas.
b) Iden(ficar,caracterizaregeneralizarcadasub-problema.
c) Conceber o algoritmo, assumindo que os sub-problemas estãoresolvidos.
§ Comocalcularocomprimentodosegmento(x,y)(x’,y’)?
€
(x − x')2 + (y − y')2
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 10
![Page 11: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/11.jpg)
Resolução–Programa
6. Para cada sub-problema (começando pelos mais simples),implementar o respe(vo algoritmo e testar o “sub-programa”.
7. Implementaroalgoritmoqueresolveoproblemaetestaroprogramapedido.
EmICE,o“sub-programa”eoprogramasãofunções.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 11
![Page 12: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/12.jpg)
Sumário
• Resoluçãodeproblemas§ Metodologiaeníveisdeabstração.
§ Funções.« Matemá(ca
« Matlab
§ TestesUnitários.
• Ficheiroscomcódigofonte.Ciclodevidadeumprograma.
• Tiposdeerros.Representaçãodenúmerosembinário.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 12
![Page 13: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/13.jpg)
Matemá(ca–Definiçãodefunções
• Sintaxedadefinição: nomeFunção( parâmetros ) = expressão
comosparâmetrosseparadosporvírgulas.
• Exemplos:§ f(x) = x2
§ g(x) = |x|
§ h(x,y) = max(f(x), g(y))
• Háproblemasporxserumparâmetrodef,degedeh?§ Não,porqueoscontextossãodiferentes.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 13
![Page 14: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/14.jpg)
Matemá(ca–Chamadadefunções
• Sintaxedaaplicação(ouchamada):
nomeFunção( argumentos) comosargumentosseparadosporvírgulas.
• Exemplo:Sendof(x) = x2;g(x) = |x|;h(x,y) = max(f(x),g(y))
temos,porexemplo§ f(3) (quevale9)
§ h(4,-11) (quevale16)
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 14
![Page 15: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/15.jpg)
Matlab–Definiçãodefunções[1]
• Sintaxedadefinição:
comosparâmetrosseparadosporvírgulas;
• nomeResultadoéumavariávelcujovalornofimdaexecuçãodasinstruçõeséoresultadodafunção.
• Àprimeiralinhadadefinição(quecomeçaporfunc%on)chama-seaassinaturadafunção.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 15
function nomeResultado = nomeFunção(parâmetros)
instruções
end
![Page 16: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/16.jpg)
Matlab–Definiçãodefunções[2]
Exemplo:
• Implementaçãodef(x) = x2 (1ªversão):
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 16
function res = f(x)
res = x^2
end
function nomeResultado = nomeFunção(parâmetros)
instruções
end
![Page 17: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/17.jpg)
REGRADEPROGRAMAÇÃO
• Todos os iden(ficadores (nomes) devem ser escolhidos deformaaindicaroseusignificado.§ Onome de uma variável diz o que é guardado nessa posição de
memória.
§ Onomedeumafunçãodizoqueafunçãocalcula.
§ Onomedeumparâmetrodizoqueoparâmetrovaireceber.
Nota:Nenhumnomepodeteracentosoucedilhas.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 17
![Page 18: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/18.jpg)
Matlab–Definiçãodefunções[3]
• Implementaçãodef(x) = x2 (1ªversão):
• Problemas?
§ Neste caso (em que a função “vem” da Matemá(ca), oiden(ficadorxdoparâmetroémuitonatural.
§ Oiden(ficadorfdafunçãonãodáqualquerinformação.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 18
function res = f(x)
res = x^2
end
![Page 19: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/19.jpg)
Matlab–Definiçãodefunções[4]
• Implementaçãodef(x) = x2 (1ªversão):
• Implementaçãodef(x) = x2 (2ªversão):
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 19
function res = f(x) res = x^2 end
function res = quadrado(x) res = x^2 end
![Page 20: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/20.jpg)
REGRADEPROGRAMAÇÃO
• Todas as funções devem ser documentadas, indicando-se asintaxe da chamada, o que a função calcula e o que são osseusparâmetros.
• Isto é feito escrevendo um comentário antes ou depois daassinaturadafunção.
• Em Matlab, o comando help nomeFunção escreve essecomentário.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 20
![Page 21: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/21.jpg)
Matlab–Definiçãodefunções[5]
• Implementaçãodef(x) = x2 (3ªversão):
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 21
function res = f(x) % res = quadrado(x) % Calcula o quadrado do numero x res = x^2 end
>> help quadrado 'quadrado' is a function from the file ... res = quadrado(x) Calcula o quadrado do numero x Additional help for ... >>
![Page 22: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/22.jpg)
Matlab–M-files
• O código de uma função temde ser guardado numficheirocomonomenomeFunção.m
• Conteúdodoficheiroquadrado.m:
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 22
function res = f(x) % res = quadrado(x) % Calcula o quadrado do numero x res = x^2 end
Ficheiroquadrado.m
![Page 23: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/23.jpg)
Matlab–Chamadadefunções[1]
• Sintaxedachamada:
nomeFunção( argumentos ) comosargumentosseparadosporvírgulas.
• Execuçãoda1ªchamada:1. Avalia-seovalordaexpressãousadacomoargumento(queé-3).
2. Executa-seocódigodafunção,usandocomovalordoparâmetroovalordoargumentorespe(vo.
3. O valor da chamada é o valor que no fim da execução está nonomedoresultado(resnestecaso)
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 23
![Page 24: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/24.jpg)
Matlab–Chamadadefunções[1]
• Execuçãoda1ªchamada:1. Avalia-seovalordaexpressãousadacomoargumento(queé-3).
2. Executa-seocódigodafunção,usandocomovalordoparâmetroovalordoargumentorespe(vo.
3. O valor da chamada é o valor que no fim da execução está nonomedoresultado(resnestecaso)
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 24
>> quadrado(-1*3) res = 9 ans = 9 >> x = quadrado(-5) - 1 res = 25 x = 24 >>
function res = f(x) % res = quadrado(x) % Calcula ... res = x^2 end
![Page 25: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/25.jpg)
ProblemadaVedação–Passo6[1]
• Comprimentodosegmento(x,y)(x’,y’)
• Implementaçãodafunção:
€
(x − x')2 + (y − y')2
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 25
function res = comprSegmento( x1, y1, x2, y2 ) % res = comprSegmento(x1, y1, x2, y2) % Calcula o comprimento do segmento de reta % definido pelos pontos (x1,y1) e (x2,y2). ... end
![Page 26: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/26.jpg)
REGRADEPROGRAMAÇÃO
• Cadalinhadecódigotemdesermuitofácildeentender.§ Aindentação(onúmerodeespaçosembranconoiníciodalinha)é
fundamentalparaiden(ficarosblocosdeinstruções.
§ Alinhadevesercurta(80caracteres,nomáximo,contandocomosespaçosembrancodoinício).
§ As expressões complicadas devem ser simplificadas, usandovariáveis(auxiliares).
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 26
![Page 27: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/27.jpg)
ProblemadaVedação–Passo6[2]
• Comprimentodosegmento(x,y)(x’,y’)
• Implementaçãodafunção:
€
(x − x')2 + (y − y')2
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 27
function res = comprSegmento( x1, y1, x2, y2 ) % res = comprSegmento(x1, y1, x2, y2) % Calcula o comprimento do segmento de reta % definido pelos pontos (x1,y1) e (x2,y2). aux = (x1 – x2)^2 + (y1 – y2)^2 res = sqrt(aux)
end
![Page 28: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/28.jpg)
REGRADEPROGRAMAÇÃO
• TestesUnitários:§ cadafunçãodevesertestadaisoladamente,antesdeserintegrada
noprogramacompleto.
• Representa(vidade:§ Oscasostestadosdevemseromaisvariadospossível:casosgerais,
casospar(culares,casosdegenerados,casoslimite,...
• Erros§ Éessencialleretentarcompreenderasmensagensdeerro.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 28
![Page 29: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/29.jpg)
ProblemadaVedação–Passo6[3]
• Nafasedeteste,podem-severosvaloresintermédios:
• CasosdeTeste:§ pontosdiferentes
§ pontosiguais
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 29
>> c = cpomprSegmento(1,1,4,5)
aux = 25
res = 25
C = 5 >>
function res = comprSegmento(x1, y1, x2, y2) % ... aux = (x1 – x2)^2 + (y1 – y2)^2 res = sqrt(aux)
end
![Page 30: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/30.jpg)
ProblemadaVedação–Passo6[4]
• Naversãofinal,osvaloresintermédiossãointrusivos:
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 30
>> c = comprSegmento(1,1,4,5)
C = 5 >>
function res = comprSegmento(x1, y1, x2, y2) % ... aux = (x1 – x2)^2 + (y1 – y2)^2; res = sqrt(aux);
end
![Page 31: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/31.jpg)
ProblemadaVedação–Passo7[1]
Perímetrotriângulo(x1,y1)(x2,y2)(x3,y3)
• Implementaçãodafunção:
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 31
function res = perimetroTriang(x1, y1, x2, y2, x3, y3) % res = perimetroTriang(x1, y1, x2, y2, x3, y3) % Calcula o perimetro do triangulo definido pelos % vertices (x1,y1), (x2,y2) e (x3,y3). ... end
![Page 32: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/32.jpg)
ProblemadaVedação–Passo7[2]
Perímetrotriângulo(x1,y1)(x2,y2)(x3,y3)
• Implementaçãofinaldafunção:
• Casoespecialdeteste:ostrêspontossãocolineares.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 32
function res = perimetroTriang(x1, y1, x2, y2, x3, y3) % res = perimetroTriang(x1, y1, x2, y2, x3, y3) % Calcula o perimetro do triangulo definido pelos % vertices (x1,y1), (x2,y2) e (x3,y3). lado1 = comprSegmento(x1, y1, x2, y2); lado2 = comprSegmento(x2, y2, x3, y3); lado3 = comprSegmento(x3, y3, x1, y1); res = lado1 + lado2 + lado3;
end
![Page 33: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/33.jpg)
Matlab–Variáveislocais,parâmetros,variávelresultado
• As variáveis criadas no corpo (dentro) de uma função sãodestruídasquandoaexecuçãodocódigodafunçãotermina.Chamam-sevariáveislocaisdafunção.
• Os valores dos parâmetros e a variável onde é guardado oresultado da função também deixam de exis(r quando aexecuçãodafunçãotermina.
• Asvariáveis criadasdiretamenteno interpretadornunca sãodestruídas – exceto se for executado o comando clear ouclear(nomeVariável).
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 33
![Page 34: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/34.jpg)
Matlab–Variáveislocais
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 34
function res = perimetroTriang(x1, y1, x2, y2, x3, y3) % ... lado1 = comprSegmento(x1, y1, x2, y2); lado2 = comprSegmento(x2, y2, x3, y3); lado3 = comprSegmento(x3, y3, x1, y1); res = lado1 + lado2 + lado3;
end
>> perim = perimetroTriang(1, 1, 50, 8, 21, 15)
perim = 103.7435
>> lado1
??? Undefined function or variable ‘lado1’’.
![Page 35: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/35.jpg)
Matlab–Parâmetros
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 35
function res = perimetroTriang(x1, y1, x2, y2, x3, y3) % ... lado1 = comprSegmento(x1, y1, x2, y2); lado2 = comprSegmento(x2, y2, x3, y3); lado3 = comprSegmento(x3, y3, x1, y1); res = lado1 + lado2 + lado3;
end
>> perim = perimetroTriang(1, 1, 50, 8, 21, 15)
perim = 103.7435
>> y3
??? Undefined function or variable ‘y3’’.
![Page 36: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/36.jpg)
Matlab–Variávelresultado
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 36
function res = perimetroTriang(x1, y1, x2, y2, x3, y3) % ... lado1 = comprSegmento(x1, y1, x2, y2); lado2 = comprSegmento(x2, y2, x3, y3); lado3 = comprSegmento(x3, y3, x1, y1); res = lado1 + lado2 + lado3;
end
>> perim = perimetroTriang(1, 1, 50, 8, 21, 15)
perim = 103.7435
>> res
??? Undefined function or variable ‘res’’.
![Page 37: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/37.jpg)
Sumário
• Resoluçãodeproblemas§ Metodologiaeníveisdeabstração
§ Funções.
§ TestesUnitários.
• Ficheiroscomcódigofonte.Ciclodevidadeumprograma.
• Tiposdeerros.Representaçãodenúmerosembinário.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 37
![Page 38: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/38.jpg)
ProblemadaVedação–Programa[1]
• FicheirocomprSegmento.m:
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 38
FicheirocomprSegmento.mfunction res = comprSegmento( x1, y1, x2, y2 ) % res = comprSegmento(x1, y1, x2, y2) % Calcula o comprimento do segmento de reta % definido pelos pontos (x1,y1) e (x2,y2). aux = (x1 – x2)^2 + (y1 – y2)^2; res = sqrt(aux);
end
![Page 39: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/39.jpg)
ProblemadaVedação–Programa[2]
• FicheiroperimetroTriang.m:
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 39
function res = perimetroTriang(x1, y1, x2, y2, x3, y3) % res = perimetroTriang(x1, y1, x2, y2, x3, y3) % Calcula o perimetro do triangulo definido pelos % vertices (x1,y1), (x2,y2) e (x3,y3). lado1 = comprSegmento(x1, y1, x2, y2); lado2 = comprSegmento(x2, y2, x3, y3); lado3 = comprSegmento(x3, y3, x1, y1); res = lado1 + lado2 + lado3;
end
FicheiroperimetroTriang.m
![Page 40: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/40.jpg)
Resolução de Problemas
Enunciado
Programa
Algoritmo
ProblemaPrograma
(guardadoemficheiros)
EdiçãoInterpretaçãoExecução
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 40
![Page 41: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/41.jpg)
Ficheiro
• Dopontodevistalógico,umficheirocontémumasequênciade bits, que pode representar um texto, números, umaimagem,sons,etc.
• Umficheiroéguardadonodisco(paraqueainformaçãonãose perca quando o computador não está a funcionar) e éacessívelatravésdeumiden(ficadorúnico(nome).
• Um ficheiro com código fonte é um ficheiro de texto comcódigoescritopeloprogramador.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 41
![Page 42: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/42.jpg)
Ediçãodeumficheirocomcódigofonte
Programador
quadrado.mFicheiro fonte
(original) do programa
Editordetexto
% res = quadrado(x) % Calcula o quadrado do numero x. function res = quadrado( x ) res = x^2; end
Programa carregado a partir do disco
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 42
![Page 43: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/43.jpg)
CPU
Edição do programa
Memória
Teclado Ecrã Disco
Interligação
EditordetextoExecuçãodasinstruções
quadrado.m
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 43
![Page 44: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/44.jpg)
>> c = comprSegmento(1, 1 ,4, 5) c = 5 >>
Execução do programa
CPU
Memória
Teclado Ecrã Disco
Interligação
InterpretadorExecuçãodasinstruções
quadrado.m
comprSegmento.m
perimetroTriang.m
Aazuloqueéescritopelointerpretador
Avermelhooqueéescritopeloprogramador13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 44
![Page 45: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/45.jpg)
Sumário
• Resoluçãodeproblemas§ Metodologiaeníveisdeabstração
§ Funções.
§ TestesUnitários.
• Ficheiroscomcódigofonte.Ciclodevidadeumprograma.
• Tiposdeerros.Representaçãodenúmerosembinário.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 45
![Page 46: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/46.jpg)
Programa(guardadoemficheiros)
EdiçãoInterpretaçãoExecução
Erros nos programas
Erros!
sintá(cos
deexecuçã
o
lógicos
numéricos
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 46
![Page 47: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/47.jpg)
TiposdeErros[1]
• Errossintá(cos:§ quandoexpressõesouinstruçõesnãocumpremasregrassintá(cas
dalinguagemdeprogramação.
§ Sãooserrosmaisfáceisdecorrigir.
• Exemplos:§ 6 + * 2
§ total +1 = 9
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 47
![Page 48: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/48.jpg)
TiposdeErros[2]
• Errosdeexecução:§ quandoaexecuçãodoprogramanãopodecon(nuarporqualquer
mo(vo,masnenhumaregrasintá(cafoiviolada.
• Exemplos:§ Avaliarumavariávelquenãoexiste.
§ Escrever o código de uma função num ficheiro cujo nome não é“nomeFunção.m”.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 48
![Page 49: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/49.jpg)
TiposdeErros[3]
• Erroslógicos:§ quando a execução do programa termina com sucesso (ou seja,
semterhavidoerros sintá(cosoudeexecução),maso resultadonãoéoquesepretendedevidoaerrosnosalgoritmos.
• Exemplo:§ trocar os valores das variáveis x e y (que existem), com as duas
seguintesinstruções:
x = y y = x
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 49
Qualéoerro?
![Page 50: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/50.jpg)
TiposdeErros[4]
• Errosnuméricos:§ quandoosresultadosdasoperaçõesaritmé(casnãosãoexatose
oserros(pelafaltadeprecisão)afetamasaídadoprograma.
• Exemplos:§ sqrt(2)^2 – 2 è 4.4409e-16
§ sin(pi) è 1.2246e-16
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 50
![Page 51: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/51.jpg)
Elementossimplesdearmazenamento
• Guardaminformaçãosegundouma lógicadedoisvaloresoulógicabinária,e.g.§ Passa/nãopassacorrenteelétrica
§ Reflete/nãorefletealuz
• Comumelementodestespodemosarmazenarumbit,queéumdedoisvaloresdiferentes.
• Com uma sequência de n bits, podemos armazenar um dequantosvaloresdiferentes?
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 51
![Page 52: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/52.jpg)
Representaçãodeinformaçãoembinário[1]
• Quantos valores diferentes podem ser representados comumasequênciadenbits?
• 2bits:
• 22=4valoresdis(ntos
00011011
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 52
è 22
![Page 53: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/53.jpg)
Representaçãodeinformaçãoembinário[2]
• Quantos valores diferentes podem ser representados comumasequênciadenbits?
• 3bits:
• 23=8valoresdis(ntos
000001010011100101110111
è 23
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 53
![Page 54: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/54.jpg)
Representaçãodeinformaçãoembinário[3]
• Quantos valores diferentes podem ser representados comumasequênciadenbits?
• nbits:
• 2nvaloresdis(ntos
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 54
![Page 55: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/55.jpg)
Potências de dois
1 0
2 1
4 2
8 3
16 4
32 5
64 6
128 7
256 8
512 9
1024 10
2048 11
4096 12
8192 13
16384 14
32768 15
65536 16
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 55
10100101 = 1* 20 + 1* 22
+ 1* 25
+ 1* 27
= 165
165 = 5* 100 + 6* 101
+ 1* 102
= 165
![Page 56: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/56.jpg)
Representaçãodeinformaçãoembinário[4]
• 1bitdeinformação–doisvaloresdis(ntos
• 1bytedeinformação=8bits
28=256valoresdis(ntos
• 2bytesdeinformação=16bits
216=65.536valoresdis(ntos• 4bytesdeinformação=32bits
232=4.294.967.296valoresdis(ntos
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 56
![Page 57: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/57.jpg)
57
Representaçãodeinteiros
• Comnbits,podem-serepresentar2nvaloresdiferentes.
• Serepresentarmosnúmerosinteirossemsinal,osvaloressão:de0a2n–1.
com32bits:de0a4.294.967.295
• Se representarmos números inteiros com sinal, os valoressão:de-2n-1a2n-1-1.
com32bits:de-2.147.483.648a+2.147.483.647 (intmin)(intmax)
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 57
![Page 58: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/58.jpg)
58
Operaçõesaritmé(cascomumnúmerofixodebits
• Sesomarmos2.147.483.647(intmax)com10deveriadar
2.147.483.657,
quenãoérepresentávelcom32bits(comsinal),porqueémaiordoqueintmax(2.147.483.647).
• Omesmoproblemaocorrequandooresultadodeumaoperaçãoformenordoque-2.147.483.648(intmin)
• Aaritmé(cadoscomputadoresreserva-nosalgumassurpresas!
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 58
![Page 59: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/59.jpg)
59
Representaçãodereais[1]
• Tambéméfeitacomumnúmerofixodebits:§ 32bitsprecisãosimples;64bitsprecisãodupla.
• Ovalorrepresentadoé(-1)S×F×2E
S E F
32 ou 64 bits
1 bit para o sinal S
8 ou 11 bits para o expoente E
23 ou 52 bits para a fração F
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 59
![Page 60: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/60.jpg)
Representaçãodereais[2]
• Nãoseconseguemrepresentarnúmerosmuitograndesnemnúmerosmuitopequenos(emvalorabsoluto).§ Precisãosimples:+/-1.18x10-38a+/-3.4x10+38
§ Precisãodupla:+/-2.23x10-308a+/-1.80x10+308
(realmin)(realmax)
• Dois números podem ser tão próximos que a suarepresentaçãoéigual(faltadeprecisão(eps)).§ Precisãosimples: cercade7casasdecimais
§ Precisãodupla: cercade15casasdecimais
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 60
![Page 61: Informáca para as Ciências e Engenharias Versão : C ...icec.ssdi.di.fct.unl.pt/1617/teoricas/T02/icec_t02.pdf · 13 Março 2017 ICE-c Aula 2: Resolução de Problemas; Funções](https://reader034.vdocuments.mx/reader034/viewer/2022042712/5fa3058db947b901e90e28b8/html5/thumbnails/61.jpg)
Matlab–Errosnuméricos
• Em geral, os erros numéricos devem-se à forma como osnúmerossãorepresentados.Háproblemascom:§ númerosmuitograndes(emvalorabsoluto);
§ a falta de precisão (que se verifica na representação quer deracionaisquerdeirracionais).
• Em Matlab, os números inteiros são representados comonúmerosreais.
13Março2017 ICE-cAula2:ResoluçãodeProblemas;Funções 61