Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa...
Transcript of Computação Eletrônicaluciano/cursos/ce/introducao.pdf · 3ª Etapa: Execução do programa...
CIn.ufpe.br
ComputaçãoEletrônicaApresentação da Disciplina, Ementa, Bibliografia e Acordo Didático Prof:LucianoBarbosa
CIn.ufpe.br
ResumodaEmenta
• ComputaçãoEletrônica(IF165)• CargaHorária:60h• Objetivos:
– Ensinarlógicadeprogramaçãodecomputadores– Ensinodaprogramaçãobásicadecomputadoresutilizandoalinguagem
deprogramaçãoC
CIn.ufpe.br
Porqueestadisciplina?
• Presençaconstantedecomputadores• Automatizartrabalhosoperacionais
– Ex:resoluçãodeequaçãodesegundograu
CIn.ufpe.br
Porqueestadisciplina?
CIn.ufpe.br
Porqueestadisciplina?
CIn.ufpe.br
Metodologia
• Aulasexpositivasemsaladeaulaeaulaspráticasemlaboratório.
• MonitoresdisponíveisduranteasaulaspráticaseematividadesextraclassenoslaboratóriosdaÁreaII.
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
CIn.ufpe.br
Metodologia
• Estudos:– Nãoestudemapenaspelosslides!- Resolvamexercícios- Procuremajudacomosmonitores- Formemgruposdeestudo- Frequentemasaulas!
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;
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.
CIn.ufpe.br
Avaliação
• Adatassãomuitobemplanejadas• VerifiquemocalendárionositedaáreaII• ProcureasprovasanterioresdisponíveisnositedaáreaII:
http://www.ufpe.br/areaii/
• Podesersolicitadaarevisãodeprova• Cadaprofessorcorrigeerevisaasprovasdesuaturma
CIn.ufpe.br
SitedaDisciplina
• Omaterialusadonocursoestarádisponívelnapáginadadisciplina:
http://www.cin.ufpe.br/~if165/• Ositeapresenta:
– Referênciasbibliográficas;– Listasdeexercícioscomgabarito;– Exemplos;
CIn.ufpe.br
AcordoDidático
• Disciplinaefilosofiadetrabalho– CELULARESNOMODOSILENCIOSO– SOMENTEATENDERFORADASALA– EVITECONVERSASPARALELASDURANTEASAULAS– NÃOÉNECESSÁRIOINTERROMPERAAULAPARASOLICITARSAÍDADE
SALA;– PERGUNTASSÃOMUITOIMPORTANTES;– PROBLEMAS?CONVERSE,TALVEZPOSSAMOSAJUDAR;– MELHORMEIODECONTATOEXTRACLASSE:E-MAIL.
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.
CIn.ufpe.br
Computador(Hardware)
CIn.ufpe.br
SoftwareXHardware
• Hardware:conjuntodecomponenteseletrônicosqueconstituemumcomputador.
• Software:partenãofísica(oulógica)dosistemacomputacionalquecontrolaohardware.
CIn.ufpe.br
TiposdeSoftwares(Programas)
• Softwaresdesistema:– Dãosuportefuncionalaoscomputadores– Ex:sistemasoperacionaisedriversdedispositivos.
• Softwaresaplicativos:– Permitemaousuáriofazerumaoumaistarefasespecíficas– Ex:planilhaseletrônicas,editoresdetextoenavegadores;
Saiba Mais
CIn.ufpe.br
ProgramaçãodeComputadores
• Oatodedesenvolverprogramas(ousoftware)• Processodeescritaeteste• Metodologiadedesenvolvimento->EngenhariadeSoftware
CIn.ufpe.br
Programas• Escritosemumalinguagemdeprogramação.• Linguagensdeprogramaçãotêmassuasregras• Conjuntoderegrassintáticasesemânticasusadasparadefinir
umprograma• Devemserseguidasparaescreverprogramascorretamente
CIn.ufpe.br
LinguagensdeProgramação
• Aprenderumalinguagemdeprogramaçãoéumpoucosimilaraaprenderumnovoidioma
• Temosquesaberosignificadodaspalavras,asregrasdaestruturaçãodasfrases,etc.,parapodermosnoscomunicarcorretamentenonovoidioma
CIn.ufpe.br
AlgoritmovsLinguangemdeProgramação
21
Maçã
Apple
苹果
Epli
Línguas
Conceito
Português
Inglês
Chinês
Islandês
CIn.ufpe.br
AlgoritmosvsLing.deProgramação C
Java
PythonAlgoritmo
CIn.ufpe.br
Algoritmos
• Sequênciadepassosquecompõemosprogramas• Exemplosdealgoritmosnonossocotidiano:
CIn.ufpe.br
Exemplo
24
Entrada
Saída
Algoritmoécompostoporumafunçãoquerecebeentrada(s)eretornasaída(s)
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
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
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
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
CIn.ufpe.br
ClassificaçãodeLinguagensdeProgramação(NíveldeAbstração)
LinguagemdeMáquina
101101011110011011000100
LinguagemdeBaixoNível
LOADBASEADDBONUS
STORESALARIO
LinguagemdeAltoNível
Salario=
Base+Bonus
CIn.ufpe.br
EtapasparaDesenvolvimentodeumPrograma
CIn.ufpe.br
1ªEtapa:Criaçãodoprogramafonte
• “Texto”formadopeloconjuntodecomandosquenósdesejamosqueocomputadorexecute
• Deverespeitarasregrasdalinguagem• Demodogeral,osprogramasfontessãodigitadosemeditores
detextogenéricosouespecíficosdosambientesdeprogramação(IDEs)
CIn.ufpe.br
2ªEtapa:Compilação
• Duastarefas– Verificaseoprogramafontenãoapresentanenhumerrodesintaxe
(“corretorortográfico”)– Geraoprogramaexecutável
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