Post on 21-Jul-2020
Informá(caparaasCiênciaseEngenhariasVersão:C
(EngenhariaCivil)
PedroBarahona
2016/17
Introdução
• Esta unidade curricular, é uma variante de outras similaresleccionadasaoutroscursosdaFCT/NOVA,sendoleccionadaatodososperfisdo
« MIEC-MestradoIntegradoemEngenhariaCivil
eemque:§ São introduzidos os conceitos básicos da arquitectura de um
computadoredociclodevidadeumprograma.
§ É feita a aprendizagemdos conceitos fundamentais daprogramaçãoimpera(vapara resolverproblemas simplesdasáreasdasCiênciaseEngenharias.
§ Éfeitaumaintroduçãomuitosucintaàsbasesdedadosrelacionais,àsredesdecomputadorese,empar(cular,àWorldWideWeb.
6Março2017 ICE-cAula1:Introdução 2
InformaçãoGeral
• Docentes,obje(vosetópicosdoprograma
• Funcionamentoetrabalhodosalunos
• Avaliação• Bibliografia
6Março2017 ICE-cAula1:Introdução 3
DocenteseObjec(vos
• Docentes§ Teóricas
« PedroBarahona
§ Prá(cas« SusanaNascimento(TurnosP2eP3)
« Adefinir(TurnoP1)
• Objec(vos§ Adquirirumavisãoemlarguradasmetodologiaseferramentasque
a Informá(ca disponibiliza para a resolução de problemas dasáreasdasCiênciaseEngenharias.
6Março2017 ICE-cAula1:Introdução 4
TópicosdoPrograma
1. Introdução.
2. ConceitosfundamentaisdaProgramação(1ªparte).
3. Redesdecomputadores.AWeb.
4. ConceitosfundamentaisdaProgramação(2ªparte).
5. IntroduçãoàsBasesdeDados.
6. Aplicaçõesespecíficas
6Março2017 ICE-cAula1:Introdução 5
Funcionamento
• Assume-sequeosalunosnãotêmconhecimentospréviosdeInformá(ca
• Asaulasteóricasjácomeçaram:Hoje!§ Oestudodevecomeçartambémhoje.
• Asaulasprá(cascomeçamparaasemana.§ Háumaaulaprá(cade3horasporsemana.
• A presença nas aulas é muito recomendada mas não é
obrigatória.
6Março2017 ICE-cAula1:Introdução 6
TrabalhodoAluno
• 6créditossegundoosistemaECTS• 1crédito=28horasdetrabalho• Horasemcontacto
§ Aulasteóricas(2hporsemana)§ Aulasprá(cas(3hporsemana)§ Esclarecimentodedúvidas(nohoráriodeatendimento)
• Horasemautonomia§ Estudodamatériadasaulasteóricaseprá(cas,preparaçãoparaos
testeseparaostrabalhosprá(cos§ Realizaçãodostrabalhosprá(cos
6Março2017 ICE-cAula1:Introdução 7
TrabalhodoAluno
• 6ECTS*28horas/ECTS=168horas• Horasemcontacto
§ Aulasteóricas:14semanas*2h/semana = 28horas
§ Aulasprá(cas:14semanas*3h/semana = 42horas
• Horasdeestudoporsemana§ Estudo:14semanas*4h/semana = 56horas
• Avaliação§ Realizaçãodostrabalhosprá(cos: = 40horas
§ TesteseExame = 4horas
6Março2017 ICE-cAula1:Introdução 8
Avaliação(Teórica)
• 2TestesouExame(deRecurso)§ T1–29deAbrilàs9h00;
§ T2–5deJunhoàs18h00;
§ Ex–7deJulhoàs9h00.
• NotadaComp.Teórico-Prá(ca(CompTP):§ CompTP=(T1+T2)/2ouCompTP=Ex
• Paraobteraprovação:§ CompTP≥8.5(?)
6Março2017 ICE-cAula1:Introdução 9
Avaliação(Prá(ca)
• 1TrabalhosPrá(cos(gruposde1ou2alunos)§ TP1–entrega(eletrónica)até???;discussõesmarcadascomodocente.
• 3ExercíciosdeProgramaçãopequenadimensão(individuais)§ EP1,EP2eEP3–datasadefinir§ EntreguesviaWeb
• NotadaComponenteLaboratorial(CompL):§ CompL=(4TP1+EP1+EP2+EP3)/7
• Paraobterfrequência:§ CompL≥8.5(?)
6Março2017 ICE-cAula1:Introdução 10
Avaliação(Aprovação)
• Notafinal(NF)dosalunoscomfrequência:§ NF=CompTP (seCompTP<8.5)§ NF=0.4CompL+0.6CompTP(seCompTP≥8.5)
NotasAnteriores• Osalunosqueob(veramfrequênciaaICEapós2013/14:
§ Estãodispensadosderealizarostrabalhos;§ Seos realizarem,CompLéomáximoentreaCompLanterioreaob(da
esteano.
• OsalunoscomCompTP≥8.5aICEapós2013/14:§ Estãodispensadosderealizarostesteseoexame;§ Seosrealizarem,CompTPéomáximoentreaCompTPanterioreaob(da
esteano.
6Março2017 ICE-cAula1:Introdução 11
InformaçãoAdicional
• Bibliografia§ AllenB.Downey.PhysicalModelinginMATLAB(version1.1.3).
« VersãoPDFdisponívelemhvp://greenteapress.com/matlab/
§ SlidesdasTeóricas
• Sowware§ Octave–versãogratuitadosistemaMATLAB
§ Descarregável paraPCs (windows /Mac) – consultar a páginadeICE-c
• PáginaWebdeiCE-c§ 2013/14:hvp://icec.ssdi.di.fct.unl.pt
6Março2017 ICE-cAula1:Introdução 12
Sumário
• Sistemacomputacional§ Componentes
§ Execuçãodeprogramas
• Matlab§ Modelodeexecução–interpretador.
§ Expressõesaritmé(caseatribuição.Strings.
6Março2017 ICE-cAula1:Introdução 13
Informá(ca
• É o ramo da Ciência e da Engenharia que estuda oprocessamentoautomá(codeinformação§ ossistemascomputacionais
§ aconceçãoedesenvolvimentodeprogramas
§ osambientesdeprogramação,etc.
• A Informá(ca contribui para a resolução de problemas detodasasáreas,nomeadamenteciênciaseengenharias.
• Os computadores são usados para executar programas etambémparaosdesenvolver.
6Março2017 ICE-cAula1:Introdução 14
Sistemacomputacional
• Hardware§ Disposi(voseletrónicosquecompõemumcomputador
• Sowware§ Programasexecutadospelohardware
« Sowwaredesistema:controlaaexecuçãodeaplicações
« Aplicações:executamasmaisvariadasfuncionalidades
• Dados§ Informaçãoqueélidaouescritaporumaaplicação
6Março2017 ICE-cAula1:Introdução 15
Hardware:princípioselementares
• Construído a par(r de disposi(vos eletrónicos que operamsobre sequênciasdeelementosquepodem terdois estadosdiferentes(zeroeum)–bit.
• Umconjuntodeoitobitsdesigna-seporbyte.
• Toda a informação é codificada em (sequências de) bytes,incluindo:§ Programas–conjuntodeaçõessimples(instruções)
§ Dadosmanipuladospelosprogramas
6Março2017 ICE-cAula1:Introdução 16
Hardware
UnidadeCentraldeProcessamento(CPU)
Memória
Armazenamentovolá(ldebytesque
representaminstruçõesedados
Execuçãodeinstruçõesarmazenadasna
memóriaeenviodeordensparaoteclado,
ecrãedisco
Eletrónicadecontrolodoteclado
Entradadedados(eprogramas)
Eletrónicadecontrolododisco
Armazenamentopermanentedebytesquerepresentamdadose
programas
Eletrónicadecontrolodoecrã
Saídaderesultados
6Março2017 ICE-cAula1:Introdução 17
Tiposdememória
• Memóriacentral(RAM)§ Armazenadadoseprogramas.
§ Volá(l:conteúdoperde-sequandoocomputadorédesligado.
• Memóriadearquivo(discos)§ Conteúdopreservadomesmoquandoocomputadorédesligado.
§ Ainformaçãoestáarrumadaemficheiros.
6Março2017 ICE-cAula1:Introdução 18
Ficheiro
• Dopontodevistalógico,umficheirocontémumasequênciade bytes, 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).
6Março2017 ICE-cAula1:Introdução 19
Conteúdo
101:
102:
103:
104: 105:
Cada posição de memória tem um endereço (que é fixo e único) e um conteúdo (que pode variar). O endereço permite identificar (sem ambiguidade) cada posição da memória.
Endereço
O conteúdo da posição de memória com o endereço 104 é 1111 0110
00000001
10010111
11110110
Memóriacentral(RAM):endereçoseconteúdos
6Março2017 ICE-cAula1:Introdução 20
Memória (RAM)
Endereço E
00000001
10010111
11110110
FuncionamentodoCPU
• O CPU executa as instruçõesguardadas na memór iacentral,sequencialmente.
• Em cada momento, o CPUman tém a po s i ç ão dememória da instrução queestáaexecutar.
CPU
101:
102:
103:
104: 105:
PC: 104
6Março2017 ICE-cAula1:Introdução 21
104
Memória (RAM)
Endereço E
1111 0110
FuncionamentodoCPU
• A instrução define a açãoelementaraexecutar§ Ações atuam sobre dados
armazenados em memóriacentralounumdisposi(vodeentrada/saída
• Exemplo:somar100101102Soma o conteúdo dasposições 100 e 101 earmazena o resultado naposição102
Lê instrução
6Março2017 ICE-cAula1:Introdução 22
CPU
PC: 104
00000001
10010111
11110110
100
Memória (RAM)
Endereço E
0000 0001 00000001
10010111
11110110
FuncionamentodoCPU
• A instrução define a açãoelementaraexecutar§ Ações atuam sobre dados
armazenados em memóriacentralounumdisposi(vodeentrada/saída
• Exemplo:somar100101102Soma o conteúdo dasposições 100 e 101 earmazena o resultado naposição102
0000 0001
Lê dados: posição 100
6Março2017 ICE-cAula1:Introdução 23
CPU
PC: 104
101
Memória (RAM)
Endereço E
1001 0111 00000001
10010111
11110110
FuncionamentodoCPU
• A instrução define a açãoelementaraexecutar§ Ações atuam sobre dados
armazenados em memóriacentralounumdisposi(vodeentrada/saída
• Exemplo:somar100101102Soma o conteúdo dasposições 100 e 101 earmazena o resultado naposição102
1001 0111
Lê dados: posição 101
6Março2017 ICE-cAula1:Introdução 24
CPU
PC: 104
0000 0001
102
Memória (RAM)
Endereço E
1001 1000 00000001
10010111
11110110
FuncionamentodoCPU
• A instrução define a açãoelementaraexecutar§ Ações atuam sobre dados
armazenados em memóriacentralounumdisposi(vodeentrada/saída
• Exemplo:somar100101102Soma o conteúdo dasposições 100 e 101 earmazena o resultado naposição102
1001 0111
00000001
10010111
10011000
11110110
Executa operação e escreve resultado: posição 102
6Março2017 ICE-cAula1:Introdução 25
CPU
PC: 104
1001 0111 0000 0001
Sowwaredesistema
• Sistema opera(vo (SO): programa sempre residente nohardwareequegereoacessoaohardwareeaexecuçãodeprogramas.
• Interpretador de comandos: programa que permite aou(lizadorhumanoespecificaraçõesaefetuarpelohardware.
6Março2017 ICE-cAula1:Introdução 26
Funções de um SO
• Funções essenciais § Supervisonar a utilização dos recursos do sistema
§ Controlar o acesso ao CPU § Controlar os periféricos § Gerir a memória central § Gerir o disco (os ficheiros)
• Carregador§ Usando as funções anteriores, carrega programas guardados no
discoecoloca-osemexecução
6Março2017 ICE-cAula1:Introdução 27
Interpretadordecomandos
Linha de comando
Gráfico
6Março2017 ICE-cAula1:Introdução 28
Interpretadordecomandos[1]
prompt > comando argumento1 argumento2 …
Comando interno Executado pelo próprio interpretador. Exemplos: dir cd print type …
Comando externo É o nome de um programa. Pede-se ao SO para verificar se o programa existe, invoca-se o carregador e o CPU começa a executar as instruções que compõem o programa 6Março2017 ICE-cAula1:Introdução 29
Interpretadordecomandos[2]
• InterfaceGráfica(GraphicalUserInterface-GUI)§ Duplo-clicknumíconequerepresentaoprograma.
§ Duplo-click num ícone que representa dados. O programaassociado a esses dados é executado, tendo os dados comoargumento.
6Março2017 ICE-cAula1:Introdução 30
IntoduçãoaoMatlab
• Sistema computacional. § Componentes.
§ Execução de programas.
• Matlab. § Modelo de execução - interpretador.
§ Expressões aritméticas e atribuição. Strings.
6Março2017 ICE-cAula1:Introdução 31
Programasemlinguagensdealtonível
• Compilação:umprograma (compilador) traduzas instruçõesdealtonívelparaasinstruçõesqueoCPUentendeeguarda-as.
• Interpretação:umprograma(interpretador)traduzcadalinha(com as instruções de alto nível) num conjunto de ações emandaoCPUexecutá-las.
• EmICE,vamosfazerprogramasnumalinguagemdealtonível(Matlab)evamosusarum interpretador (OctaveouMatlab)paraosexecutar.
6Março2017 ICE-cAula1:Introdução 32
Operação de um interpretador
Leituradelinha
Análisedoconteúdo
Execuçãodasações
6Março2017 ICE-cAula1:Introdução 33
O Intepretador é um programa
CPU
Memória
Teclado Ecrã
CódigoedadosdoInterpretador
Execuçãodasinstruções
>>5+2ans=7>>
Aazuloqueéescritopelointerpretador
Avermelhooqueéescritopelou(lizador
6Março2017 ICE-cAula1:Introdução 34
>> 5
ans = 5
>> -4.6
ans = -4.6000
Matlab–Constantes
• 5 e -4.6 são constantesnuméricas.
• Umaconstante“vale”oseuvalor.
6Março2017 ICE-cAula1:Introdução 35
>> 5 + 14
ans = 19
>> -1.7 * ( 3 – 1 )
ans = -3.4000
>> 5^2 + 5 * 2
ans = 35
Matlab–Expressõesaritmé(cas
• Operadores aritmé(cosbásicos:+,-,*,/,^
• Umaexpressãoaritmé(caéavaliada e o resultado daava l iação é um valornumérico.
6Março2017 ICE-cAula1:Introdução 36
>> cos(0) ans = 1 >> sqrt(26 - cos(0)) ans = 5 >> exp(1) + sqrt(16) ans = 6.7183 >> help sin SIN Sine of …
Matlab–Funçõespré-definidas
• Há muitas funções pré-definidas.
• O resu l t ado de cadachamadaacos,sqrteexpéumvalornumérico.
• helpnomeDaFunçãomostraa documentação online dafunção.
6Março2017 ICE-cAula1:Introdução 37
>> 9^2
ans = 81
>> ans + 10
ans = 91
Matlab–Variáveis
• Umavariável éumnomedeumaposiçãodememória.
• O valor de uma variável é oconteúdo dessa posição dememória.
• ans é uma variável que édefinida de uma formaa u t o m a ( c a p e l ointrepretadordalinguagem.
6Março2017 ICE-cAula1:Introdução 38
Matlab–Nomesdevariáveis
• Nomedeumavariável:sequênciade letras,algarismose ‘_’,quecomeçaporumaletra.§ Exemplos:x,taxa_maxima,valorMinimo,y1.
• NOTA:Dis(nguem-seasmaiúsculasdasminúsculas.§ Exemplo:asvariáveissomaeSomasãodiferentes.
6Março2017 ICE-cAula1:Introdução 39
Matlab–Instruçãodeatribuição
• Sintaxe:variável=expressão
• Aexpressãoéavaliada(oresultadoéumvalor).
• Seavariávelnãoexiste,écriada.
• O valor da expressão é colocado na posição da memóriaiden(ficadapelavariável.
6Março2017 ICE-cAula1:Introdução 40
>> x = cos(0) + 3 x = 4 >> y = 2^x y = 16 >> x = y x = 16 >> x = x + 2 x = 18
Variáveis:
4x
4 16x y
16 16x y
18 16x y
Matlab–Variáveiseatribuições[1]
6Março2017 ICE-cAula1:Introdução 41
>> x ans = 18 >> x = sqrt(y) x = 4 >> x = sqrt(x) x = 2
Matlab–Variáveiseatribuições[2]
18 16x y ans
18 16 18x y ans
4 16 18x y ans
2 16 18x y ans
6Março2017 ICE-cAula1:Introdução 42
Variáveiseendereços
• As instruçõesdoCPUespecificamendereçosdememória.OCPUexecutaoperaçõescomosconteúdosdessesendereços.
• Numa linguagem de alto nível, as variáveis são nomes paraendereços de memória, nos quais é guardado o valor dasvariáveis.
• O programador não precisa de conhecer os endereços nosseusprogramas.
6Março2017 ICE-cAula1:Introdução 43
>> x = cos(0) + 3 x = 4 >> y = 2^x y = 16 >> x = y x = 16 >> x = x + 2 x = 18
Matlab–Variáveiseendereços
00010010
00010000101:
102:
103:
104: 105:
100:
18 16x y 6Março2017 ICE-cAula1:Introdução 44
Tiposdedadosmanipuladospelosprogramas
• Inteirosereais:comonosexemplosanteriores.
• Texto: Compostopor sequências de símbolos – caracteres –querepresentamletras(maiúsculaseminúsculas),algarismosesinaisdepontuação.§ Cada carácter é armazenado no computador usando uma dada
codificação(sequênciadebits).
6Março2017 ICE-cAula1:Introdução 45
String
• Umastringéumasequênciadecaracteres.
• EmMatlab,§ escreve-seasequênciadecaracteresentreplicas;
§ asvariáveispodemarmazenarstrings.
• Exemplo:
>> str = ‘Estudante na FCT/UNL.’ str = Estudante na FCT/UNL. >>
6Março2017 ICE-cAula1:Introdução 46
Strings–Funçõespré-definidas[1]
• stringRes=lower(string)§ Converteasletrasmaiúsculasdastringemminúsculas.
§ Ex.:lower(‘naFCT/UNL.’)vale‘nafct/unl.’
• stringRes=upper(string)§ Converteasletrasminúsculasdastringemmaiúsculas.
§ Ex:upper(‘naFCT/UNL.’)vale‘NAFCT/UNL.’
6Março2017 ICE-cAula1:Introdução 47
Strings–Funçõespré-definidas[2]
• número=str2num(string)§ Converteastringnonúmerocorrespondente.
§ Ex.:str2num(‘1.234’)vale1.234
• string=num2str(número)§ Converteonúmeronastringcorrespondente.
§ Ex.:num2str(1.234)vale‘1.234’
6Março2017 ICE-cAula1:Introdução 48