Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa...

33
CIn.ufpe.br Computação Eletrônica Apresentação da Disciplina, Ementa, Bibliografia e Acordo Didático Prof: Luciano Barbosa

Transcript of Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa...

Page 1: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

ComputaçãoEletrônicaApresentação da Disciplina, Ementa, Bibliografia e Acordo Didático Prof:LucianoBarbosa

Page 2: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

ResumodaEmenta

•  ComputaçãoEletrônica(IF165)•  CargaHorária:60h•  Objetivos:

–  Ensinarlógicadeprogramaçãodecomputadores–  Ensinodaprogramaçãobásicadecomputadoresutilizandoalinguagem

deprogramaçãoC

Page 3: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Porqueestadisciplina?

•  Presençaconstantedecomputadores•  Automatizartrabalhosoperacionais

–  Ex:resoluçãodeequaçãodesegundograu

Page 4: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Porqueestadisciplina?

Page 5: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Porqueestadisciplina?

Page 6: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Metodologia

•  Aulasexpositivasemsaladeaulaeaulaspráticasemlaboratório.

•  MonitoresdisponíveisduranteasaulaspráticaseematividadesextraclassenoslaboratóriosdaÁreaII.

Page 7: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Metodologia

•  Listasdeexercícios–  Auxiliamoaprendizado.–  Incluemogabarito–  Façaamaiorquantidadedeexercícios!

•  Recomendávelpraticar:–  nocomputadorexecutandoosprogramaspasso-a-passo(Função

depurarocódigo-Debug)paracompreenderofuncionamento;–  nopapel(paraasprovas);

•  ResolvaasprovasanterioresdisponíveisnositedaáreaII:–  http://www.ufpe.br/areaii

Page 8: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Metodologia

•  Estudos:–  Nãoestudemapenaspelosslides!-  Resolvamexercícios-  Procuremajudacomosmonitores-  Formemgruposdeestudo-  Frequentemasaulas!

Page 9: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Avaliação

•  3provasqueseguemocalendáriodaÁreaII,alémdesegundachamadaeprovafinal;

•  Todasasprovassãoiguais,sendoministradasnamesmadataehorárioparatodasasturmas;

•  Osalunosterão30minapartirdoiníciodaprovaparaentrar,atrasosnãoserãotolerados;

•  Osalunosdevemesperar1hapartirdoiníciodaprovaparadeixarasaladeprovas;

•  Segundachamadadeprovassomentecomjustificativaqueseráanalisadaporumcolegiado;

•  Éfundamentalapresentardocumentocomfotopararealizaraprova;

Page 10: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Avaliação

•  Osalunossãoavaliadospelocorpodocentedadisciplina,recebendonotasquevariamdezero(0,0)adez(10,0)emcadaumdosExercíciosEscolares(EE).

•  MG=(EE1+EE2+EE3)/3•  MG≥7,0:Aprovadopormédia•  3,0≤MG<7,0:Final•  MG<3,0:Reprovadosemdireitoafazerafinal•  Nafinal(NF=notadafinal):

–  (MG+NF)/2≥5,0:Aprovado–  (MG+NF)/2<5,0:Reprovado

•  Asfaltasserãocomputadaseosalunoscomtotaldefaltasigualousuperiora25%docursoserãoreprovadosporfalta.

Page 11: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Avaliação

•  Adatassãomuitobemplanejadas•  VerifiquemocalendárionositedaáreaII•  ProcureasprovasanterioresdisponíveisnositedaáreaII:

http://www.ufpe.br/areaii/

•  Podesersolicitadaarevisãodeprova•  Cadaprofessorcorrigeerevisaasprovasdesuaturma

Page 12: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

SitedaDisciplina

•  Omaterialusadonocursoestarádisponívelnapáginadadisciplina:

http://www.cin.ufpe.br/~if165/•  Ositeapresenta:

–  Referênciasbibliográficas;–  Listasdeexercícioscomgabarito;–  Exemplos;

Page 13: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

AcordoDidático

•  Disciplinaefilosofiadetrabalho–  CELULARESNOMODOSILENCIOSO–  SOMENTEATENDERFORADASALA–  EVITECONVERSASPARALELASDURANTEASAULAS–  NÃOÉNECESSÁRIOINTERROMPERAAULAPARASOLICITARSAÍDADE

SALA;–  PERGUNTASSÃOMUITOIMPORTANTES;–  PROBLEMAS?CONVERSE,TALVEZPOSSAMOSAJUDAR;–  MELHORMEIODECONTATOEXTRACLASSE:E-MAIL.

Page 14: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

BibliografiadoCurso

•  Bibliografiabásica:–  DEITEL,Paul.DEITEL,Harvey.C:ComoProgramar.EditoraMakron

Books,6aedição,2011.–  ROOKSHEAR,J.G.:CiênciadaComputação:UmaVisãoAbrangente,7a

Ed.,Bookman(Artmed–  MIZRAHI,VictorineViviane.TreinamentoemLinguagemC:módulos1e

2,SãoPaulo:McGraw-Hill.1995.,2004,512p.

•  Bibliografiacomplementar:–  JaimeEvaristo.AprendendoaProgramarProgramandonaLinguagemC.–  KELLEY,Al.POHL,Ira.ABookonC–EditoraAddisonWesley,Fourth

Edition,1998.–  SCHILDT,H.C-completoetotal.TerceiraEdição.EditoraMakronBooks,

2005.

Page 15: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Computador(Hardware)

Page 16: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

SoftwareXHardware

•  Hardware:conjuntodecomponenteseletrônicosqueconstituemumcomputador.

•  Software:partenãofísica(oulógica)dosistemacomputacionalquecontrolaohardware.

Page 17: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

TiposdeSoftwares(Programas)

•  Softwaresdesistema:–  Dãosuportefuncionalaoscomputadores–  Ex:sistemasoperacionaisedriversdedispositivos.

•  Softwaresaplicativos:–  Permitemaousuáriofazerumaoumaistarefasespecíficas–  Ex:planilhaseletrônicas,editoresdetextoenavegadores;

Saiba Mais

Page 18: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

ProgramaçãodeComputadores

•  Oatodedesenvolverprogramas(ousoftware)•  Processodeescritaeteste•  Metodologiadedesenvolvimento->EngenhariadeSoftware

Page 19: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Programas•  Escritosemumalinguagemdeprogramação.•  Linguagensdeprogramaçãotêmassuasregras•  Conjuntoderegrassintáticasesemânticasusadasparadefinir

umprograma•  Devemserseguidasparaescreverprogramascorretamente

Page 20: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

LinguagensdeProgramação

•  Aprenderumalinguagemdeprogramaçãoéumpoucosimilaraaprenderumnovoidioma

•  Temosquesaberosignificadodaspalavras,asregrasdaestruturaçãodasfrases,etc.,parapodermosnoscomunicarcorretamentenonovoidioma

Page 21: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

AlgoritmovsLinguangemdeProgramação

21

Maçã

Apple

苹果

Epli

Línguas

Conceito

Português

Inglês

Chinês

Islandês

Page 22: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

AlgoritmosvsLing.deProgramação C

Java

PythonAlgoritmo

Page 23: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Algoritmos

•  Sequênciadepassosquecompõemosprogramas•  Exemplosdealgoritmosnonossocotidiano:

Page 24: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

Exemplo

24

Entrada

Saída

Algoritmoécompostoporumafunçãoquerecebeentrada(s)eretornasaída(s)

Page 25: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

ClassificaçãodeLinguagensdeProgramação(NíveldeAbstração)

•  Paraserexecutado,ocódigofonteprecisasertraduzidoparacódigodemáquina

•  Tiposdeabstração:–  Linguagensdemáquina–  Linguagensdebaixonível–  Linguagensdealtonível

LinguagemdeMáquina

101101011110011011000100

LinguagemdeBaixoNível

LOADBASEADDBONUS

STORESALARIO

LinguagemdeAltoNível

Salario=Base+Bonus

Page 26: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

LinguagemdeMáquina

•  Sequênciasdebits(zeroseuns)•  Representaminstruçõesaseremexecutadas•  Asinstruçõescorrespondemasequênciasmuitosimplesde

operações,taiscomo:–  TransferirumdadoemmemóriaparaaCPUousomardoisvalores.

•  Dependentesdoprocessador:umadeterminadalinguagemdemáquinasópoderáusadaporumtipodeprocessador

LinguagemdeMáquina

101101011110011011000100

LinguagemdeBaixoNível

LOADBASEADDBONUS

STORESALARIO

LinguagemdeAltoNível

Salario=Base+Bonus

Page 27: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

LinguagensdeBaixoNível•  Zeroseunsqueformamumainstruçãoforamsubstituídospor

palavrasquerepresentamtaisinstruções•  ChamadasdelinguagensAssembly•  Vantagens:Maiorvelocidadedeprocessamentoeocupammenos

espaçonamemória•  Desvantagens:poucaportabilidadeenãosãoestruturadas,tornando

aprogramaçãomaisdifícil

LinguagemdeMáquina

101101011110011011000100

LinguagemdeBaixoNível

LOADBASEADDBONUS

STORESALARIO

LinguagemdeAltoNível

Salario=

Base+Bonus

Page 28: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

LinguagensdeAltoNível

•  Podemserdivididasdeacordocomasuaaplicação:–  Genéricas(comoC,C++,C#,JavaePython)–  Específicas

•  Fortran-utilizadaparaexecuçãodecálculosmatemáticos•  R–desenvolvimentodeaplicaçõesemestatística

•  Vantagens:–  Portabilidade:podemserexecutadasemváriasplataformascom

pouquíssimasmodificações–  Facilidadededesenvolvimentodeprogramas

•  Desvantagens(rotinasmaisgenéricas)–  Maislentas–  Ocupammaismemória

Page 29: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

ClassificaçãodeLinguagensdeProgramação(NíveldeAbstração)

LinguagemdeMáquina

101101011110011011000100

LinguagemdeBaixoNível

LOADBASEADDBONUS

STORESALARIO

LinguagemdeAltoNível

Salario=

Base+Bonus

Page 30: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

EtapasparaDesenvolvimentodeumPrograma

Page 31: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

1ªEtapa:Criaçãodoprogramafonte

•  “Texto”formadopeloconjuntodecomandosquenósdesejamosqueocomputadorexecute

•  Deverespeitarasregrasdalinguagem•  Demodogeral,osprogramasfontessãodigitadosemeditores

detextogenéricosouespecíficosdosambientesdeprogramação(IDEs)

Page 32: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

2ªEtapa:Compilação

•  Duastarefas–  Verificaseoprogramafontenãoapresentanenhumerrodesintaxe

(“corretorortográfico”)–  Geraoprogramaexecutável

Page 33: Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa executável • Testar se o programa está produzindo os resultados esperados • “Erro

CIn.ufpe.br

3ªEtapa:Execuçãodoprogramaexecutável

•  Testarseoprogramaestáproduzindoosresultadosesperados•  “Errodelógica”ou“errodeexecução”:asequênciade

comandosnãofoidefinidadeformacorreta–  Revisaroseuprogramafonteepassá-lonovamentepelafasede

compilação,paraqueumnovoexecutável,semerros,sejagerado–  Comoocompiladornãonosavisaondeestãooserrosdelógica,estes

sãomaisdifíceisdeseremcorrigidos