![Page 1: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/1.jpg)
CIn.ufpe.br
ComputaçãoEletrônicaFunçõeseEscopodeVariáveis
Prof:LucianoBarbosa
![Page 2: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/2.jpg)
CIn.ufpe.br
DividirparaConquistar
pow(base,expoente)
fatorial(número)
![Page 3: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/3.jpg)
CIn.ufpe.br
DividirparaConquistar• Dividirumproblemaemsubproblemasmaissimples• Ospassosparaissosão:
1. Divisãodoproblemaemsubproblemas;2. Soluçãodecadaumdossubproblemas;3. Composiçãodassoluçõesdossubproblemasparasolucionaro
problemaoriginal.
• Chamadodeprogramaçãomodular
![Page 4: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/4.jpg)
CIn.ufpe.br
ProgramaçãoModular• Vantagens:
– Módulospodemserescritosumavezapenasereutilizadossemprequenecessário
– Módulospodemsercompostosparasolucionarproblemascadavezcomplexos
– Facilitaamanutenção:umerrocorrigidoemummódulorefleteemtodososlugaresondeessemóduloéutilizado;
Composição
![Page 5: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/5.jpg)
CIn.ufpe.br
MódulosemC-Funções• Função:conjuntodeinstruçõespararealizarumaoumais
tarefasquesãoagrupadasemumamesmaunidadeequepodeserreferenciada
pow(base,expoente)
fatorial(número)
![Page 6: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/6.jpg)
CIn.ufpe.br
FunçõesemC• Paracriação,énecessárioinformar:
– Tipodasentradas(parâmetros):tiposdedadosdosdadosquesãonecessáriosparaexecutarsuafunção(opcional);
– Tipodasaída:tipodedadosdoresultadodoprocessamento(opcional);– Processamento:transformaasentradasnasaídadesejada;– Nome:umidentificador(seguindoasregrasparacriaçãode
identificadoresparavariáveis).
g
Entrada
Nome:g
Processamento
Saída
![Page 7: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/7.jpg)
CIn.ufpe.br
ExemplodaSintaxe
Nomedafunção:“segundoGrau”
Tipodedadosdasaída(retorno):float
Entradaseseustipos:1ºparâmetro:floatx2ºparâmetro:floata3ºparâmetro:floatb4ºparâmetro:floatc
Processamento“corpodafunção”
Retornarparaasaídaoresultadodoprocessamento
![Page 8: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/8.jpg)
CIn.ufpe.br
ExemplodeUtilização
Declaraçãodafunção“segundoGrau”
Chamadadafunçãocompassagemdosargumentos
Nota:argumentoéonomedadoaosvalorespassadosparaosparâmetrosdeumafunção.
![Page 9: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/9.jpg)
CIn.ufpe.br
ExemplodeUtilização• Oprogramaanteriorequivalea:
Note que “main” é também umafunção. Todo programa em C éumafunçãoquedeveretornarumcódigo inteiro. Valor zero paraestecódigoindicaqueoprogramaterminou sem erros, qualqueroutro valor indica um código deerrocomsignificadodefinidopeloprogramador.
![Page 10: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/10.jpg)
CIn.ufpe.br
Ocomandoreturn• Funçõesqueretornamvaloresdevemutilizarocomando
return:
• Obs.:Ocomandoreturnpodeapareceremqualquerpontodocorpodafunção,eumavezatingido,aexecuçãodafunçãoéterminada:
![Page 11: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/11.jpg)
CIn.ufpe.br
Ocomandoreturn• Utilização:
returnexpressão;
• Paraexecutarestecomandooprograma:– Avaliaexpressão,obtendoumvalor.Ex.:return(a*x*x+b*x+c);
• Umafunçãoquenãotemvalorpararetornar:void– Usodoreturnéopcional:
Ou
![Page 12: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/12.jpg)
CIn.ufpe.br
Variações• Quandoomitido,otipoderetornoéassumidoint:
• Algumasfunçõesnãoprecisamreceberparâmetros.Nestecaso,alistadeparâmetrosficavazia,masosparêntesesaindasãoobrigatórios:
(dificultaoentendimento)
![Page 13: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/13.jpg)
CIn.ufpe.br
ChamadaouInvocaçãodeFunções
• UmprogramaemCsempreinicianafunçãoprincipal:main();• Apenasdeclararumafunçãonãofarácomqueelasejaexecutada• Paraquesejaexecutadaénecessárioqueelasejachamada
(invocada)->fornecidosvaloresparaosparâmetros• Quandochamada,ofluxodecontroledoprogramaédesviadoparaa
funçãoeocódigoqueestánelaéexecutado;• Quandoafunçãoterminadeserexecutada,ofluxodecontroledo
programaretornaparaainstruçãologoapósachamadadafunção;• Ovalorderetornodafunçãopodesercapturadoearmazenadoem
umavariávelutilizandoocomandodeatribuição‘=‘.
![Page 14: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/14.jpg)
CIn.ufpe.br
Voltandoaoexemplo:
Declaraçãodafunção“segundoGrau”
Chamadadafunção
PassagemdevaloresparaosparâmetrosCapturadovalorretornadoearmazenamentodanavariávely.
![Page 15: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/15.jpg)
CIn.ufpe.br
DesviodaExecução
intmain(){...minhaFuncao();...}
voidminhaFuncao();....return;}
![Page 16: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/16.jpg)
CIn.ufpe.br
voidminhaFuncao2();....return;}
DesviodaExecução
intmain(){...minhaFuncao1();...}
voidminhaFuncao1();..minhaFuncao2();..return;}
![Page 17: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/17.jpg)
CIn.ufpe.br
EscopodasVariáveis• Defineaáreadoprogramaondeavariávelpodeser
referenciada• Variáveisglobais:declaradasforadasfunções(inclusiveforada
funçãomain)– Podemserreferenciadasportodasasfunçõesdoprogramaabaixodo
pontoondeforamdeclaradas
• Variáveislocais:declaradasdentrodeumafunção(inclusivedentrodafunçãomain)– Sopodemserreferenciadasdentrodestafunção
![Page 18: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/18.jpg)
CIn.ufpe.br
VariáveisGlobais• Podemserusadasemqualquerpartedocódigo;• Existemdurantetodoociclodevidadoprograma(ocupando
memória);– Senãoforemexplicitamenteinicializadas,sãoinicializadasparazero
pelocompilador.• Normalmentedeclaradasnoiníciodoprogramaouemarquivos
dotipoheader(*.h)• Declaradasumaúnicavez• Deve-seevitarousoabusivodelas,pois:
– Podepenalizaroconsumodememória;– Podedificultaralegibilidadeemanutençãodocódigo(sepodeser
acessadaealteradaemqualquerlugarcomoencontrarondeestáoerro?).
![Page 19: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/19.jpg)
CIn.ufpe.br
VariáveisGlobais
Variávelglobal:declaradaforadequalquerfunção
Acessívelemqualquerpontodocódigoapóssuadeclaração
![Page 20: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/20.jpg)
CIn.ufpe.br
VariáveisLocais
• Declaradasdentrodeumafunção• Sóexistemduranteaexecuçãodafunção->sóocupama
memóriaduranteaexecuçãodafunção• Sãovisíveisapenasdentrodafunçãoondeforamdeclaradas• Outrasfunçõesnãopodemreferenciá-las• Parâmetrosdefunçõespodemservistoscomovariáveislocais
![Page 21: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/21.jpg)
CIn.ufpe.br
VariáveisLocais
Variávellocal:declaradadentrodeumafunção
Nãoéacessívelforadafunçãoondefoideclarada.
Error:'i'undeclared!
![Page 22: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/22.jpg)
CIn.ufpe.br
ParâmetroseArgumentos• Osparâmetrossãonomesqueaparecemnadeclaraçãodeuma
função:voidimprimir(intvalor)
• Osargumentossãoexpressõesqueaparecemnaexpressãode
invocaçãodafunção:
imprimir(10);imprimir(8+2);Imprimir(2*5);
![Page 23: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/23.jpg)
CIn.ufpe.br
ParâmetroseArgumentos• Quandoumafunçãoéchamada,osargumentosdachamadasão
copiadosparaosparâmetros(formais)presentesnaassinaturadafunção:
• Parâmetrossãocomovariáveislocaisdafunção(nãoénecessáriodeclararnovamente)
• Nãosedevedeclararvariáveislocaiscomomesmonomedeparâmetros
![Page 24: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/24.jpg)
CIn.ufpe.br
VariáveisLocais-static• Casoumafunçãodeclareumavariávellocal,estaécriadaa
cadaexecuçãodafunção.
• Casoavariávellocalvenhacomomodificadorstatic,avariávelécriadainicializadaumaúnicavez:
Sempreretorna123
Inicializaapenasumavezcom100
Naprimeiravezquefuncaoforchamadaretornará123
nasegunda,retornará146;naterceira,169;...
![Page 25: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/25.jpg)
CIn.ufpe.br
EscopodasVariáveis• Variáveisemescoposdiferentespodemteromesmonome,
porém,referenciamendereçosdememóriadiferentes!
Qualvalorseráimpresso?
Mesmonome,porémsãovariáveisdistintas
![Page 26: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/26.jpg)
CIn.ufpe.br
EscopodasVariáveis• Umavariáveldeescopolocal,comomesmonomedeuma
variávelcomescopoglobaloculta(sobrepõe)adeescopoglobal.
Quaisvaloresserãoimpressos?
Avariáveldeescopolocalnamainsobrepõeadeescopoglobal
Referênciaavariávellocal
Referênciaavariávelglobal
![Page 27: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/27.jpg)
CIn.ufpe.br
OrdemdaDefiniçãodeFunções• Ondeumafunçãodeveserdefinida?
– Antesdamain;ou– Depoisdamain,desdequesuaassinaturasejadeclaradaantesdamain.
• Aassinaturadeumafunçãodeveindicar:– seunome;– Ostiposdasentradas;– Otipodasaída.
• Ex.:Função“segundos”:– Transformahoraseminutosemsegundos.
• Assinaturadafunção”segundos”:– Onomedosparâmetroséopcional:
![Page 28: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/28.jpg)
CIn.ufpe.br
OrdemdaDefiniçãodeFunções• Ondeumafunçãodeveserdefinida?
– Antesdamain:
![Page 29: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/29.jpg)
CIn.ufpe.br
OrdemdaDefiniçãodeFunções• Ondeumafunçãodeveserdefinida?
– Depoisdamaincomdeclaraçãopréviadaassinatura:
Aregrabásicaéqueocompiladorprecisaencontraradefiniçãodeumafunçãoousuaassinaturaantesdeencontrarsuachamada
Assinaturadafunçãoantesdachamada
Declaraçãodafunçãoapósachamada.
Chamadadafunção
![Page 30: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/30.jpg)
CIn.ufpe.br
UtilizaçãodeMacroscomoFunções• Diretivasdepré-processamentodotipo#definepodemser
declaradascomparâmetros.Nessecaso,temusosemelhanteaodeumafunção:
• Sãosubstituídasnocódigoantesdacompilação(naetapadepré-processamento);
• Noexemploanteriorocompiladorveráafunçãomainassim:
OndeháSubstituirpor
![Page 31: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/31.jpg)
CIn.ufpe.br
UtilizaçãodeMacroscomoFunções• Cuidado!Definasuasmacroscomcautela!
– Nocódigoabaixoqualvalorseráimpresso?
• Dáaentenderqueimprimirá8,ouseja:4*(5-3):• Porémasubstituiçãoresultaráem:
• E,17seráimpresso!• Parevitarisso,utilizeparênteses:
#defineDIF(a,b)(a–b)
![Page 32: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/32.jpg)
CIn.ufpe.br
UtilizaçãodeMacroscomoFunções• Cuidado!Definasuasmacroscomcautela!
– Nocódigoabaixoqualvalorseráimpresso?
• Dáaentenderqueimprimirá14,ouseja:(3+4)*2• Porémasubstituiçãoresultaráem:
• E,11seráimpresso!• Parevitarisso,utilizeparênteses:
#definePROD(a,b)((a)*(b))
![Page 33: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/33.jpg)
CIn.ufpe.br
Atividade1Atividadevistaemaulasanteriores:1. Escrevaumalgoritmoquelê50númerosinteiroseemseguida
mostraasomadetodososímpareslidos.2. Altereoalgoritmoanteriorparaqueeleconsidereapenasa
somadosímparesqueestejamentre100e200.3. Construaumalgoritmoqueleiaumconjuntode20números
inteirosemostrequalfoiomaioreomenorvalorfornecido.4. Altereoprogramaanteriorparaqueelenãopermitaaentrada
devaloresnegativos.
![Page 34: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/34.jpg)
CIn.ufpe.br
Atividade1• Façaumprogramaqueleiadoisvaloresinteirosxeyentre0e
1000.Encontreomaiorentreeleseimprima:– Opercentualdomenoremrelaçãoaomaior– Omodulodadiferençaentreomaioreomenor
• Altereoprogramaanteriorparaqueutilizetrêsfunções:
a)scanIntIntervalo:Funçãoparalerinteirosdotecladogarantidoqueelesestejamdentrodeumintervalopré-determinado;
b)percentual:Funçãoparacalcularopercentual:100*valor/totalc)absdif:Funçãoqueretornaovalorabsolutodadiferençaentredois
númerosreais.
![Page 35: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/35.jpg)
CIn.ufpe.br
Atividade1• Umcentromaterno-infantildesejacriarumprogramapararecomendaraosmédicos
sobreotipodepartoaseradotado.Omecanismoderecomendaçãoutilizaopesodofetoequantidadedesemanasdegestaçãoparasugerirotipodepartomaisindicado.DesenvolvaumprogramanalinguagemC,oqualdeverá:
• Leropesodofetoemgramaseaquantidadedesemanasdagestação.Casoopesodofetosejainferiorque100gramasouaquantidadedesemanasmenorque28,oprogramadeveráexibiramensagem"Partonãodeveráserrealizado,reavaliarclinicamente"eencerraraexecução.
• Casocontrário,oprogramadeverácalcularaquantidadedemeses(considerar4semanasparacadamês)dofetoeexibirumadasrecomendaçõesabaixo:
– Pesosuperiora2.500gramasecommaisde7meses:"Partonormal";– Pesosuperiora2.500gramaseabaixooucom7meses:"PartoCesariana";– Entre2.000gramase1.500gramaseacimade9meses:"Partonormal";– Qualqueroutracombinação,"PartoCesariana".
![Page 36: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/36.jpg)
CIn.ufpe.br
Atividade2• Umnúmeroperfeitoéumnúmerointeiroparaoqualasomadetodososseus
divisorespositivospróprios(excluindoelemesmo)éigualaopróprionúmero.Porexemplo,onúmero6éumnúmeroperfeito,pois:6=1+2+3.Opróximonúmeroperfeitoéo28,pois:28=1+2+4+7+14.
• Amatemáticaaindanãosabeseaquantidadedenúmerosperfeitospareséounãofinita.Nãosesabetambémseexistemnúmerosperfeitosímpares.EscrevaumprogramaemCquerealizeasseguintesoperações:a) Leiaumnúmerointeiroeverifiqueseeleépar,casosejaimparobrigueousuárioadigitaroutro
númeroatéqueumnúmeroparsejadigitado;b) Verifiqueseonúmerodigitadoéperfeitoeimprimaumamensagemtelaindicandoseonúmero
digitadoéperfeitoounão.
![Page 37: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/37.jpg)
CIn.ufpe.br
Atividade3-Fatorial
• Namatemática,ofatorialdeumnúmeronaturaln,representadoporn!,éoprodutodetodososinteirospositivosmenoresouiguaisan.
• Construaumafunçãoquerecebacomoparâmetroneretorneofatorialden:
intfat(intn)//Recebencomoparâmetroeretornan!
Obs.:Utilizelaçoevariáveislocais!
![Page 38: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/38.jpg)
CIn.ufpe.br
Atividade4-Fibonacci
• Namatemática,asequênciadeFibonacci,éumasequênciadenúmerosinteiros,começandonormalmentepor0e1,naqual,cadatermosubsequente(numerodeFibonacci)correspondeasomadosdoisanteriores.
• AsequênciarecebeuonomedomatemáticoitalianoLeonardodePisa,maisconhecidoporFibonacci,quedescreveu,noanode1202,ocrescimentodeumapopulaçãodecoelhos,apartirdesta.
• Talsequênciajáeranoentanto,conhecidanaantiguidade.• OsnúmerosdeFibonaccisão,portanto,osnúmerosque
compõemaseguintesequência:– 1,1,2,3,5,8,13,21,34,55,89,144,233,377...
![Page 39: Computação Eletrônica Funções e Escopo de Variáveisluciano/cursos/ce/funcoes.pdfCIn.ufpe.br Módulos em C - Funções • Função: conjunto de instruções para realizar uma](https://reader033.vdocuments.com.br/reader033/viewer/2022060812/6090a29766b860428b7a9d2b/html5/thumbnails/39.jpg)
CIn.ufpe.br
Atividade4-Fibonacci
• Assim,onúmerodeFibonacciFnparan>0édefinidodaseguintemaneira:– F1=1– F2=1– Fn=Fn-1+Fn-2paran>2.
• EscrevaumafunçãoqueretorneonúmerorelativoaaovalornasequênciadeFibonaccinaposiçãon:
intfib(intn)//RecebencomoparâmetroeretornaFn
Obs.:Utilizelaçoevariáveislocais!