+ All Categories
Home > Documents > Introducao a Logica de Programacao

Introducao a Logica de Programacao

Date post: 18-Oct-2015
Category:
Upload: andre-costa
View: 14 times
Download: 0 times
Share this document with a friend

of 28

Transcript
  • 5/28/2018 Introducao a Logica de Programacao

    1/28

    ndice

    Introduo lgica de programao1 ................................................................................1

    1.1.Noes de lgica......................................................................................................................1

    1.2.Algoritmos.............................................................................................................................. 2

    1.3.Linhas de Cdigo de um Algoritmo ou Programa...............................................................5

    1.4.Eecu!o do Programa..........................................................................................................5

    1.5.Coment"rios............................................................................................................................#

    1.#.Constantes...............................................................................................................................#

    1.$.%ari"&eis........................................................................................................................... ......#

    1.'.Estrutura do algoritmo..........................................................................................................(

    1.(.)*eradores aritm+ticos........................................................................................................1,

    1.1,.)*eradores relacionais..................................................................................................... .1,

    1.11.)*eradores lgicos.............................................................................................................1,

    1.12.-egras de *recedncia........................................................................................................1,

    1.13.Atri/ui!o......................................................................................................................... ..11

    1.14.Comandos de entrada e sa0da............................................................................................11

    1.15.Estruturas de controle................................................................................................ .......13

    1.1#.Estrutura seencial.......................................................................................................... 13

    1.1$.Estruturas de sele!o........................................................................................................ .13

    1.1'.Estruturas de re*eti!o......................................................................................................1'

    1.1(.%etores................................................................................................................................ 221.2,.atries............................................................................................................................. .24

    Introduo lgica de programao1

    1.1. Noes de lgica

    A lgica a ao do pensamento humano para a soluo de problemas do dia-a-dia mas, podetambm, ser a origem de outros problemas. a caracterstica do pensamento correto. A lgica busca acorreo do raciocnio, e determinante nas tomadas de decises. Por isso a lgica ensina a colocarordem no pensamento. A lgica est presente nas aes da nossa ida! "uando #alamos ou escreemos

    algo, por e$emplo, deemos ordenar as palaras de #orma lgica, de modo a e$pressar corretamente o"ue pensamos, o "ue sentimos e o "ue "ueremos.

    %$emplo! & carro est com o pneu a'io. & macaco e a chae de rodas esto no porta-malas. Preciso primeiro pegar o macaco e a chae de rodas, para depois tomar outro passo para trocar o

    pneu do carro.

  • 5/28/2018 Introducao a Logica de Programacao

    2/28

    1.2. Algoritmos

    Algoritmo uma se"()ncia de aes, organi'adas de #orma lgica, "ue isam alcanar um ob*etiobem de#inido.

    Apesar do nome parecer estranho, algoritmos so comuns em nosso cotidiano, como por e$emplouma receita de bolo. +ela est descrita uma srie de ingredientes necessrios, uma se"()ncia de

    diersos passos aes a serem executadospara "ue se consiga #a'er determinado tipo de boloob*etio bem de#inido.

    %$emplo! roca de uma l/mpada.

    pegue uma escada0posicione-a embai$o da l/mpada0bus"ue uma l/mpada noasuba na escada0retire a l/mpada elha0colo"ue a l/mpada noa0

    %sse algoritmo tem um ob*etio, trocar uma l/mpada, e #a' isso bem. 1as troca a l/mpada mesmo

    "ue ela no este*a "ueimada.Podemos melhorar esse algoritmo para "ue a l/mpada no se*a trocada caso este*a #uncionando,incluindo um teste.

    ligue o interruptor0se o interruptor no acender, ento!pegue uma escada0posicione-a embai$o da l/mpada0bus"ue uma l/mpada noa0suba na escada0retire a l/mpada elha0colo"ue a l/mpada noa0

    Ainda pode ocorrer de a noa l/mpada tambm no #uncionar, podemos alterar o algoritmo para"ue as l/mpadas continuem sendo trocadas at "ue alguma #uncione.

    ligue o interruptor0se o interruptor no acender, ento!pegue uma escada0posicione-a embai$o da l/mpada0bus"ue uma l/mpada noa0suba na escada0retire a l/mpada elha0colo"ue a l/mpada noa0en"uanto a l/mpada no acender, #aa!retire a l/mpada0colo"ue outra l/mpada0

    Exerccios propostos 1

    2 3m homem "uer atraessar um rio com um barco "ue pode carregar ele mesmo e apenas maisuma de suas tr)s cargas! um lobo, um carneiro e um mao de al#a#a. & "ue o homem dee #a'erpara atraessar o rio sem perder nenhuma de suas cargas4

    5 6uponha "ue oc) possua um rob7 e "ueira #a')-lo trocar uma l/mpada e depois con#erir se amesma acende, sendo "ue o mesmo #oi programado para obedecer os seguintes comandos!

    pegue 8ob*eto9

  • 5/28/2018 Introducao a Logica de Programacao

    3/28

    largue 8ob*eto9pressione 8ob*eto9gire garras 2:; graus no sentido horrio para#usargire garras 2:; graus no sentido anti-horriomoa 8ob*eto9 para

  • 5/28/2018 Introducao a Logica de Programacao

    4/28

    Smolo Signi!icado

    erminal D Endica incio ou #im do #lu$o

    &perao de entrada e sada. Fenrica, semindicar dispositio.

    Procedimentos. Gomandos simples.

    &perao de sada. Hdeo, impressora, etc.

    eciso. Endica "ue uma ou mais comparaessero #eitas com a possibilidade de desio paraoutras partes do programa.

    Gonectores.

    6entido do #lu$o.

    %$emplo!

    Encio

    Ier notas+2 e +5

    1ed J +2K+5

  • 5/28/2018 Introducao a Logica de Programacao

    5/28

    +o 6im 6e 1ed 9J L.;

    %screa reproado %screa aproado

    Bim

    Exerccios propostos 2

    2 %labore um #lu$ograma para ler duas notas, calcular a mdia semestral e in#ormar ao aluno se ele

    est reproado, em e$ame ou aproado. Gonsiderar a mdia para aproao direta igual ou superiora L,;. Para #icar de recuperao e$ame, o aluno ter "ue ter mdia semestral mnima no in#eriora 2,ML.

    5 %labore um noo #lu$ograma a partir do desenolido para a "uesto anterior, in#ormando se oaluno est aproado ou no aps o e$ame. & aluno deer ter mdia semestral no in#erior a N,;obedecendo ao seguinte clculo! mdia semestral aps e$ame J media semestral antes do e$ame$ M K nota do e$ame $ O

  • 5/28/2018 Introducao a Logica de Programacao

    6/28

    outro programa compilador "ue trans#orme a linguagem usada no cdigo do programa para alinguagem "ue o computador entenda. Por isso importante "ue #aamos um bom e$erccio mentalcolocando o crebro para e$ecutar algoritmos. Ba'endo assim, aprenderemos a lgica de programaoe conse"uentemente aprenderemos a programar.

    1.-. *oment%rios

    Gomentrios so anotaes escritas nas pro$imidades das linhas de cdigo de um algoritmo ouprograma, e so usados para e$plicar melhor alguma parte do cdigo para eitar con#uses deentendimento na hora de sua anlise. Para podermos identi#icar um comentrio no cdigo do programaou algoritmo usaremos o smbolo

  • 5/28/2018 Introducao a Logica de Programacao

    7/28

    dee ser colocado entre aspas simples VAW. %$emplos! a ?oi mundoX@ b ?no pise nagrama@ c V2W d VaW e V V

    1./.3. eclarao de 0ari%$eis

    m programa, em muitas ve!es, precisa utili!ar variveis e constantes. ma constante

    ser definida no ca"eal#o do programa e, normalmente, no mudar seu valor duranteo processamento$e%ecuo do programa. &s variveis podem ter o seu valor alteradodurante a e%ecuo do programa. &s constantes, para o caso dos algoritmos que vamosconstruir sero definidas com letras mai'sculas. &s variveis tero que ser declaradaslogo no incio de cada programa.

    &s variveis devem ser declaradas antes de serem usadase no local adequado para seufuncionamento. ma declarao especifica um tipo, e pode ser seguida por uma ou maisvariveis daquele tipo, separadas por virgulas. fim da declarao indicada por pontoe vrgula.

    6inta$e!tipo lista_de_nomes;

    E%emplos*inteiro dia, m+scaracter se%o, escol#acaracter nome-/0, dia1semana-2/0real nota2, nota3, media

    &o declarar variveis do tipo caracter com mais de um caracter, ou outro tipo com oo"jetivo de guardar mais de um valor, deve4se definir o seu taman#o entre colc#etes,logo ap5s o nome da varivel, como no e%emplo acima. &"ai%o mostra4se um pequenoprograma e%emplo.

    MAX = 80

    NOME = Maria

    !rograma principal

    In"cio

    Inteiro idade# ano# me$# dia%

    &eal media# notoa1# nota'%

    (aracter $e)o%

    (aracter nome*80+%

    media = ,nota1 - nota'/'%

    im

    6o pequeno programa acima, nota4se queMAXe NOMEso constantes. &s variveisdeclaradas so* idade, ano, me$ e diacomo inteiro media, nota1, nota'como real$e)ocomo caracter de uma letra e nomecomo caracter de oitenta (/) letras. "servema posio em que cada uma escrita no programa. &s constantes so definidas antes doincio do programa principal. &s variveis so declaradas logo ap5s o incio doprograma principal.

  • 5/28/2018 Introducao a Logica de Programacao

    8/28

    Exerccios propostos

    2 etermine "ual o tipo primitio de in#ormao presente nas sentenas abai$o!

    a A placa ?PareX@ tinha dois #uros de bala. b Yose#ina subiu N degraus para pegar uma ma boa.

    c Alberta leou = horas e meia para chegar ao hospital onde concebeu uma garota. d Belisberto recebeu sua 2:Z medalha por ter alcanado a marca de NL,= segundos nos 2;; metros rasos. e melhor seguir pela ?Cua@ VAW .

    5a Assinale os identi#icadores de tipos lidos!a V[Wb 35c AhXd ?aluno@e NN

    # \m

  • 5/28/2018 Introducao a Logica de Programacao

    9/28

    M e#ina uma constante e declare uma ariel para receber o alor da diiso da constante PE=.2O2N2M por 2;.

    L %$pli"ue os termos! a Algoritmos b Gdigo c Programa d Hariel e Gonstante

    # Gomentrios g 1emria h %$ecuo i Gompilao * ipos

    1.5. ,strutura do algoritmo&s algoritmos sero estruturados da seguinte maneira!

    definio de constantes

    /*Definio das funes para tarefas especficas*/Nome_funo_1(lista de declaraes){

    declaraes de variveis; comandos;

    .

    .

    . retorno(valor);}

    .

    .

    .

    Nome_funo_n(lista de declaraes)

    { declaraes de variveis; comandos;

    .

    .

    . retorno(valor);}

    Programa rincial( ){

    declarao de variveis;comandos! inclusive as c"amadas ara funes! etc;

    }

    &nde o abrir chaes e o #echar chaes delimitam respectiamente onde o algoritmo comea e ondeeste termina. +as declaraes sero de#inidos os nomes e os tipos das arieis usadas, no algoritmo. corpo do programa conter todas as instru7es que devero ser e%ecutadas. n'mero dem5dulos (fun7es) do programa depender do programador. 8 recomendvel para a

  • 5/28/2018 Introducao a Logica de Programacao

    10/28

    porta"ilidade, clare!a de c5digo e manuteno do algoritmo que os programas sejam feitos emmdulose com endenta!o.

    1.6. 7peradores aritm#ticos&s operadores so um con*unto de smbolos "ue indicam uma determinada operao a ser #eita

    pelo programa.

    7perador Signi!icado

    K Adio- 6ubtraoR 1ultiplicao< iiso

    Cesto de diiso inteira

    1.18. 7peradores relacionais3tili'amos os operadores relacionais para reali'ar comparaes entre dois alores de mesmo

    tipo. ais alores so representados por constantes, arieis ou e$presses aritmticas. &soperadores relacionais so!

    7perador Signi!icado

    J J Egual aXJ, 89, i#erente de

    9 1aior "ue9J, maior ou igual a

    8 1enor "ue8J, menor ou igual

    & resultado obtido sempre um alor lgico.

    %$emplo!

    5 R O J J 5O < = erdadeiro: J J : erdadeiro

    1.11. 7peradores lgicos

    3tili'aremos tr)s operadores bsicos para a #ormao de e$presses lgicas.&s operadores lgicos so!

    7perador Signi!icado

    .%., ff &perador lgico e

    .&3., &perador lgico ouX +egao

    1.12. 4egras de preced&nciaAlgumas e'es a ordem em "ue so reali'adas as operaes podem alterar o resultado de uma

    e$presso, essa ordem de#inida pelas regras de preced)ncia. A tabela a bai$o lista em ordemdecrescente a preced)ncia dos operadores. %ssa ordem pode ser mudada com o uso dos par)nteses,sendo e$ecutadas primeiro as operaes dentro dos par)nteses mais internos.

    &perador Signi!icadoX - +egao e negatio

  • 5/28/2018 Introducao a Logica de Programacao

    11/28

    R < 1ultiplicao, diiso e resto da diiso inteiraK - Adio e subtrao

    8 9 1aior "ue, maior ou igual a, menor "ue e menor ou igual aJ J Egual e di#erente

    .%. &perador lgico e.&3. &perador lgico ou

    J Atribuio

    Exerccio proposto

    etermine os resultados obtidos na aaliao das e$presses lgicas seguintes, sabendo "ue A, ^, G, e % cont)m respectiamente 5, L, =.N, ?noite@ e ?#rio@!a ^ J J A R Gb ?dia@ J J .&3. ?#rio@ ?clima@c ^ < A G .&3. A Gd = < L R 5 J J 2O < A .&3. ^ D = G K ;,Ne ^ K -5 J J 5 R G R 5 < 2;

    1.13. Atriuio

    Para atribuir um alor a uma ariel, o tipo do alor #ornecido dee ser compatel com o tipo daariel. Esso #eito da seguinte #orma! varivel = expresso;

    %$emplo!inteiro $0

  • 5/28/2018 Introducao a Logica de Programacao

    12/28

    1.1".2. Sada de dados3m algoritmo no teria serentia alguma se no pudesse nos deoler algum resultado. Baremos

    os algoritmos retornarem seus resultados atras do comando escrea.

    6inta$e!escreva(parmetro_! parmetro_"! ###! parmetro_n$;

    &s par/metros podem ser arieis, constantes ou e$presses "ue sero impressas na tela, naordem em "ue aparecem na #uno.%$emplo!

  • 5/28/2018 Introducao a Logica de Programacao

    13/28

    L Galcular e e$ibir a mdia aritmtica de "uatro alores "uais"uer "ue sero digitados.

    : Galcular e e$ibir a tenso de um determinado circuito eletr7nico a partir dos alores da resist)ncia ecorrente eltrica "ue sero digitados. 3tili'e a lei de &hm.

    U %ntrar ia teclado com o alor de uma temperatura em graus Gelsius, calcular e e$ibir suatemperatura e"uialente em Bahrenheit.

    2; %ntrar ia teclado com o alor da cotao do dlar e uma certa "uantidade de dlares. Galcular ee$ibir o alor correspondente em Ceais C.

    22 %ntrar ia teclado com o alor de cinco produtos. Aps as entradas, digitar um alor re#erente aopagamento da somatria destes alores. Galcular e e$ibir o troco "ue deer ser deolido.

    1.1-. ,struturas de controleAtras das estruturas bsicas de controle do #lu$o de e$ecuo D se"(encial, seleo, repetio D

    e da combinao delas, poderemos criar um algoritmo para solucionar rios problemas.

    1.1. ,strutura se9:encialAes "ue sero e$ecutadas na ordem em "ue #oram escritas, de cima para bai$o e da es"uerda

    para a direita. & ponto-e-rgula 0 delimita o #im de um comando.

    1.1/. ,struturas de seleo

    1.1/.1. Seleo simples

    3ma estrutura de seleo permite a escolha de um bloco de comandos a ser e$ecutado "uandodeterminadas condies, representadas por e$presses lgicas, so ou no satis#eitas.

    6inta$e!

    se(condio){

    comando_; comando_"; comando_n;

    ;

    &nde condio uma e$presso lgica. &s comandos s sero e$ecutados se a condio resultarerdadeira. As chaes permitem a e$ecuo de todos os comando dentro da estrutura de seleo. 6ehouer apenas um comando no necessrio as chaes, e a seleo termina no primeiro ponto ergula.

    1.1/.2. Seleo composta

    3m segundo bloco de comandos adicionado, estes sero e$ecutados somente se a condiotestada #or #alsa, isto se #a' usando a palara reserada seno. 6e a condio resultar erdadeira,somente os comandos dentro da seleo se sero e$ecutados, os comandosdentro doseno no soe$ecutados, passando-se a aaliar a linha logo abai$o do Tltimo comando seno.

  • 5/28/2018 Introducao a Logica de Programacao

    14/28

    6inta$e!

    se (condio){

    comando_; comando_";

    comando_n;}

    seno

    {

    comando_; comando_";

    comando_n;}

    %$emplo2!

  • 5/28/2018 Introducao a Logica de Programacao

    15/28

    escrea ?1diaJ ?, media0 ``

    1.1/.3. Seleo Anin)ada

    %struturas de seleo podem ser aninhadas, ou se*a, podemos incluir uma estrutura de seleodentro de outra. Esso pode ser #eito "uantas e'es #or necessrio. Para melhor compreenso obsere asinta$e abai$o.6inta$e!se (condio){

    comando_; comando_";

    comando_n;}

    seno

    {

    se (condio){

    comando_; comando_";

    comando_n; % seno

    & se (condio$

    & comando_;

    comando_";comando_n;

    %seno##%

    %%

    %$emplo

  • 5/28/2018 Introducao a Logica de Programacao

    16/28

    ` seno _

    se num J J ; _ escrea?+Tmero igual a 'ero.@0 escreanum0 ` seno _ escrea ?+umero maior "ue 'ero.@0 escrea num0 `

  • 5/28/2018 Introducao a Logica de Programacao

    17/28

    comandoSn0;

    %$emplo!Programa principal _ real preo0 inteiro origem0 leiapreo, origem0 c)a$eorigem _ caso 1 escreapreco, ? D produto do sul@0

    pareD

    caso 2 escreapreco, ? D produto do norte@0

    pareD caso 3

    escreapreco, ? D produto do leste@0pareD

    caso " escreapreco, ? D produto do oeste@0

    pareD caso - escreapreco, ? D produto do sudeste@0 caso escreapreco, ? D produto do centro-oeste@0 caso / escreapreco, ? D produto do nordeste@0 caso contr%rio escreapreco, ? D produto importado@0

    ;

  • 5/28/2018 Introducao a Logica de Programacao

    18/28

    lados iguais. Para e$istir tri/ngulo necessrio "ue a soma de dois lados "uais"uer se*a maior "ueo outro, isto, para os tr)s lados.

    L Ba'er um algoritmo para eri#icar se tr)s alores "uais"uer a, b, c "ue sero digitados #ormam ouno um tri/ngulo ret/ngulo.

    : %screa um algoritmo para determinar se um nTmero lido do teclado maior, menor, ou igual a 'ero.

    U 3sando a estrutura se

  • 5/28/2018 Introducao a Logica de Programacao

    19/28

    C

    escre$a ?%ntre com o nome do aluno@0leianome0

    escre$a?%ntre com suas O notas bimestrais@0 leian2, n5, n=, nO0 ma J n2 K n5 K n= K nO < O0 escre$a?+ome! ?, nome, ?1dia anual! @, ma0 se ma 9J L

    escrea?aluno aproado@0 seno escrea?aluno reproado@0 cont J cont K 20

  • 5/28/2018 Introducao a Logica de Programacao

    20/28

    mat J acm < N;0

  • 5/28/2018 Introducao a Logica de Programacao

    21/28

    = Ba'er um algoritmo para criar uma rotina de entrada "ue aceite somente um alor positio.

    O Ba'er um algoritmo para entrar ia teclado com o se$o de determinado usurio, aceitar somente ?B@ou ?1@ como respostas lidas.

    N Ba'er um algoritmo para e$ibir a tabuada do nTmero cinco no interalo de um a de'.

    M Ba'er um algoritmo para e$ibir a soma dos nTmeros inteiros positios do interalo de um a cem.

    L Ba'er um algoritmo para e$ibir os trinta primeiros alores da se"uencia de Bibonacci! 2, 2, 5, =, N, :,2=, ...

    : Ba'er um algoritmo para entrar ia teclado com um alor "ual"uer. raar a digitao, no sentido deaceitar somente alores positios. Aps a digitao, e$ibir a tabuada do alor solicitado, no interalo

    de um a de'.

    U Ba'er um algoritmo para entrar ia teclado com um alor [ "ual"uer. raar a digitao, no sentidode aceitar somente alores positios. 6olicitar um interalo A D ^ para "ue o programa possacalcular a tabuada do alor digitado, sendo "ue o segundo alor ^, deer ser maior "ue o primeiroA, caso contrrio, digitar noamente somente o segundo. Aps a alidao dos dados, e$ibir atabuada do alor digitado, no interalo decrescente, ou se*a, a tabuada de [ no interalo de ^ para

    A.

    2; Ba'er um algoritmo para calcular o #atorial de um alor "ue ser digitado. %ste alor no poder sernegatio. %niar mensagem de erro e solicitar o alor noamente, se necessrio. Perguntar se o

    usurio dese*a ou no #a'er um noo clculo, consistir a resposta em ?6@ ou ?+@.

    22 Ba'er um algoritmo para entrar ia teclado com ?+@ alores "uais"uer. & alor ?+@ "ue representa a"uantidade de nTmeros ser digitado, deer ser positio, mas menor "ue inte. Gaso a "uantidadeno satis#aa a restrio, eniar mensagem de erro e solicitar o alor noamente. Aps a digitaodos ?+@ alores, e$ibir!

    a maior alor0b menor alor0c A soma dos alores0d A mdia aritmtica dos alores0e A porcentagem de alores "ue so positios0# A porcentagem de alores negatios0

    25 Ba'er um algoritmo para aps e$ibir os dados, perguntar ao usurio se dese*a ou no uma noae$ecuo do programa. Gonsistir a resposta no sentido de aceitar somente ?6@ ou ?+@ e encerrar oprograma em #uno dessa resposta.

    2= & *ogo da mega-sena consiste em acertar seis dos sessenta nTmeros disponeis em um olante.Ba'er um programa para calcular a "uantidade de *ogos "ue temos "ue #a'er, para com certe'aacertar o resultado da mega-sena. Admitindo "ue #aremos *ogos de seis nTmeros por olante, o

  • 5/28/2018 Introducao a Logica de Programacao

    22/28

    programa deer e$ibir "uais seriam estes nTmeros em cada olante, ou se*a, e$ibir todos osresultados posseis.

    1.16. 0etores

    At a"ui, apresentamos uma #orma simples para reserar espao de memria no computador, ouse*a! atras do arti#cio da declarao de arieis simples.

    %$emplo de uso simples da memria

    Gonsidere o cdigo de declarao abai$o!inteiro num0real media0

    1%1CEA

    Gon#orme se pode obserar na #igura acima, a memria diidida em clulas. Gonsideramos "uecada clula constituda de : oito bits de capacidade e pode arma'enar um Tnico caracter.

    Ao declarar a ariel num como inteiro, a m"uina reserar uma "uantidade dessas clulas paraarma'enar um alor numrico inteiro. Gomo os inteiros so menores "ue os alores reais, o espao dememria reserado para este tipo inteiro tambm menor "ue o espao reserado para o tipo real.+ormalmente nas m"uinas, para um tipo real arma'enado o dobro do espao do tipo inteiro.

    esta #orma, se para um inteiro a ar"uitetura da m"uina dispor de 5 clulas e cada clula #orconstituda por : bits, o inteiro ter capacidade para 2M bits en"uanto um alor real ter =5 bits decapacidade.

    %ntretanto, a declarao de arieis simples no garante "ue possamos guardar na memria mais"ue um alor ao mesmo tempo. Por e$emplo, no problema de clculo de mdia aritmtica de duas notasde uma turma de alunos, se declararmos uma ariel simples de#inida como media, esta arielsomente poder guardar na memria um alor por e', sendo este alor substitudo pelo pr$imo eassim por diante.

    num

    media

  • 5/28/2018 Introducao a Logica de Programacao

    23/28

    6e dese*armos arma'enar rios alores reais do mesmo nome ao mesmo tempo, como no casode rias mdias de alunos, pode-se determinar "ue a m"uina computador resere espao dememria re#erenciada pelo nome mdia mas com rios campos do tamanho de um alor do tipo real,colocando um colchetes aps a de#inio do nome da ariel e o tamanho "ue se dese*a reserardentro dos colchetes, con#orme mostrado abai$o na declarao da ariel mdia com tamanho para Ncinco mdias de alunos e no mais apenas uma mdia como apresentado anteriormente.

    real mediajNk01%1CEA

    esta #orma, pode-se dedu'ir, "ue para arma'enar rios alores correspondentes a mesmaariel pode-se utili'ar etores para alocao de memria. %ntretanto, "uando tentarmos arma'enarespao em memria para rios nomes, bom lembrar "ue um Tnico nome * ocupa uma cadeia declulas na memria. eido a isso, para arma'enar espao para rios nomes #icarem arma'enados namemria ao mesmo tempo, necessrio #a'ermos o uso de um etor de duas dimenses! umadimenso para os caracteres do nome e uma outra para indicar cada nome. Assim, nas colunas #icamarma'enados os caracteres de cada nome e em cada linha reserado o espao para a posioendereo de cada nome. He*a a declarao no cdigo a seguir e o es"uema abai$o.

    caracter nomejNkj2;k01%1CEA

    Gomo pode-se obserar, no es"uema acima est a representao da memria com espao paracinco nomes de no m$imo 2; caracteres cada um.

    %$emplo2Ba'er um algoritmo para ler um etor real de 2; elementos e imprimir os alores maiores ou iguais a

    'ero.

  • 5/28/2018 Introducao a Logica de Programacao

    24/28

    ` para E J ;0 E 82;0 E J E K2 _ %screa ?etj?, E , ?kJ ?0 se et j E k 9 J ;

    _ %screa et j E k 0 ` `Bim

    +o e$emplo acima pode-se escreer o alor de cada elemento do etor depois de todos oselementos lidos. Glaro, isso #eito somente para comproar "ue os alores #icam todos arma'enadosna memria, seno, para escreer cada alor do etor poderia ser implementado o comando ?se@ e ocomando ?escrea@ no primeiro lao de repetio logo abai$o da leitura dos alores.

    1.28. EatriFes

    3ma matri' nada mais "ue um etor bidimensional. +o e$emplo dado acima, com a ariel

    nome, na realidade, usamos uma matri' para guardar N cinco nomes. esta #orma, podemos tambmreserar espao em memria para uma matri' numrica, se*a ela do tipo real ou inteira. & cdigo aseguir e o es"uema de memria abai$o a*udam a compreender o "ue acontece.

    inteiro AjOkjNk0

  • 5/28/2018 Introducao a Logica de Programacao

    25/28

    %screa?^j?, E, ?k j?, Y, ?kJ @0 Ieia ^ jEkjYk0

    GjEkjYkJ ^jEkjYk K AjEkjYk0

    %screa?Gj?, E, ?k j?, Y, ?kJ @, GjEkjYk0 ` `#im

    Exerccios propostos

    2 ado o etor H%, de#inido por!inteiro H%j2;;k0a preench)-lo com o alor =;0b preench)-lo com os nTmeros inteiros 2, 5, =..., 2;;0c preencher H%jEk com 2, se E "uadrado per#eito, e com ;, nos demais casos.

    5 ado o seguinte etor!"ual ser a sua con#igurao depois de e$ecutados os comandos!

    para E J L0 E9JO0 EJE-2_ au$JH%jEk0 H%jEk J H%jLD E K2k0 H%jL D E K 2k J au$0`H%j5kJH%j;k0H%jH%j5kk J H%jH%j2kk0

    = %screa um algoritmo em portugol, para um programa "ue!

    a leia um con*unto A de 2;; elementos reais0b construa e imprima um outro con*unto #ormado da seguinte maneira!i os elementos de ordem par so os correspondentes de A diididos por 50ii os elementos de ordem mpar so os correspondentes de A multiplicados por =.

    O ado o seguinte etor de caracteres!

    Qual ser a sua con#igurao aps serem e$ecutados os comandos a seguir 4

    au$ J H%jNk0H%jNkJH%j:k0

    H%j:kJau$0para EJ;0 E8J=0 EJEK2_ au$ J H%jEk0 H%jEkJH%j: D Ek0 H%j: D Ek J au$0`H%jNk J H%j2k0

    N %screa um algoritmo em portugol "ue!

    =5O25N:=H%

    H% C[6%&^AX

  • 5/28/2018 Introducao a Logica de Programacao

    26/28

    a Ieia um con*unto A de 5; elementos do teclado0b calcule e imprima o alor de 6, onde!6 J A2 D A5;5 K A5 D A2U5 K ......K A2; D A225 2;

    ou se*a, 6 J Ai D A52-i5 i J 2

    M Ba'er um algoritmo para ordenar um etor de nTmeros em ordem crescente. & etor ordenadodeer ser impresso na tela.

    L %screa um algoritmo "ue leia dois etores de 2; posies e #aa a multiplicao dos elementos demesmo ndice, colocando o resultado em um terceiro etor. 1ostre o etor resultante.

    : %screa um algoritmo "ue leia um etor de 5; posies e mostre-o. %m seguida, tro"ue o primeiroelemento com o Tltimo, o segundo com o penTltimo, o terceiro com o antepenTltimo, e assimsucessiamente. 1ostre o noo etor depois da troca.

    U %screa um algoritmo "ue leia um etor de :; elementos inteiros. %ncontre e mostre o menorelemento e sua posio no etor.

    2; %screer um algoritmo "ue l) 5 etores [2; e ]2; e os escree. Grie, a seguir, um etor "uese*a

    a a unio de [ com ]0b a di#erena entre [ e ]0c a soma entre [ e ]0d o produto entre [ e ]0e a interseco entre [ e ].%screa o etor a cada clculo.

    22 Baa um algoritmo "ue leia um etor de N;; posies de nTmeros inteiros e diida todos os seuselementos pelo maior alor do etor. 1ostre o etor aps os clculos.

    25 3ma locadora de deos tem guardada, em um etor de N;; posies, a "uantidade de #ilmesretirados por seus clientes durante o ano de 2UU=. Agora, esta locadora est #a'endo uma promoo

    e, para cada 2; #ilmes retirados, o cliente tem direito a uma locao grtis. Baa um algoritmo "uecrie um outro etor contendo a "uantidade de locaes gratuitas a "ue cada cliente tem direito.

    2= %screer um algoritmo para a gerao da seguinte matri'!

    2O ada a matri' 1A abai$o!

    Qual ser a con#igurao de 1A depois de e$ecutado o algoritmo4incio inteiro E, Y0 caracter au$0

    2 2 2 2 2 22 5 5 5 5 22 5 = = 5 22 5 = = 5 22 5 5 5 5 22 2 2 2 2 2

    a b cd e #g h i

  • 5/28/2018 Introducao a Logica de Programacao

    27/28

    2 5 2= 2 O

    2 =5 22 O

    caracter 1A jOkjOk0 para EJ;0 E8J=0 EJEK2 _

    para YJEK20 Y8J=0 YJYK2 _ au$ J 1AjEkjYk0 1AjEkjYkJ1AjYkjEk0 1AjYkjEkJau$0 ` ` au$J1Aj2kj2k0 1Aj2kj2kJ1AjOkjOk0 au$J1Aj5kj5k0 1Aj5kj5kJ1Aj=kj=k0 1Aj=kj=kJau$0#im

    2N escrea o "ue ser produ'ido depois de e$ecutados os comandos abai$o se!

    A J

    GJ

    para EJ;0 E850 EJEK2_ para YJ;0 Y850 YJYK2 _ para \J;0 \8J50 \J\K2 _ escreaAjEkj\k K Gj\kj*k0

    ` ``

    2M Ba'er um algoritmo para multiplicar duas matri'es de mesma ordem. A matri' produto deer serimpressa na tela.

    2L %screa um algoritmo "ue l) uma matri' 1N$N e calcula as somas!a da linha O de 1b da coluna 5 de 1c da diagonal principald da diagonal secundriae de todos os elementos da matri' 1%screer essas somas e a matri'.

    2: %screer um algoritmo "ue l) uma matri' 12;$2; e a escree. ro"ue, a seguir!a a linha 5 com a linha :b a coluna O com a coluna 2;c a diagonal principal com a diagonal secundriad a linha N com a coluna 2;.%screa a matri' assim modi#icada.

    2U %screer um algoritmo "ue l) uma matri' 1N$N e cria 5 etores 6IN e 6GN "ue contenham,respectiamente, as somas das linhas e das colunas de 1. %screer a matri' e os etores criados.

  • 5/28/2018 Introducao a Logica de Programacao

    28/28

    i/liogra6ia

    ?Igica de programao@ de Borbellone e %berspcher

    ?Algoritmos e %struturas de ados@ de Fuimares


Recommended