View
3
Download
0
Category
Preview:
Citation preview
EAD
Fundamentos da Construção de Algoritmos
2
1. OBJETIVOS
• Entendercomoosalgoritmossãoconstruídos.• Elaboraralgoritmosutilizandoasestruturassequenciais.
2. CONTEÚDOS
• Estruturasequencial.• Variáveiseconstantes.• Expressõesaritméticas.• Expressõeslógicas.
3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE
Antesdeiniciaroestudodestaunidade,éimportantequevocêleiaasorientaçõesaseguir:1) UmasugestãoparaleituraéaobraFundamentos da Programação de Computadores.
Paraessaunidade,vocêpodeleroscapítulos:1–Conceitosbásicose2–EstruturaSequencial.AreferênciacompletaestánotópicoReferências Bibliográficas,aofinaldestaunidade.
2) Aofinaldaunidade,vocêencontraráumconjuntodeexercíciosresolvidos.Éfunda-mentalparaseuaprendizadoquevocêcodifique-osnoambienteVisuAlg.Paraverifi-carofuncionamentocorretodosalgoritmos,vocêpoderácompararasaídadaimple-mentaçãorealizadaporvocêcomassaídasaofinaldecadaalgoritmo,indicadascomoResultado da execução do algoritmo.
3) Lembre-sedequeamelhorformadeaprenderaelaboraralgoritmoseficientes,indepen-dentementedametodologia,épormeiodautilizaçãodeumlápiseumafolhaembranco.
© Algoritmos e Programação48
4. INTRODUÇÃO À UNIDADE
Naunidadeanterior,alémdeestudarosprincipaisconceitosdalógicamatemática,vocêtambémteveaoportunidadedeconhecerasformasderepresentaçãodealgoritmos.
Nestaunidade,estudaremososconceitosessenciaisparaaconstruçãodealgoritmoscomautilizaçãodométododopseudocódigo.Paratanto,inicialmentevocêteráapossibilidadedeaprendercomodeclararvariáveiseconstantes,comoatribuirvaloresavariáveis,comoexibirinformaçõesnatelaecomoreceberdadosdigitadospelousuário.
Emseguida,teráapossibilidadedeaprendercomoutilizarexpressõesnaelaboraçãodealgoritmoseescreveralgoritmosqueutilizamexpressõesaritméticaseseusoperadoresmate-máticos.Alémdisso,vocêterácondiçõesdediscutirasexpressões lógicaseseusrespectivosoperadoreslógicoserelacionais.
Bonsestudos!
5. ESTRUTURA SEQUENCIAL
Comovocêpôdeaprendernaunidadeanterior,aconstruçãodeumalgoritmodependedaorganizaçãológicaecoerentedeumconjuntodepassos.Essespassosdevemserexecutadosdemaneirasequencial,e,nocasodosalgoritmos,sempredoinícioparaofim.Alémdisso,paracadapassooulinhadoalgoritmo,aexecuçãoocorresempredaesquerdaparaadireita.
Estrutura básica de um algoritmo
Osalgoritmoscomputacionaispossuemumaestruturabásicanaqualsãodefinidos,porexemplo,onomedoalgoritmo,asvariáveisutilizadaseoblocoprincipal.AestruturamínimaexigidaparaumalgoritmoéaapresentadanoCódigo1.Observe:
Código 1
1 algoritmo "nome do algoritmo"
2 //informações sobre o algoritmo
3
4 // declaração das variáveis
5
6 inicio
7
8 {bloco de instruções}
9
10 fimalgoritmo
Fim código 1
NaLinha1,édefinidoonomedoalgoritmo,umainformaçãoessencialparasuaidentifi-cação.Essenomeésempredefinidoentre"aspasduplas"eapareceapósapalavraalgoritmo.
NaLinha2,podemosobservarumrecursomuitoutilizadopelosprogramadoresparaado-cumentaçãodosalgoritmos,chamadode"comentário".Oscomentáriossãoutilizadosapenasparamelhoraralegibilidadeefacilitaroentendimentodoalgoritmo.Nostópicosaseguir,serãoapresentadasmaisinformaçõessobreoscomentários.
ALinha4determinaapartedoalgoritmoemquesãodeclaradasasvariáveiseasconstan-tes.Esseconceitoéfundamentalparaaconstruçãodealgoritmoseseráabordadoembreve.
Claretiano - Centro Universitário
49© U2 – Fundamentos da Construção de Algoritmos
ALinha6contémapalavrareservadainicio,quedeterminaoiníciodoblocoprincipaldoalgoritmo.Apartirdesseponto,oprogramadorpodeinserirtodaalógicadeprogramaçãooublocodeinstruções.
Finalmente,naLinha10,éespecificadoofimdoalgoritmopelapalavrareservadafimal-goritmo.
Umpontoimportanteaserdestacadoéautilizaçãodelinhasembrancodentrodoalgo-ritmo,fatoquepodeserobservadonasLinhas3,5,7e9doCódigo1.Autilizaçãodelinhasembrancoéumrecursomuitoutilizado,poisfacilitaaleituradoalgoritmo.
Outropontoadestacaréautilizaçãodetabulaçõesaolongodoalgoritmo,comopodesernotadonaLinha8.Astabulaçõessãoimprescindíveisparaaorganizaçãodoalgoritmo:dames-mamaneiraqueaslinhasembranco,tornamaleituramaisfácil.
Oscomentários,as linhasembrancoeastabulaçõesfazempartedasboas práticas de programação.
Tipos de dados
Umalgoritmoquenãomanipulainformaçõespodenãoternenhumautilidade.Agrandeessênciadaconstruçãodealgoritmoseprogramaséapossibilidadedemanipulaçãodegrandesvolumesdeinformação.
Essasinformaçõesquesãomanipuladaspelosalgoritmossãochamadasdetipos abstra-tos de dados.
Ostiposabstratosdedados,ou,simplesmente,tiposdedados,definemquaistiposdein-formaçõespodemserprocessadaspelocomputador.Todotipoabstratodedadoséumconjuntodevaloresespecíficose,também,umconjuntodeoperações.
Otipoabstratodedados inteiropermiteamanipulaçãodevaloresnuméricosquenãopossuemapartedecimal.Sãoexemplosdenúmerosinteiros:10, 8, -23, 183, 3245, 0, -12345.Dentreasoperaçõespermitidasporessesnúmeros,podemosdestacar:asoma,asubtração,adivisãoeamultiplicação.
Paramanipularvaloresnuméricoscompartedecimal,éutilizadootipoabstratodedadosreal.Algunsexemplosdenúmerosreaissão:10,32,943,03,-32,25,0,43,41234,98.Asopera-çõesrealizadascomnúmerosinteirostambémpodemserempregadasnosnúmerosreais.Alémdisso,outrasoperaçõessãopossíveis,como,porexemplo,ocálculodaraizquadradadeumnúmero.
Ostiposabstratosdedadostambémpermitemamanipulaçãodeinformaçõestextuais.Essetipoéconhecidocomocaractereouliteral.Comotipocaractere,épossívelmanipularnú-meros(0...9),letras(A...Z,a...z)e,também,caracteresespeciais(porexemplo,#,@,!,$,%,*).Entretanto,éimportanteobservarquetodososdadosdotipocaracteresãorepresentadosen-tre"aspas".Issopermiteadistinçãoentreumdadointeiro12345eumdadocaractere"12345".
Porfim,otipodedadosabstratológicopermiteamanipulaçãodeinformaçõesquepodeassumirapenasdoisvalores:verdadeirooufalso.
Observe,noQuadro1,umresumodostiposabstratosdedadosquepodemserutilizadosnamanipulaçãodeinformaçõesnosalgoritmos.Sãodescritastambémassuasprincipaisutiliza-ções,bemcomoalgunsexemplos:
© Algoritmos e Programação50
Quadro 1Tiposabstratosdedados.
TIPOS ABSTRATOS DE DADOS
Tipo Utilização Exemplo
Inteiro Númerossemcasasdecimais.-500132
Real Númeroscomcasasdecimais.-5,420,93866,92
Caractere Conjuntodecaracteres."OláMundo!""Hojeé05dedezembrode2015""Meue-mailéjoao@info.com"
Lógico Valoresverdadeirooufalso. VerdadeiroFalso
Constantes, variáveis e comandos de atribuição
ComovimosnotópicoTipos de Dados,osalgoritmossãocapazesdemanipularinforma-çõescomtiposdedadosbemdefinidos.
Dessaforma,quandoconstruímosalgoritmos,podemosdefinirqueumadeterminadain-formaçãonãopoderáseralteradaaolongodaexecução.Esseconceitoéchamadodeconstante.Assim,umaconstanteéumdadodefinidonoalgoritmoquenãopodeterseuvalormodificado.
Tambémépossíveldefinirdadosquepodemterseuvaloralteradoduranteaexecuçãodoalgoritmo.Essesdadosrecebemonomedevariáveis.Quandovocêdeclaraumavariávelemumprograma,significaquevocêestáreservandoumespaçodamemóriaprincipal(RAM)paraoarmazenamentodeumadeterminadainformação.Otamanhodoespaçoreservadodependedotipodedadosutilizadonavariável.
Independentementedaespecificaçãoutilizadaparaa informação,é imprescindívelqueumtipoabstratodedadoestejaassociadoaela.Assim,todaconstanteouvariáveldevepossuirumtipoespecífico.
Dentrodaestruturabásicadeumalgoritmo,aespecificaçãodasvariáveiseconstantessem-predeveserdefinidanocabeçalho.Assim,asvariáveiseconstantessãodeclaradasapósonomedoalgoritmoeantesdoblocoprincipal(início....fimalgoritmo).Paradeterminaroiníciodasde-claraçõesdasvariáveiseconstantes,éutilizadaapalavrareservadadeclare.Observe,noCódigo2:
Código 2
1 algoritmo "declara_variaveis"
2 { algoritmo para demonstrar a declaração
3 de variáveis }
4
5 declare
6 nome: literal
7 idade: inteiro
8
9 inicio
10
11 nome <- "João da Silva"
12 idade <- 21
13 escreva(nome, " tem ", idade , " anos")
14
15 fimalgoritmo
Fim código 2
Claretiano - Centro Universitário
51© U2 – Fundamentos da Construção de Algoritmos
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
João da Silva tem 21 anos
Parademonstrarcomoéoprocessode transformação,ou tradução,dealgoritmosemprogramas,oCódigo3apresentaoalgoritmodeclara_variaveistraduzidoparaalinguagemdeprogramaçãoC.Observe:
Código 3
1 #include <stdio.h>
2
3 main()
4 {
5 char nome[] = "Joao da Silva";
6 int idade = 21;
7
8 printf("%s tem %i anos", nome, idade);
9 }
Fim código 3
AsLinhas5,6e7demonstramcomoserárealizadaadeclaraçãodevariáveisdentrodeumalgoritmo.Nãopodemosnosesquecerdequeessadeclaraçãodevesempreserdefinidaapósapalavrareservadadeclare.
Éimportantequevocêsaibaque,casoestejautilizandooprogramaVisuAlgparaconstruirosalgoritmos,apalavrareservadadeclaredevesersubstituídapelapalavravar.OVisuAlgutilizaapalavravarparadeterminaroiníciodadeclaraçãodasvariáveis,emvezdapalavradeclare.
Vocêtambémdeveráobservaraformadadeclaraçãodasvariáveis,quedeveseguirsem-preopadrão:
<nome_da_variável> : <tipo_da_variável>
Para inserirmosos valoresouoperaçõesemumavariável, utilizamososcomandos de atribuição.Assim,pormeiodocomandodeatribuição,adicionamosumdeterminadovalornaposiçãodememóriareservadapelavariável.
Noalgoritmo,ocomandodeatribuiçãoérepresentadopelosímbolo<-(tambémpodesersimbolizadopor←).Veja:
<nome_da_variável> <- <valor> ou <operação>
Observeque,naLinha11,ovalorJoão da Silvaéatribuídoàvariável"nome",e,naLinha12,ovalor21éatribuídoàvariável"idade".Ocomandodeatribuiçãotambémpermiteautili-zaçãodeoperações,como,porexemplo:
media <- (8,5+7,0)/2
Onomedeumavariávelédenominadoidentificador.Oidentificadorpossuiregrasmuitobemdefinidasparaaespecificaçãodenomes.Alémdosnomesdasvariáveis,osnomesdosal-goritmos,dasconstantesedassub-rotinastambémsãoconsideradosidentificadores.
© Algoritmos e Programação52
Paradefinirumidentificador,algumasregrasdevemserseguidas,taiscomo:1) Todoidentificadordevecomeçarporumcaracteredoalfabeto.2) Nãoépermitidodefiniridentificadoresquecomecemcomnúmeros.3) Nãoépermitidodefiniridentificadoresquecomecemcomcaracteresespeciais.4) Nãoépermitidoutilizarespaçosembranconadefiniçãodoidentificador.
Observe,noQuadro2,osidentificadoresválidoseosinválidos:
Quadro 2Identificadoresválidoseinválidos.
IDENTIFICADORES
Válidos Inválidos
Nome 1valor
media_final #cidade
ENDERECO nomealuno
X dia/mes
valor1 "nome"
Alguns identificadorespodemserutilizadosapenascomumsentidoespecialdentrodaelaboraçãodoalgoritmo.Essesidentificadoresespeciaissãodenominadospalavras reservadas.Sãoexemplosdepalavras reservadas:algoritmo,declare, início, fimalgoritmo, inteiro, literal,caractere,lógico,dentreoutras.Éimportantesalientarquepalavrasreservadasnãopodemserutilizadascomoidentificadores.
Comandos de entrada e saída
Aelaboraçãodeprogramasnãoteriasentidosenãohouvesseapossibilidadedeleituradeinformaçõesdosusuários.Paraqueumprogramaoualgoritmosejacapazdereceberdadosdigitadospelousuário,sãoutilizadososcomandos de entrada.
Dessemodo,quandoutilizamosumcomandodeentradaemumalgoritmo,ovalorinfor-madopelousuárioéarmazenadoemumavariável.Emlinguagemalgorítmica,ocomandodeentradaérepresentadopelapalavraleia.
Exemplo
Ainstruçãoleia(nome)fazqueovalordigitadopelousuáriosejaarmazenadonavariável"nome".
Outra característicaessencial naelaboraçãodeumalgoritmoé a capacidadedeexibirinformaçõesparaousuárionatelaounaimpressora.Paraisso,sãoutilizadoscomandosespecí-ficos,quesãochamadosdecomandos de saída.
Umcomandodesaídatemcomoobjetivoaapresentaçãodeumainformaçãooudeumconteúdodeumavariávelparaousuário.Essecomandoédefinidopelapalavraescreva.
Porexemplo:ainstruçãoescreva("Seja bem-vindo!")exibenateladousuárioamensa-gemdefinidaentreaspas.
Paraexemplificarautilizaçãodoscomandosdeentradaesaída,elaboraremosumalgorit-moquerecebecomoentradaovalordosaláriodeumfuncionárioecalculaumnovosaláriocomreajustede25%.Oresultadoéoapresentadonatela:
Claretiano - Centro Universitário
53© U2 – Fundamentos da Construção de Algoritmos
Código 4
1 algoritmo "comandos_entrada_saida"
2 { algoritmo para demonstrar a utilização dos
3 comandos de entrada e saída }
4
5 {declaração das variáveis}
6 declare
7 salario_atual: real
8 salario_novo: real
9
10 inicio
11
12 {leitura das informações}
13 escreva("Informe o salário: ")
14 leia(salario_atual)
15
16 {cálculo do novo salário}
17 salario_novo <- salario_atual + (salario_atual * (25/100))
18
19 {escrita do resultado na tela}
20 escreva("Salário com aumento = R$ ", salario_novo)
21
22 fimalgoritmo
Fim código 4
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe o salário: 1000,00
Salário com aumento = R$ 1250,00
NoCódigo5,édemonstradaautilizaçãodocomandodesaídanaexibiçãodediversasvariáveisaomesmotempo.OalgoritmoelaboradotemcomoobjetivoocálculodoÍndicedeMassaCorpórea(IMC)deumapessoa.Observe:
Código 5
1 algoritmo "calculo_imc"
2 {algoritmo que demonstra como calcular o
3 índice de massa corpórea (IMC) }
4
5 {declaração das variáveis}
6 declare
7 nome: literal
8 peso,altura, imc: real
9
10 inicio
11 {leitura das informações}
12 escreva("Nome: ")
13 leia(nome)
14 escreva("Peso: ")
© Algoritmos e Programação54
15 leia(peso)
16 escreva("Altura: ")
17 leia(altura)
18
19 {cálculo do índice de massa corpórea}
20 imc <- peso / (altura*altura)
21
22 {escrita do resultado na tela}
23 escreva(nome, " seu IMC é igual a ", imc)
24
25 fimalgoritmo
Fim código 5
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Nome: João da Silva
Peso: 72,5
Altura: 1,82
João da Silva seu IMC é igual a 21,88
Ocomandodeentradaleiapermitequemaisdeumainformaçãosejarecebidaaomesmotempo.Noalgoritmoanterior,porexemplo,poderíamossimplificaraleituradopesoedaalturaemumaúnicalinhadaseguinteforma:
14 escreva("Peso e Altura: ")
15 leia(peso,altura)
Pararealizaraleituradasinformaçõesdamaneiraanterior,ousuáriodeveinformarova-lordaprimeiravariável,adicionarumespaço,e,logoemseguida,informarovalordasegundavariável.
Comentários
Oscomentáriossãoumrecurso imprescindívelparaumaboa prática de programação.Pormeiodeles,oprogramadorpodedocumentaroalgoritmoe,comisso,aumentaraclarezadocódigo.
Umaspectoimportantearespeitodoscomentárioséqueelessãodesconsideradosdu-ranteaexecuçãodoalgoritmooudoprograma.Issosignificaqueelesnãointerferemnocon-teúdodoalgoritmo.Porisso,podemosescreverqualquertipodeinformaçãoparafacilitaroseuentendimento.
Vocêpodefazerdoistiposdecomentáriosnoseualgoritmo:• Comentáriosdeumaúnicalinha,quesãodefinidospeloscaracteres//.
Exemplo1 //este é um comentário de uma única linha
Claretiano - Centro Universitário
55© U2 – Fundamentos da Construção de Algoritmos
• Comentáriosdemúltiplaslinhas,nosquaispodemosescreveroquantofornecessárioentreoblocodechaves{ ... }.
Exemplo1 {No comentário de múltiplas linhas,
2 podemos explicar, detalhadamente, uma
3 determinada parte do algoritmo }
6. EXPRESSÕES ARITMÉTICAS
Vocêsabiaqueumadasgrandeshabilidadesdosprogramasdecomputadoreséacapaci-dadederealizarcálculosmatemáticos?Paraisso,osprogramasutilizamumconjuntodesímbo-losespeciais,quesãochamadosdeoperadores aritméticos.
Exemplo
Pararealizarasomaentredoisnúmeros,como,porexemplo,10e20,énecessáriaauti-lizaçãodooperadoraritméticodeadição.Esseoperadorérepresentadopelosímbolo+.Assim,ainstruçãosoma = 10+20realizaasomaentreosvaloreseatribuioresultadoàvariávelsoma.
Asprincipaisoperaçõesmatemáticaspossuemoperadoresaritméticos,osquaispodemseraplicadosaqualquertipodeexpressãocontendonúmerosinteirosounúmerosreais.Obser-ve,noQuadro3,osprincipaisoperadoresaritméticos.
Quadro 3 Operadoresaritméticos.
OPERADORES ARITMÉTICOS
Operação Operador Exemplo
Adição + 10+20
Subtração - 9–2
Multiplicação * 2*4
Divisão / 6/3
Osparêntesespodemserutilizadosnaconstruçãodeexpressõesalgorítmicasdamesmamaneiraquesãoempregadosnasexpressõesmatemáticas.Observe:
Exemplo1 resultado <- (10 + 20) * ( 5 – ( 9 / 3 ) )
Alémdisso,épossívelutilizarvariáveisnaconstruçãodeexpressões.
Exemplo1 a <- 10
2 b <- 5
3 c <- 5
4 d <- 9
5 e <- 3
6 resultado <- (a + b) * ( c – (d / e) )
© Algoritmos e Programação56
NoCódigo6,construiremosumalgoritmoqueresolveráaseguinteexpressãomatemática:
( )( )A B * B C / 2C+ −
Código 6
1 algoritmo "expressao_matematica"
2 {algoritmo para calcular uma determinada expressão
3 matemática }
4
5 declare
6 A, B, C : real
7 resultado: real
8
9 inicio
10 {leitura das informações}
11 escreva("Informe o valor de A: ")
12 leia(A)
13 escreva("Informe o valor de B: ")
14 leia(B)
15 escreva("Informe o valor de C: ")
16 leia(C)
17
18 {cálculo da expressão matemática}
19 resultado <- ( (A+B)/C ) * ( (B-C)/2 )
20
21 {resultado da expressão}
22 escreva("O resultado da expressão é = ", resultado)
23
24 fimalgoritmo
Fim código 6
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe o valor de A: 10
Informe o valor de B: 2
Informe o valor de C: 6
O resultado da expressão é = -4
Alémdosoperadoresvistosatéomomento,háumoperadoraritméticomuitointeressan-te,queéconhecidocomomódulo.Esseoperadortemcomofunçãocalcularorestodadivisãoepodeseraplicadoapenasnasdivisõesentrenúmerosinteiros.
Exemplo
Suponhaquevocêtenhaduasvariáveisinteiras,A eB,emqueA = 6eB = 2.Oresultadodaexpressão A / Béiguala3.
Claretiano - Centro Universitário
57© U2 – Fundamentos da Construção de Algoritmos
Noentanto,imagine,agora,queasvariáveisassumiramosseguintesvalores:A = 5eB = 2.Qualé,então,oresultadodaexpressãoA / B?Nãoseesqueçadequeestamostrabalhandocomnúmerosinteiros;assim,oresultadonãoé 2,5.
Oresultadocorretoparaessaexpressãoentrevariáveisinteirasé2,ouseja,adivisãode5por2éiguala2eresta(ousobra)1.
Dessaforma,podemosescreverexpressõesaritméticascapazesderesultaroquocientedadivisãoentredoisnúmerosinteiros,paraisso,utilizamosooperadormatemático/.Alémdis-so,tambémpodemoselaborarexpressõesqueresultemorestodadivisãoentreinteiros.Paraisso,utilizamosooperadormatemático%.Esseoperadoréresponsávelpelorestooumódulodadivisãoentrenúmerosinteiros.
OalgoritmodoCódigo7ilustraautilizaçãodosoperadoresaritméticosdedivisãointeiratantoparacálculodoquocientequantoparaocálculodoresto.Veja:
Código 7
1 algoritmo "divisao_de_inteiros"
2 { para demonstrar os operadores matemáticos
3 para divisão inteira }
4
5 declare
6 A, B: inteiro
7 quociente: inteiro
8 resto: inteiro
9
10 inicio
11 {leitura das informações}
12 escreva("Informe o valor de A: ")
13 leia(A)
14 escreva("Informe o valor de B: ")
15 leia(B)
16
17 {cálculo do quociente da divisão e resto}
18 quociente <- A / B
19 resto <- A % B
20
21 escreva("O quociente da divisão é igual a ", quociente)
22 escreva("O resto da divisão é igual a ", resto)
23
24 fimalgoritmo
Fim código 7
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe o valor de A: 10
Informe o valor de B: 3
O quociente da divisão é igual a 3O
O resto da divisão é igual a 1
© Algoritmos e Programação58
Observação:noprogramaVisuAlg,ooperadormatemáticoparanúmerosinteirosérepre-sentadopelosímbolo\.Assim,naLinha18doalgoritmo,teríamosquociente <- A\B.
Noconjuntodeoperadoresmatemáticos,tambémépossívelrepresentarasoperaçõesdepotenciaçãoeradiciação.Paraisso,utilizamososoperadores poteraiz.
Exemplo
Apotenciaçãorealizaaoperaçãodeumnúmeroelevadoaoutro,como,porexemplo,23(2elevadoa3).Representamosessaoperaçãonoalgoritmocomopot(2,3).
Jáaoperaçãoderadiciação,responsávelpelocálculodaraizquadradadeumnúmero,érepresentadapelooperadorraiz.Assim,araizquadradade25,ouseja, 25 ,éformalizadapelaoperaçãoraiz(25).
OalgoritmodoCódigo8ilustraafuncionalidadedooperadormatemáticodepotenciação.Observe:
Código 8
1 algoritmo "potenciacao"
2 { algoritmo para demonstrar o operador matemático
3 de potenciação }
4
5 declare
6 A, B: inteiro
7 resultado: real
8
9 inicio
10 {leitura das informações}
11 escreva("Informe o valor de A: ")
12 leia(A)
13 escreva("Informe o valor de B: ")
14 leia(B)
15
16 {cálculo de A elevado a B}
17 resultado <- pot(A,B)
18
19 {resultado}
20 escreva(A, " elevado a ", B, " é igual a ", resultado)
21
22 fimalgoritmo
Fim código 8
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe o valor de A: 2
Informe o valor de B: 3
2 elevado a 3 é igual a 8
Claretiano - Centro Universitário
59© U2 – Fundamentos da Construção de Algoritmos
Observação:noVisuAlg,aoperaçãodepotenciaçãoérepresentadapelosímbolo^.Assim,ainstruçãodaLinha17deveserexpressadaseguintemaneira:resultado<-A^B.
Nopróximoexemplo,édemonstradaautilizaçãodooperadorderadiciação.Assim,diantedeumnúmeroinformadopelousuário,érealizadoocálculodaraizquadrada.Veja:
Código 9
1 algoritmo "raiz_quadrada"
2 { algoritmo para demonstrar o operador matemático
3 de radiciação }
4
5 declare
6 A: real
7 resultado: real
8
9 inicio
10 {leitura das informações}
11 escreva("Informe o valor de A: ")
12 leia(A)
13
14 {cálculo da raiz quadrada A}
15 resultado <- raiz(A)
16
17 {resultado}
18 escreva("Raiz quadrada de ", A, " é igual a ", resultado)
19
20 fimalgoritmo
Fim código 9
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe o valor de A: 25
Raiz quadrada de 25 é igual a 5
Observação:noVisuAlg,aoperaçãoderadiciaçãoérepresentadapelafunção raizq.As-sim,ainstruçãodaLinha17deveserexpressadaseguintemaneira:resultado<-raizq(A).
Naresoluçãodeexpressõesmatemáticas,éfundamentalobedecermosàordemdeproce-dência(ouprioridade)dosoperadores.Essaordemdefinequaisoperaçõesdevemserrealizadasemprimeirolugar.
Dessemodo,quandotemosoperaçõesqueenvolvemmaisdeumoperador,énecessárioseguirumaprioridadeemsuarealização.
Quadro 4Prioridadeaserrespeitadaemoperações.
ORDEM DAS OPERAÇÕES
Ordem Operador
1o parêntesesmaisinteiros
2o potraiz
3o */
4o +-
© Algoritmos e Programação60
Emexpressõesmatemáticasenvolvendooperadorescomamesmaprioridade,devemosresolverinicialmenteosoperadoresmaisàesquerda,e,emseguida,osmaisàdireita.Porexem-plo,naexpressãoresultado <- 10 * 2 / 5,resolvemosinicialmente10 * 2(iguala20),e,depois,dividiremosoresultadopor5.Assim,oresultadodaexpressãoéiguala4.
Expressões lógicas
Aconstruçãodeinstruçõesdealgoritmospermiteautilizaçãodeexpressões lógicas.Es-sasexpressõessãoresponsáveisporestabelecerrelaçõesemvaloresouemvariáveisdentrodoalgoritmo.
Oresultadodaavaliaçãodeumaexpressão lógicaésempreumvalor lógico,ouseja,aexpressãosempreresultaumvalorverdadeirooufalso.
Hátrêstiposdeoperadores:operadores deigualdade, relacionais e lógicos.
Osoperadores de igualdadesãoutilizadosparaestabelecerequivalênciaentreinforma-çõespresentesnosalgoritmos.Comeles,vocêpode,porexemplo,avaliarseumadeterminadavariáveléounãoigualaoutra.Verifique,noQuadro5,osoperadoresdeigualdade.
Quadro 5Operadoresdeigualdade.
OPERADORES DE IGUALDADE
Operador Símbolo Exemplo
Igualdade = 10=20
Diferença <> 10!=20
ObserveoalgoritmodescritonoCódigo10,que ilustraautilizaçãodosoperadoresdeigualdade:
Código 10
1 algoritmo "operadores_igualdade"
2 // algoritmo para demonstrar os operadores de igualdade
3 Var
4 A,B: inteiro
5 igual, diferente: lógico
6
7 inicio
8 {leitura das informações}
9 escreva("Informe o valor de A: ")
10 leia(A)
11 escreva("Informe o valor de B: ")
12 leia(B)
13
14 {utilização dos operadores de igualdade}
15 igual <- A = B
16 diferente <- A <> B
17
18 {resultado}
19 escreva(A, " é igual a ", B, " = ", igual)
20 escreva(A, " é diferente de ", B, " = ", diferente)
21
22 fimalgoritmo
Fim código 10
Claretiano - Centro Universitário
61© U2 – Fundamentos da Construção de Algoritmos
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe o valor de A: 10
Informe o valor de B: 2
10 é igual a 2 = FALSO
10 é diferente de 2 = VERDADEIRO
Osoperadoresrelacionaispermitemrealizarcomparaçõesentrevaloresdomesmotipo.Asrelaçõesquepodemserestabelecidasentredoisvaloressão:maiorque,menorque,maiorouigualque,menorouigualque.
Quadro 6Operadoresrelacionais.
OPERADORES RELACIONAIS
Operador Símbolo Exemplo
maiorque > 10>20
menorque < 8<2
maiorouigualque >= 5>=5
menorouigualque <= 25<=38
NoCódigo11,vocêpoderáobservarautilizaçãodosoperadoresrelacionaisnaconstruçãodosalgoritmos.
Código 11
1 algoritmo "operadores_relacionais"
2 {algoritmo para demonstrar os operadores relacionais}
3
4 declare
5 A,B: inteiro
6 maior, menor: logico
7 maiorque, menorque: logico
8
9 inicio
10 {leitura das informações}
11 escreva("Informe o valor de A: ")
12 leia(A)
13 escreva("Informe o valor de B: ")
14 leia(B)
15
16 {utilização dos operadores relacionais}
17 maior <- A > B
18 menor <- A < B
19 maiorque <- A >= B
20 menorque <- A <= B
21
22 {resultado}
23 escreva(A, " é maior que ", B, " = ", maior)
© Algoritmos e Programação62
24 escreva(A, " é menor que ", B, " = ", menor)
25 escreva(A, " é maior ou igual a ", B, " = ", maiorque)
26
27 fimalgoritmo
Fim código 11
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe o valor de A: 5
Informe o valor de B: 2
5 é maior que 2 = VERDADEIRO
5 é menor que 2 = FALSO
5 é maior ou igual a 2 = VERDADEIRO
5 é menor ou igual a 2 = FALSO
Osoperadores lógicossãoasrepresentaçõescomputacionaisdosconectivoslógicosdalógicamatemática.Essesconectivos,damesmamaneiraquena lógica,podemserutilizadosparaaconstruçãodeproposições(tambémchamadasde"condições").
Éimportantesalientarqueosoperadoreslógicospodemseraplicadosapenasparavalo-reslógicos.
Exemplo
SejaA = verdadeiroeB = falso,oresultadodaexpressãoA e Béigualafalso.
Ooperadorlógiconãorepresentaanegaçãodeumvalorlógico.Jáooperadoreestabele-ceaconjunçãoentredoisvaloreslógicos,eooperadorou,adisjunção.Porfim,ooperadorxourepresentaadisjunçãoexclusiva(ouexclusivo).
Paraaavaliaçãodasexpressões lógicas,utilizamosas tabelas-verdadeapresentadasnaunidadeanterior.
Tabela 1Expressõeslógicas.
A B A e B A ou B A xou B
Verdadeiro Verdadeiro Verdadeiro Verdadeiro Falso
Verdadeiro Falso Falso Verdadeiro Verdadeiro
Falso Verdadeiro Falso Verdadeiro Verdadeiro
Falso Falso Falso Falso Falso
OalgoritmopresentenoCódigo12ilustraautilizaçãodosoperadoreslógicos.Nesteexem-plo,elaboraremosumalgoritmocapazdeconstruirtabelas-verdade.Acompanhe:
Claretiano - Centro Universitário
63© U2 – Fundamentos da Construção de Algoritmos
Código 12
1 algoritmo "operadores_logicos"
2 {algoritmo para demonstrar os operadores lógicos}
3
4 inicio
5
6 escreva("Tabela Verdade do conectivo NAO ")
7 escreva("Não ", VERDADEIRO, " = ", nao VERDADEIRO)
8 escreva("Não ", FALSO, " = ", nao FALSO)
9
10 escreva("Tabela Verdade do conectivo E ")
11 escreva(VERDADEIRO, " e ", VERDADEIRO, " = ", (VERDADEIRO e VERDADEIRO) )
12 escreva(VERDADEIRO, " e ", FALSO, " = ", (VERDADEIRO e FALSO) )
13 escreva(FALSO, " e ", VERDADEIRO, " = ", (FALSO e VERDADEIRO) )
14 escreva(FALSO, " e ", FALSO, " = ", (FALSO e FALSO) )
15
16 escreva("Tabela Verdade do conectivo OU ")
17 escreva(VERDADEIRO, " ou ", VERDADEIRO, " = ", (VERDADEIRO ou VERDADEIRO) )
18 escreva(VERDADEIRO, " ou ", FALSO, " = ", (VERDADEIRO ou FALSO) )
19 escreva(FALSO, " ou ", VERDADEIRO, " = ", (FALSO ou VERDADEIRO) )
20 escreva(FALSO, " ou ", FALSO, " = ", (FALSO ou FALSO) )
21
22 escreva("Tabela Verdade do conectivo XOU ")
23 escreva(VERDADEIRO, " ou exclusivo ", VERDADEIRO, " = ", (VERDADEIRO xou VERDADEIRO) )
24 escreva(VERDADEIRO, " ou exclusivo ", FALSO, " = ", (VERDADEIRO xou FALSO) )
25 escreva(FALSO, " ou exclusivo ", VERDADEIRO, " = ", (FALSO xou VERDADEIRO) )
26 escreva(FALSO, " ou exclusivo ", FALSO, " = ", (FALSO xou FALSO) )
27
28 fimalgoritmo
Fim código 12
Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
© Algoritmos e Programação64
Resultado da execução do algoritmo:
Tabela Verdade do conectivo NAO
Não VERDADEIRO = FALSO
Não FALSO = VERDADEIRO
Tabela Verdade do conectivo E
VERDADEIRO e VERDADEIRO = VERDADEIRO
VERDADEIRO e FALSO = FALSO
FALSO e VERDADEIRO = FALSO
FALSO e FALSO = FALSO
Tabela Verdade do conectivo OU
VERDADEIRO ou VERDADEIRO = VERDADEIRO
VERDADEIRO ou FALSO = VERDADEIRO
FALSO ou VERDADEIRO = VERDADEIRO
FALSO ou FALSO = FALSO
Tabela Verdade do conectivo XOU
VERDADEIRO ou exclusivo VERDADEIRO = FALSO
VERDADEIRO ou exclusivo FALSO = VERDADEIRO
FALSO ou exclusivo VERDADEIRO = VERDADEIRO
FALSO ou exclusivo FALSO = FALSO
7. EXERCÍCIOS RESOLVIDOS
Nestetópico,vocêencontraráalgunsexercíciosresolvidosecomentadosquefacilitarãoasuacompreensãoeoauxiliarãoemsuaaprendizagem.
1) Construaumalgoritmoquecalculeaáreadeumtriângulo.Lembre-sedeque,pararealizarocálculodaáreadotriângulo,énecessárioutilizarafórmula:
*2
base alturaÁrea =
Código 13
1 algoritmo "e1_areatriangulo"
2 {algoritmo para calcular a área de um triângulo}
3
4 declare
5 area, base, altura: real
6
7 inicio
8
9 escreva("Cálculo da Área do Triângulo")
Claretiano - Centro Universitário
65© U2 – Fundamentos da Construção de Algoritmos
10 escreva("Informe a base: ")
11 leia(base)
12 escreva("Informe a altura: ")
13 leia(altura)
14
15 {cálculo da área do triângulo}
16 area <- (base*altura)/2
17
18 {resultado}
19 escreva("A área do triângulo é = ", area)
20
21 fimalgoritmo
Fim código 13Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Cálculo da Área do Triângulo
Informe a base: 6,5
Informe a altura: 2,2
A área do triângulo é = 7,15
2) Escrevaumalgoritmoquerecebaumnúmerointeirodotecladoeimprimanatelatantooseusucessor(numero+1)quantooseuantecessor(numero-1).
Código 14
1 algoritmo "e2_sucessor_antecessor"
2 { algoritmo para calcular o sucessor e
3 antecessor de um número inteiro }
4
5 declare
6 numero: inteiro
7
8 inicio
9 {leitura das informações}
10 escreva("Informe um número: ")
11 leia(numero)
12
13 {escrita do resultado na tela}
14 escreva("Sucessor = ", (numero+1))
15 escreva("Antecessor = ", (numero-1))
16 fimalgoritmo
Fim código 14Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe um número: 10
Sucessor = 11
Antecessor = 9
© Algoritmos e Programação66
3) Escrevaumalgoritmoquerecebaumnúmerointeiropositivoemaiorquezero.Calculeeapresentenatela:a) Araizquadradadonúmero.b) Onúmeroaoquadrado.c) Onúmeroaocubo.
Código 15
1 algoritmo "e3_calculos"
2 { algoritmo para calcular raiz quadrada e a potência }
3
4 declare
5 numero: real
6 raizquadrada: real
7 quadrado, cubo: real
8
9 inicio
10
11 escreva("Informe um número: ")
12 leia(numero)
13
14 {raiz quadrada}
15 raizquadrada <- raiz(numero)
16
17 {numero elevado ao quadrado}
18 quadrado <- pot(numero, 2)
19
20 {numero elevado ao cubo}
21 cubo <- pot(numero,3)
22
23 {resultado}
24 escreva("Raiz quadrada = ", raizquadrada)
25 escreva("Quadrado = ", quadrado)
26 escreva("Cubo = ", cubo)
27
28 fimalgoritmo
Fim código 15Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Raiz quadrada = 5
Quadrado = 625
Cubo = 15625
4) Umtrabalhadorrecebeuseusaláriomensal.Porém,precisapagarascontasdeágua,luzetelefone.Combasenessasinformações,escrevaumalgoritmoquesoliciteaousuárioqueinformeseusalárioeosvaloresdascon-tas.Calculeeapresentenatelaquantosobrouparaotrabalhadorapósopagamentodascontas.
Código 16
1 algoritmo "e4_salariorestante"
2 { algoritmo para o salário restante de um trabalhador }
3
4 declare
Claretiano - Centro Universitário
67© U2 – Fundamentos da Construção de Algoritmos
5 salario: real
6 agua, luz, telefone: real
7 restante: real
8
9 inicio
10
11 escreva("Informe seu salário: ")
12 leia(salario)
13 escreva("Valor da conta de Água: ")
14 leia(agua)
15 escreva("Valor da conta de Luz: ")
16 leia(luz)
17 escreva("Valor da conta de Telefone: ")
18 leia(telefone)
19
20 {cálculo do restante}
21 restante <- salario - (agua+luz+telefone)
22
23 {resultado}
24 escreva("O restante do seu salário é R$ ", restante)
25
26 fimalgoritmo
Fim código 16Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe seu salário: 950,00
Valor da conta de Água: 32,45
Valor da conta de Luz: 88,50
Valor da conta de Telefone: 42,30
O restante do seu salário é R$ 786,75
5) Elaboreumalgoritmoquerealizeaconversãodemoedas.Oalgoritmodeverásolicitaraousuárioacotaçãododólar,bemcomoacotaçãodoeuro.Emseguida,ousuárioinformaráovalor,emreais,quedesejaconverter.Apósoscálculosnecessários,oalgoritmodeveráexibirnatela:a) Ovaloremreaisconvertidoparadólar.b) Ovaloremreaisconvertidoparaeuro.
Código 17
1 algoritmo "e5_conversor_de_moedas"
2 { algoritmo para converter moedas }
3
4 declare
5 cotacao_dolar: real
6 cotacao_euro: real
7 valor_reais, valor_dolar, valor_euro: real
8
9 inicio
10
© Algoritmos e Programação68
11 escreva("Informe um valor para conversão (em reais): ")
12 leia(valor_reais)
13 escreva("Cotação do Dólar: ")
14 leia(cotacao_dolar)
15 escreva("Cotação Euro: ")
16 leia(cotacao_euro)
17
18 {conversão real para dólar}
19 valor_dolar <- valor_reais / cotacao_dolar
20
21 {conversão real para euro}
22 valor_euro <- valor_reais / cotacao_euro
23
24 {resultado}
25 escreva("Valor em dólar = ", valor_dolar)
26 escreva("Valor em euro = ", valor_euro)
27
28 fimalgoritmo
Fim código 17Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe um valor para conversão (em reais): 100,00
Cotação do Dólar: 2,07
Cotação Euro: 2,85
Valor em dólar = 48,30
Valor em euro = 35,08
6) Elaboreumalgoritmoquesejacapazdeleronomeeosobrenomedeumapessoaearmazenaressasinfor-maçõesemduasvariáveisdotipocaractere.Porexemplo,avariávelnomerecebeovalor João eavariávelsobrenomerecebeovalorda Silva.Oalgoritmodeveráapresentarnatelaessasinformaçõesconcatenadas,daseguintemaneira:João da Silva.
Código 18
01 algoritmo "concatenarinformacoes"
02 {Exemplo de algoritmo que demonstra a concatenação de duas variáveis contendo um conjunto de caracteres. }
03
04 {declaração das variáveis}
05 var {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
06 nome: caractere
07 sobrenome: caractere
08 nomecompleto: caractere
09
10 {algoritmo principal}
11 inicio
12 { ---------- entrada de dados ----------}
13 escreva("Informe seu nome:")
14 leia(nome)
Claretiano - Centro Universitário
69© U2 – Fundamentos da Construção de Algoritmos
15 escreva("Informe seu sobrenome:")
16 leia(sobrenome)
17
18 {concatenação das informações literais}
19 nomecompleto <- nome+sobrenome
20
21 { ---------- saída de dados ----------}
22 escreva("O seu nome completo é ", nomecompleto)
23
24 fimalgoritmo
Fim código 18Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
Informe seu nome: João
Informe seu sobrenome: da Silva
O seu nome completo é João da Silva
7) Escrevaumalgoritmoquesoliciteaousuáriodoisnúmerosdotiporeal.Calculeeapresentanatela:(i)asomadosnúmeros;(ii)asubtraçãodosnúmeros;(iii)amultiplicaçãodosnúmerosea(iv)adivisãodosnúmeros.Importante:Paraocorretofuncionamentodestealgoritmo,énecessárioqueosegundonúmerosejadiferentedezero,umavezqueparaocálculodadivisãoodivisor(segundonúmero)nãopodeserigualazero.
Código 19
01 algoritmo "calculadora"
02 {Exemplo de algoritmo que demonstra o cálculo de algumas operações matemáticas basicas }
03
04 {Neste algoritmo foi utilizado a função disponível no VisuAlg denominada "escreval" que tem como objetivo a escrita de uma informação na tela e a mudança de linha. Comparativamente a linguagem C, esta função (escreval) tem a mesma funcionalidade do especificador "\n".}
05
06 {declaração das variáveis}
07 var {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
08 {variáveis para entrada do usuário}
09 numero1: real
10 numero2: real
11 {variáveis para armazenar o resultado dos cálculos}
12 resultado_soma: real
13 resultado_subtracao: real
14 resultado_multiplicacao: real
15 resultado_divisao: real
16
17 {algoritmo principal}
18 inicio
19 {---------- entrada de dados ----------}
20 escreval("CÁLCULO DAS OPERAÇÕES MATEMÁTICAS BÁSICA")
21 escreval("") {pular uma linha}
22 escreval("Importante: para o correto funcionamento deste algoritmo é ")
23 escreval("necessário que o segundo número seja diferente de zero, uma ")
24 escreval("vez que para o cálculo da divisão o divisor (segundo número) ")
© Algoritmos e Programação70
25 escreval("não pode ser igual a zero.")
26 escreval("") {pular uma linha}
27 escreva("Informe o primeiro número: ")
28 leia(numero1)
29 escreva("Informe o segundo número: ")
30 leia(numero2)
31
32 {----- cálculo das operações matemáticas básicas -----}
33 {-- cálculo da soma}
34 resultado_soma <- numero1 + numero2
35 {-- cálculo da subtracao}
36 resultado_subtracao <- numero1 - numero2
37 {-- cálculo da multiplicacao}
38 resultado_multiplicacao <- numero1 * numero2
39 {-- cálculo da divisao}
40 resultado_divisao <- numero1 / numero2
41
42
43 {---------- saída de dados ----------}
44 escreval("") {pular uma linha}
45 escreval("RESULTADOS")
46 escreval("A soma de ", numero1 , " e ", numero2, " é igual a ", resultado_soma)
47 escreval("A subtração de ", numero1 , " e ", numero2, " é igual a ", resultado_subtracao)
48 escreval("A multiplicação de ", numero1 , " e ", numero2, " é igual a ", resultado_multiplicacao)
49 escreval("A divisão de ", numero1 , " e ", numero2, " é igual a ", resultado_divisao)
50
51 fimalgoritmo
Fim código 19Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
CÁLCULO DAS OPERAÇÕES MATEMÁTICAS BÁSICAS
Importante: para o correto funcionamento deste algoritmo, é necessário que o segundo número seja diferente de zero, uma vez que para o cálculo da divisão o divisor (segundo número) não pode ser igual a zero.
Informe o primeiro número: 10
Informe o segundo número: 20
RESULTADOS
A soma de 10 e 20 é igual a 30
A subtração de 10 e 20 é igual a -10
A multiplicação de 10 e 20 é igual a 200
A divisão de 10 e 20 é igual a 0.5
Claretiano - Centro Universitário
71© U2 – Fundamentos da Construção de Algoritmos
8) Afórmulaquecalculaaáreadeumacircunferênciaéapresentadadaseguintemaneira:A= pR2,emqueAéumvariáveldotiporealquearmazenaráoresultadodocálculodaárea,péumvalorconstantequerepresentaaproximadamente3,14159,eRéoraiodacircunferência(aoquadrado).Dentrodessecontexto,combasenasinformaçõesapresentadasnoenunciado,elaboreumalgoritmocapazdecalcularaáreadeumacircunferência.
Código 20
01 algoritmo "calculo_da_circunferencia"
02 {Exemplo de algoritmo que demonstra o cálculo da área da circunferência }
03
04
05 {declaração das variáveis}
06 var {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
07 {variável para entrada do usuário}
08 raio: real
09 {variável contendo o valor constante de PI}
10 valor_pi: real
11 {variável para armazenar o resultado dos cálculos}
12 area: real
13
14 {algoritmo principal}
15 inicio
16 {----- inicialização das variáveis -----}
17 {-- valor aproximado do PI}
18 valor_pi <- 3,14159
19
20 {---------- entrada de dados ----------}
21 escreval("CÁLCULO DA ÁREA DE UMA CIRCUNFERÊNCIA")
22 escreval("") {pular uma linha}
23 escreva("Informe o valor do raio: ")
24 leia(raio)
25
26 {- cálculo da área da circunferência ---}
27 {-- Importante: o cálculo de R ao quadrado pode ser efetuado }
28 { pela multiplicação de raio por raio. Uma outra maneira de }
29 { realizar esta tarefa é utilizar uma função de potenciação}
30 { que em algoritmo é representada como pot}
31 area <- valor_pi*(raio*raio)
32
33
34
35 {---------- saída de dados ----------}
36 escreval("") {pular uma linha}
37 escreval("RESULTADOS")
38 escreval("A área da circunferência é igual a ", area)
39
40 fimalgoritmo
Fim código 20Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
© Algoritmos e Programação72
Resultado da execução do algoritmo:
CÁLCULO DA ÁREA DE UMA CIRCUNFERÊNCIA
Informe o valor do raio: 2.50
RESULTADOS
A área da circunferência é igual a 18.75
9) Elaboreumalgoritmocapazdeefetuaratrocadevaloresentreduasvariáveis.Porexemplo:sejaAumavariáveldotipointeirocontendoovalor10eBoutravariáveldotipointeirocontendoovalor20;oalgoritmodeverásercapazdemanipularessasinformaçõesdeformaque,aofinal,avariávelAtenhaovalor20eavariávelBtenhaovalor10.Depoisdeelaboradooalgoritmo,apresenteosresultadosnatela.OsvaloresdasvariáveisAeBdevemserinformadospelousuário.
Código 21
01 algoritmo "troca_entre_variaveis"
02 {Exemplo de algoritmo que demonstra a troca de valores entre duas variáveis. }
03
04
05 {declaração das variáveis}
06 var {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
07 {variáveis para entrada do usuário}
08 valor1: inteiro
09 valor2: inteiro
10
11 {variável para armazenar o resultado dos cálculos}
12 auxiliar: inteiro
13
14 {algoritmo principal}
15 inicio
16 {---------- entrada de dados ----------}
17 escreval("TROCA DE VALORES ENTRE DUAS VARIÁVEIS")
18 escreval("") {pular uma linha}
19
20 escreva("Informe o primeiro valor: ")
21 leia(valor1)
22 escreva("Informe o segundo valor: ")
23 leia(valor2)
24
25 {----- exibicação dos valores originais das variáveis -----}
26 escreval("") {pular uma linha}
27 escreval("VALORES ORIGINAIS")
28 escreval("Valor 1: ", valor1)
29 escreval("Valor 2: ", valor2)
30
31 {----- troca de valores entre as variáveis -----}
32 auxiliar <- valor1
33 valor1 <- valor2
34 valor2 <- auxiliar
35
36
37
Claretiano - Centro Universitário
73© U2 – Fundamentos da Construção de Algoritmos
38 {---------- saída de dados ----------}
39 {----- exibicação dos valores APÓS a troca das variáveis -----}
40 escreval("") {pular uma linha}
41 escreval("VALORES APÓS A TROCA")
42 escreval("Valor 1: ", valor1)
43 escreval("Valor 2: ", valor2)
44 fimalgoritmo
Fim código 21Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Tela da execução do algoritmo no programa VisuAlg:
TROCA DE VALORES ENTRE DUAS VARIÁVEIS
Informe o primeiro valor: 10
Informe o segundo valor: 20
VALORES ORIGINAIS
Valor 1: 10
Valor 2: 20
VALORES APÓS A TROCA
Valor 1: 20
Valor 2: 10
10)Oquadradodasomadedoistermoséumimportanteconceitomatemáticoepodesercalculadocombasenafórmula:(a+b)2=a2+b2+2ab.Parademonstraresseconceito,elaboreumalgoritmocapazdereceberdoisvaloresinteiros(aeb)erealizaroscálculosnecessáriosconformeafórmulaapresentada.Aofinal,oresultadodoalgo-ritmodeveráserapresentadonatela.
Código 22
01 algoritmo "quadrado_da_soma"
02 {Exemplo de algoritmo que demonstra o cálculo do quadrado da soma entre dois termos. }
03
04
05 {declaração das variáveis}
06 var {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
07 {variáveis para entrada do usuário}
08 a: inteiro
09 b: inteiro
10
11 {variável para armazenar o resultado dos cálculos}
12 resultado: inteiro
13
14 {algoritmo principal}
15 inicio
16
17 {---------- entrada de dados ----------}
© Algoritmos e Programação74
18 escreval("QUADRADO DA SOMA DE DOIS TERMOS")
19 escreval("") {pular uma linha}
20
21 escreva("Informe o primeiro valor: ")
22 leia(a)
23 escreva("Informe o segundo valor: ")
24 leia(b)
25
26 {----- cálculo do quadrado da soma entre dois termos -----}
27 resultado <- (a*a)+(b*b)+(2*a*b)
28
29 {---------- saída de dados ----------}
30 escreval("") {pular uma linha}
31 escreval("RESULTADO")
32 escreval("O quadrado da soma é igual a ", resultado)
33
34 fimalgoritmo
Fim código 22Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:QUADRADO DA SOMA DE DOIS TERMOS
Informe o primeiro valor: 3
Informe o segundo valor: 8
RESULTADO
O quadrado da soma é igual a 121
11)Umpostodecombustíveisdesejainformatizarseuprocessodeabastecimentodeveículos.Paraisso,énecessá-rioquesejacriadoumalgoritmocomputacionalcapazdecalcularototalpagoporcadacliente.Essealgoritmodeverásolicitaraousuárioopreçodocombustíveleonúmerodelitroscomoqualoveículofoiabastecido,e,combasenessasinformações,deverácalcularototalaserpagopelocliente.Elaboreumalgoritmoparasolu-cionartalproblemae,aofinal,apresentenatelaasinformaçõesnecessárias.
Código 23
01 algoritmo "calculo_do_total_pago_no_posto"
02 {Exemplo de algoritmo que demonstra o cálculo do total pago no posto de combustível por cada cliente. }
03
04
05 {declaração das variáveis}
06 {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
07 var
08 {variável para entrada do usuário}
09 preco_combustivel: real
10 numero_litros: real
11
12 {variável para armazenar o resultado dos cálculos}
Claretiano - Centro Universitário
75© U2 – Fundamentos da Construção de Algoritmos
13 resultado: real
14
15 {algoritmo principal}
16 inicio
17 {---------- entrada de dados ----------}
18 escreval("POSTO DE COMBUSTÍVEL DO JOÃO")
19 escreval("") {pular uma linha}
20 escreva("Informe o preço do combustível: ")
21 leia(preco_combustivel)
22 escreva("Informe o número de litros abastecido pelo cliente: ")
23 leia(numero_litros)
24
25 {----- cálculo do total pago -----}
26 resultado <- preco_combustivel*numero_litros
27
28 {---------- saída de dados ----------}
29 escreval("") {pular uma linha}
30 escreval("RESULTADOS")
31 escreval("O total pago pelo cliente será R$ ", resultado)
32
33 fimalgoritmo
Fim código 23Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
POSTO DE COMBUSTÍVEL DO JOÃO
Informe o preço do combustível: 1.49
Informe o número de litros abastecido pelo cliente: 22.50
RESULTADOS
O total pago pelo cliente será R$ 33.525
12)Umviajantedesejacalcularoconsumomédiodecombustíveldeseuveículo.Paraisso,eletemanotadasasseguintesinformações:totaldequilômetrosrodadoscomoveículo,totaldelitrosdecombustívelabastecidoepreçodocombustívelporlitro.Combasenessasinformações,elaboreumalgoritmocapazdecalcularoconsu-momédiodecombustíveldoviajante.Alémdisso,apresenteovalorgastoemreais.
Código 24
01 algoritmo "consumo_medio_combustivel"
02 {Exemplo de algoritmo que demonstra o cálculo do consumo médio de combustível. }
03
04
05 {declaração das variáveis}
06 {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
© Algoritmos e Programação76
07 var
08 {variável para entrada do usuário}
09 total_quilometros: real
10 total_litros: real
11 preco_combustivel: real
12
13 {variável para armazenar o resultado dos cálculos}
14 resultado_consumo: real
15 resultado_valor_reais: real
16
17 {algoritmo principal}
18 inicio
19 {---------- entrada de dados ----------}
20 escreval("CONSUMO MÉDIO DE COMBUSTÍVEL")
21 escreval("") {pular uma linha}
22 escreva("Informe o total de quilômetros rodados pelo veículo: ")
23 leia(total_quilometros)
24 escreva("Informe o total de litros abastecido: ")
25 leia(total_litros)
26 escreva("Informe o preço do combustível: ")
27 leia(preco_combustivel)
28
29 {----- cálculos -----}
30 {-- consumo médio}
31 { determina o número de quilometros rodados por litro de combustível}
32 resultado_consumo <- (total_quilometros/total_litros)
33 {-- gasto de combustível}
34 { determina quanto o viajante gastou em reais}
35 resultado_valor_reais <- (total_litros * preco_combustivel)
36
37 {---------- saída de dados ----------}
38 escreval("") {pular uma linha}
39 escreval("RESULTADOS")
40 escreval("O consumo médio de combustível deste veículo é de ", resultado_consumo ," quilômetros por litro")
41 escreval("O total gasto pelo viajante em reais é de R$ ", resultado_valor_reais)
42
43 fimalgoritmo
Fim código 24Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Claretiano - Centro Universitário
77© U2 – Fundamentos da Construção de Algoritmos
Resultado da execução do algoritmo:
CONSUMO MÉDIO DE COMBUSTÍVEL
Informe o total de quilômetros rodados pelo veículo: 420.00
Informe o total de litros abastecido: 38
Informe o preço do combustível: 1.5
RESULTADOS
O consumo médio de combustível deste veículo é de 11.05 quilômetros por litro
O total gasto pelo viajante em reais é de R$ 57
13)Elaboreumalgoritmoquesejacapazdeconverterângulosdefinidosemgrausparaângulosdefinidosemra-dianos.Paraisso,oalgoritmodeverásolicitaraousuáriooânguloemgrauseexibirnatelasuaconversãopararadianos.
Código 25
01 algoritmo "conversao_graus_radianos"
02 {Exemplo de algoritmo que demonstra a conversão de um ângulo definido em graus para radianos }
03
04
05 {declaração das variáveis}
06 {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
07 var
08 {variável para entrada do usuário}
09 angulo_graus: real
10
11 {valor aproximado do PI}
12 valor_pi: real
13
14 {variável para armazenar o resultado dos cálculos}
15 angulo_radiano: real
16
17 {algoritmo principal}
18 inicio
19 {----- inicialização das variáveis -----}
20 {-- valor aproximado do PI}
21 valor_pi <- 3.14159
22
23 {---------- entrada de dados ----------}
24 escreval("CONVERSAO DE GRAUS PARA RADIANOS")
25 escreval("") {pular uma linha}
26 escreva("Informe o valor do ângulos em graus: ")
27 leia(angulo_graus)
28
29 {----- conversão para radianos -----}
30 angulo_radiano <- (angulo_graus*valor_pi)/180
31
© Algoritmos e Programação78
32
33 {---------- saída de dados ----------}
34 escreval("") {pular uma linha}
35 escreval("RESULTADOS")
36 {DICA: No programa VisuAlg você pode especificar como serão apresentadas }
37 {as casas decimais de um valor do tipo REAL. Para isso, após o }
38 {número você deve definir o número de casas antes da vírgula e o}
39 {número de casas após a vírgula. }
40 { Por exemplo, }
41 { X <- 1.23456 }
42 { escreva(X:0:2)// exibirá na tela 1.23 }
43 {escreva(X:0:3)// exibirá na tela 1.234 }
44 escreval("O ângulo de ", angulo_graus, " graus é igual a ", angulo_radiano:0:4, " em radianos")
45
46 fimalgoritmo
Fim código 25Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
CONVERSAO DE GRAUS PARA RADIANOS
Informe o valor do ângulo em graus: 45
RESULTADOS
O ângulo de 45 graus é igual a 0.7853975 em radianos
14)Baseando-senoexercícioanterior,elaboreumalgoritmocapazderealizaraconversãoopostadosângulos,ouseja,capazdeconverterumânguloespecificadoemradianosparaumângulodefinidoemgraus.Oalgoritmodeveráapresentaroresultadonatela.
Código 26
01 algoritmo "conversao_radianos_graus"
02 {Exemplo de algoritmo que demonstra a conversão de um ângulo definido em radianos para graus }
03
04
05 {declaração das variáveis}
06 {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
07 var
08 {variável para entrada do usuário}
09 angulo_radiano: real
10
11 {valor aproximado do PI}
12 valor_pi: real
13
14 {variável para armazenar o resultado dos cálculos}
15 angulo_graus: real
16
Claretiano - Centro Universitário
79© U2 – Fundamentos da Construção de Algoritmos
17
18 {algoritmo principal}
19 inicio
20 {---- inicialização das variáveis -------}
21 {-- valor aproximado do PI}
22 valor_pi <- 3.14159
23
24 {---------- entrada de dados ----------}
25 escreval("CONVERSAO DE RADIANOS PARA GRAUS")
26 escreval("") {pular uma linha}
27 escreva("Informe o valor do ângulos em radianos: ")
28 leia(angulo_radiano)
29
30 {----- conversão para graus -----}
31 angulo_graus <- (angulo_radiano*180)/valor_pi
32
33 {---------- saída de dados ----------}
34 escreval("") {pular uma linha}
35 escreval("RESULTADOS")
36 escreval("O ângulo de ", angulo_radiano:0:2, " radianos é igual a ", angulo_graus:0:2, " em graus")
37
38 fimalgoritmo
Fim código 26Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
CONVERSAO DE RADIANOS PARA GRAUS
Informe o valor dos ângulos em radianos: 3.14159
RESULTADOS
O ângulo de 3.14159 radianos é igual a 180 em graus
15)Osjurosrepresentamaremuneraçãodeumcapitalempregadoemalgumaatividadeprodutiva.Nessesentido,umdoscálculosempregadosnaáreafinanceiraéadeterminaçãodosjurossimples.Essetipodejuroutilizacomobaseonúmerodeperíodosqueocapitalfoiaplicado,ataxaunitáriadoperíodoeovalorprincipalquefoiempregado.Combasenessasinformações,ocálculoérealizadopormeiodafórmula:J=Pin, emqueJrepre-sentaoresultadodocálculodosjurossimples;Povalorprincipal;iataxaunitáriaaoperíodoenonúmerodeperíodos.Deacordocomasinformações,elaboreumalgoritmocapazdecalcularosjurossimples.Paraisso,oalgoritmodeverásolicitarasinformaçõesaousuárioeaofinalapresentarnatelaocálculodosjuros.
Código 27
01 algoritmo "calculo_juros_simples"
02 {Exemplo de algoritmo que demonstra o cálculo do juros simples }
03
04
05 {declaração das variáveis}
© Algoritmos e Programação80
06 {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
07 Var
08 {variável para entrada do usuário}
09 valor_principal: real
10 numero_periodos: real
11 taxa_unitaria: real
12
13 {variável para armazenar o resultado dos cálculos}
14 juros_simples: real
15
16
17 {algoritmo principal}
18 Inicio
19 {---------- entrada de dados ----------}
20 escreval("JUROS SIMPLES")
21 escreval("") {pular uma linha}
22 escreva("Informe o valor principal: ")
23 leia(valor_principal)
24 escreva("Informe o número de períodos: ")
25 leia(numero_periodos)
26 escreva("Informe a taxa unitária (Exemplo, para 15% informe 0.15): ")
27 leia(taxa_unitaria)
28
29 {----- cálculo dos juros simples -----}
30 { Fórmula: J = Pin }
31 juros_simples <- valor_principal * taxa_unitaria * numero_periodos
32
33 {---------- saída de dados ----------}
34 escreval("") {pular uma linha}
35 escreval("RESULTADOS")
36 escreval("Valor principal: R$ ", valor_principal:4:2)
37 escreval("Taxa unitária: ", (taxa_unitaria*100), "%")
38 escreval("Número de períodos: ", numero_periodos)
39 escreval("JUROS SIMPLES: R$ ", juros_simples:4:2)
40
41 Fimalgoritmo
Fim código 27Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Claretiano - Centro Universitário
81© U2 – Fundamentos da Construção de Algoritmos
Resultado da execução do algoritmo:
JUROS SIMPLES
Informe o valor principal: 1000.00
Informe o número de períodos: 12
Informe a taxa unitária (Exemplo, para 15% informe 0.15): 0.25
RESULTADOS
Valor principal: R$ 1000.00
Taxa unitária: 25%
Número de períodos: 12
JUROS SIMPLES: R$ 3000.00
16)Osjuroscompostossãopopularmenteconhecidoscomo"jurossobrejuros",esãomuitoutilizadosemcálculosdefinanciamentos.Essetipodejurosutilizacomobaseparaocálculotrêsinformações: P,querepresentaovalorprincipal financiado(ouaplicado) inicialmente; i,ataxaunitária;en,onúmerodeperíodosdeaplica-ção.Combasenessas informações,aseguintefórmulaéempregadaparaocálculodos juroscompostos:JC=P(1+i)n.Porexemplo, imaginequeuminvestidoraplicounapoupançaovalordeR$1.000,00duranteseismeses,aumataxadejurosfixade0,5%(queéiguala0,005).Substituindoosvaloresnafórmula,temosJC=1.000,00(1+0,005)6.Assim,aofinaldessesseismesesoinvestidorteráumtotaldeR$1.030,38.Parademons-trarocálculodosjuroscompostos,elaboreumalgoritmocompletocombasenasinformaçõesespecificadasnoenunciadoeapresenteoresultadonofinal.
Código 28
01 algoritmo "calculo_juros_compostos"
02 {Exemplo de algoritmo que demonstra o cálculo do juros compostos }
03
04
05 {declaração das variáveis}
06 {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
07 var
08 {variável para entrada do usuário}
09 valor_principal: real
10 numero_periodos: real
11 taxa_unitaria: real
12
13 {variável para armazenar o resultado dos cálculos}
14 juros_composto: real
15
16
17 {algoritmo principal}
18 inicio
19 {---------- entrada de dados ----------}
20 escreval("JUROS SIMPLES")
21 escreval("") {pular uma linha}
22 escreva("Informe o valor principal: ")
23 leia(valor_principal)
24 escreva("Informe o número de períodos: ")
25 leia(numero_periodos)
26 escreva("Informe a taxa unitária (Exemplo, para 15% informe 0.15): ")
27 leia(taxa_unitaria)
28
© Algoritmos e Programação82
29 {----- cálculo dos juros simples -----}
30 { Fórmula: J = P(1+i)^n }
31 juros_composto <- valor_principal * (1+taxa_unitaria)^numero_periodos
32
33 {---------- saída de dados ----------}
34 escreval("") {pular uma linha}
35 escreval("RESULTADOS")
36 escreval("Valor principal: R$", valor_principal:4:2)
37 escreval("Taxa unitária: ", (taxa_unitaria*100), "%")
38 escreval("Número de períodos: ", numero_periodos)
39 escreval("JUROS COMPOSTO: R$ ", juros_composto:4:2)
40
41 fimalgoritmo
Fim código 28Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
JUROS SIMPLES
Informe o valor principal: 1000.00
Informe o número de períodos: 6
Informe a taxa unitária (Exemplo, para 15% informe 0.15): 0.005
RESULTADOS
Valor principal: R$1000.00
Taxa unitária: 0.5%
Número de períodos: 6
JUROS COMPOSTO: R$ 1030.38
17)Sejaf(x)umafunçãorepresentadadaseguintemaneira: 2 2= − + −f ( x ) ( a b ) ( c d ) .Elaboreumalgoritmoquesoliciteaousuárioasinformaçõesnecessáriasparaocálculodafunçãoeapresenteoresultadonatela.
Código 29
01 algoritmo "calculo_funcao"
02 {Exemplo de algoritmo que demonstra o cálculo de uma função }
03
04
05 {declaração das variáveis}
06 {utilize a palavra "var" ao invés de "declare" para execução no VisuAlg}
07 var
08 {variável para entrada do usuário}
09 variavel_a: real
10 variavel_b: real
11 variavel_c: real
12 variavel_d: real
13
Claretiano - Centro Universitário
83© U2 – Fundamentos da Construção de Algoritmos
14 {variável para armazenar o resultado dos cálculos}
15 resultado_fx: real
16
17
18 {algoritmo principal}
19 inicio
20 {---------- entrada de dados ----------}
21 escreval("CÁLCULO DE UMA FUNÇÃO f(x)")
22 escreval("") {pular uma linha}
23 escreva("Informe o valor da variável A: ")
24 leia(variavel_a)
25 escreva("Informe o valor da variável B: ")
26 leia(variavel_b)
27 escreva("Informe o valor da variável C: ")
28 leia(variavel_c)
29 escreva("Informe o valor da variável D: ")
30 leia(variavel_d)
31
32 {----- cálculo da função -----}
33 {Dica: O programa VisuAlg possui uma função específica }
34 { para o cálculo da RAIZ QUADRADA de um número. }
35 { Esta função é denominada raizq }
36 resultado_fx <- raizq( (variavel_a-variavel_b)^2+(variavel_c-variavel_d)^2)
37
38 {---------- saída de dados ----------}
39 escreval("") {pular uma linha}
40 escreval("RESULTADOS")
41 escreval("Valor da variável A", variavel_a)
42 escreval("Valor da variável B", variavel_b)
43 escreval("Valor da variável C", variavel_c)
44 escreval("Valor da variável D", variavel_d)
45 escreval("Resultado da função F(X)= ", resultado_fx)
46
47 fimalgoritmo
Fim código 29Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
© Algoritmos e Programação84
Resultado da execução do algoritmo:
CÁLCULO DE UMA FUNÇÃO f(x)
Informe o valor da variável A: 2
Informe o valor da variável B: 8
Informe o valor da variável C: 3
Informe o valor da variável D: 5
RESULTADOS
Valor da variável A 2
Valor da variável B 8
Valor da variável C 3
Valor da variável D 5
Resultado da função F(X)= 6.32455532033676
18)Escrevaumprogramaquesoliciteaousuárioumadata.Eledeveráinformarseparadamenteodia,omêseoano.Emseguida,oalgoritmodeveráapresentarnatelaadataformatada,talcomo:dia/mês/ano.
Código 30
01 algoritmo "data_formatada"
02 {Exemplo de um algoritmo que exibe na tela uma data formatada dd/mm/aaaa }
03
04
05 {--------- declaração das variáveis ---------- }
06 {Dica: utilize a palavra "var" ao invés de "declare" }
07 { para execução no programa VisuAlg }
08 var
09 {variável para entrada do usuário}
10 dia: inteiro
11 mes: inteiro
12 ano: inteiro
13
14 {variável para armazenar o resultado dos cálculos}
15 {nenhum}
16
17 {algoritmo principal}
18 inicio
19
20 {---------- entrada de dados ----------}
21 escreval("DATA FORMATADA")
22 escreval("") {pular uma linha}
23 escreva("Informe o dia: ")
24 leia(dia)
25 escreva("Informe o mês: ")
26 leia(mes)
Claretiano - Centro Universitário
85© U2 – Fundamentos da Construção de Algoritmos
27 escreva("Informe o ano: ")
28 leia(ano)
29
30
31 {---------- saída de dados ----------}
32 escreval("") {pular uma linha}
33 escreval("RESULTADOS")
34 escreval("Data formatada: ", dia, "/", mes, "/", ano)
35
36 fimalgoritmo
Fim código 30Parademonstrarofuncionamentodoalgoritmo,vejaoresultadodaexecuçãoaseguir.Asinformaçõesutilizadascomoentradasãoapenasilustrativas.
Resultado da execução do algoritmo:
DATA FORMATADA
Informe o dia: 05
Informe o mês: 07
Informe o ano: 1923
RESULTADOS
Data formatada: 5/ 7/ 1923
8. QUESTÕES AUTOAVALIATIVAS
Oestudodealgoritmoseprogramaçãoenvolvequestõesteóricasepráticas.Porisso,éessencial que você esteja sintonizado comos assuntos teóricos e, especialmente, que saibacomoaplicá-losemproblemaspráticos.Asquestõesautoavaliativasdestaunidadeabordamosaspectosfundamentaisdaconstruçãodealgoritmos,osquaissãoessenciaisaolongodetodasasunidades.Aproveitepararealizarumarevisãoebonsestudos.
1) Qualéaestruturabásicadeumalgoritmo?
2) Oquesãocomentáriosequaléautilidadenaelaboraçãodealgoritmos?
3) Oquesãoblocosdeinstruçõesequaléautilidadedasinstruçõesinícioefimalgoritmo?
4) Oquesãotiposdedados?
5) Quaissãoosprincipaistiposdedados?
6) Qualtipodedadoséutilizadopararepresentaçãodenúmerossemcasasdecimais?Apresentepelosmenostrêsexemplosdevaloresdessetipo.
7) Qualtipodedadoséutilizadopararepresentaçãodenúmeroscomcasasdecimais?Apresentepelosmenostrêsexemplosdevaloresdessetipo.
8) Qual tipodedados éutilizadopara representaçãode conjuntode caracteres?Apresentepelosmenos trêsexemplosdevaloresdessetipo.
9) Definaeapresenteexemplosdostermosconstanteevariável.
© Algoritmos e Programação86
10)Qualéaformapadrão,tambémconhecidacomo"sintaxe",utilizadaparadeclararumavariável?
11)Oquesãoidentificadores?
12)Apresentepelomenoscincoexemplosdeidentificadoresválidos.Osexemplosdevemserdiferentesdospre-sentesnoCaderno de Referência de Conteúdo.
13)Apresentepelomenoscincoexemplosdeidentificadoresinválidos.Osexemplosdevemserdiferentesdospre-sentesnoCaderno de Referência de Conteúdo.
14)Oquesãocomandosdeentradaequalasuautilidadenaelaboraçãodealgoritmos?
15)Oquesãocomandosdesaídaequalésuautilidadenaelaboraçãodealgoritmos?
16)Quaissãoosprincipaisoperadoresmatemáticosquepodemserutilizadosnaelaboraçãodealgoritmos?
17)Expliqueeapresenteexemplosdeutilizaçãodooperadordeigualdade.
18)Expliqueeapresenteexemplosdeutilizaçãodooperadordediferença.
19)Oquesãooperadoresrelacionaisecomoelespodemserutilizadosnaconstruçãodealgoritmos?
20)Oquesãooperadoreslógicos?
21)ConsiderandoA=verdadeiroeB=falso,qualéoresultadodasexpressões:a) AeB.b) AouB.c) AxouB.d) Ae(AouB).
9. CONSIDERAÇÕES
Nesta unidade, você teve oportunidade de conhecer os principais conceitos para aconstruçãodealgoritmos.Tambémteveoportunidadedeestudaroscomandosdeentradaesaídadeinformações,alémdasexpressõeslógicasearitméticas.
Apósestudartodososexercíciosresolvidos,terminamosoconteúdodestaunidade.Esteéomomentoparatreinarmososconceitosapresentadosaolongodoseudesenvolvimento;porisso,éimportantíssimoquevocêrealizeasatividadespropostasnoCaderno de Atividades e Interatividades.
10. REFERÊNCIA BIBLIOGRÁFICA
ASCENCIO,A.F.G.;EDILENE,A.V.de.Fundamentos da programação de computadores:algoritmos,PascaleC/C++.SãoPaulo:PrenticeHall,2002.
Recommended