9
21/09/2008 1 Lógica de Programação Aula 2 Existem 3 estruturas básicas de controle nas quais se baseiam os algoritmos: 1. Sequenciação; 2. Decisão; 3. repetição. Os algoritmo fazem parte de uma seqüência, no qual é relevante a ordem, pois serão executados um de cada vez, de acordo com a ordem estabelecida. De forma genérica, poderíamos expressar uma seqüência da seguinte maneira: Comando-1 Comando-2 Comando-3 : Comando-n Tem-se uma sequenciação de n comandos na qual os comandos serão executados na ordem em que aparecem, isto é, o comando de ordem i+1 só será executado após a execução do de ordem i (o 3 o será executado após o 2 o ). Todo algoritmo é uma seqüência. A sequenciação é aplicada quando a solução do problema pode ser decomposta em passos individuais.

Algoritmos aula boa

Embed Size (px)

Citation preview

Page 1: Algoritmos aula boa

21/09/2008

1

Lógica de Programação

Aula 2

� Existem 3 estruturas básicas de controle nas quais se baseiam os algoritmos:

1. Sequenciação;

2. Decisão;

3. repetição.

� Os algoritmo fazem parte de uma seqüência, no qual é relevante aordem, pois serão executados um de cada vez, de acordo com aordem estabelecida.De forma genérica, poderíamos expressar uma seqüência daseguinte maneira:

Comando-1Comando-2Comando-3

:Comando-n

� Tem-se uma sequenciação de nnnn comandos naqual os comandos serão executados naordem em que aparecem, isto é, o comandode ordem i+1 só será executado após aexecução do de ordem i (o 3o só seráexecutado após o 2o).

� Todo algoritmo é uma seqüência. Asequenciação é aplicada quando a solução doproblema pode ser decomposta em passosindividuais.

Page 2: Algoritmos aula boa

21/09/2008

2

Aula de capoeira Desabrochar de uma rosa

Higiene pessoa

� Essa estrutura é conhecida como estruturacondicional. Pelo fato de haver uma subordinaçãoda execução de um ou mais comando

Se <condição> Então<comando-1>

Senão<comando-2>

� A decisão deve ser sempre usada quando há anecessidade de testar alguma condição e emfunção da mesma tomar uma atitude

Page 3: Algoritmos aula boa

21/09/2008

3

� Em nosso dia-a-dia, estamos sempre tomandodecisões:

� Se tiver dinheiro suficiente, entãoentãoentãoentão vou almoçar em um bomrestaurante.

� Caso contrário (senãosenãosenãosenão), vou comer um sanduíchena lanchonete da esquina.

Essa estrutura é conhecida como “looping”

ou laço. A repetição permite que tarefas

individuais sejam repetidas um número

determinado de vezes ou tantas vezes uma

condição lógica permita.

� Bater cinco pênaltis

Page 4: Algoritmos aula boa

21/09/2008

4

� Atirar pedras na vidraça até quebrá-la;

Neste exemplo, vai-se repetir a açãode atirar pedras na janela até queseja satisfeita a condição de quebrara janela.

� Conceito de variável:Sabe-se da Matemática que uma variável é a representaçãosimbólica dos elementos de um certo conjunto.

� Embora a variável possa assumir diferentes valores, ela sópode armazenar um valor a cada instante.

Nos algoritmos cada variável corresponde uma posição Nos algoritmos cada variável corresponde uma posição Nos algoritmos cada variável corresponde uma posição Nos algoritmos cada variável corresponde uma posição de memória, cujo conteúdo pode variar ao longo do de memória, cujo conteúdo pode variar ao longo do de memória, cujo conteúdo pode variar ao longo do de memória, cujo conteúdo pode variar ao longo do

tempo durante a execução de um algoritmotempo durante a execução de um algoritmotempo durante a execução de um algoritmotempo durante a execução de um algoritmo. . . .

� Conteúdo de uma Variável

◦ Dados - Elementos conhecidos de um problema

◦ Informação - Um conjunto estruturado de dados, transmitido

conhecimento

� Tipos de DadosAlgoritmoAlgoritmoAlgoritmoAlgoritmo DescriçãoDescriçãoDescriçãoDescrição

a) InteiroRepresenta números entre -32768 até +32767. ocupa 2 bytes na memória.

b) RealRepresenta os números entre 2.9 x 10 -39 até 1.7 x 1038 . Ocupa 6 bytes na memória.

e) CaracterRepresenta um dos caracteres, da tabela ASCII. Ocupa 1 byte na memória.

d) CadeiaConjunto de caracteres ( CHAR ). Ocupa de 1 a 255 bytes na memória.

g) Lógica g) Lógica g) Lógica g) Lógica Valor lógico. Assuma somente dois valores: Valor lógico. Assuma somente dois valores: Valor lógico. Assuma somente dois valores: Valor lógico. Assuma somente dois valores: TRUE(Verdade) ou FALSE(Falso). ocupa 1 byte na memória.TRUE(Verdade) ou FALSE(Falso). ocupa 1 byte na memória.TRUE(Verdade) ou FALSE(Falso). ocupa 1 byte na memória.TRUE(Verdade) ou FALSE(Falso). ocupa 1 byte na memória.

Page 5: Algoritmos aula boa

21/09/2008

5

Endereço Endereço Endereço Endereço FísicoFísicoFísicoFísico

TipoTipoTipoTipo InformaçãoInformaçãoInformaçãoInformação

Nome Cadeia ‘João’

número Inteiro 12345

letraletraletraletra CaracterCaracterCaracterCaracter ‘H’‘H’‘H’‘H’

Toda variável é identificada por um nome ou identif icador � A operação de atribuição permite que seforneça um valor a uma variável.

� Se for atribuído uma expressão à variável,será armazenado o resultado daquelaexpressão.

� Se for atribuído uma outra variável, seráarmazenado o conteúdo daquela variável.

variável ���� expressão

Exemplos:

Ex:. 1

•A � 2

•B � A

•NOTA � 10

Ex:. 2

•NOME � 'João'

•SENHA � 'X3Y9'

•C � 1 / 3

� Definimos aqui dois novos comandos da nossa linguagem algorítmica para manusear entrada e saída. O comando leialeialeialeia nos permite ler valores dados atribuindo-os à variáveis indicadas; o comando escrevaescrevaescrevaescreva nos permite mostrar os resultados. A entrada pode vir do teclado ou de qualquer outro dispositivo de entrada. A saída pode aparecer na tela do monitor de vídeo ou ser impressa em papel.

Page 6: Algoritmos aula boa

21/09/2008

6

leialeialeialeia variável-1, variável-2, ..., variável-n

escrevaescrevaescrevaescreva expressão-1, expressão-2

, ..., expressão-n

Exemplos:

Ex:. Ler

• leia NOTA

• leia A,B,C

• leia NOME

Ex:. Escrever

• escreva 15

• escreva NOTA+2

• escreva A,B

os algoritmos são iniciados os algoritmos são iniciados os algoritmos são iniciados os algoritmos são iniciados com a palavra com a palavra com a palavra com a palavra inícioinícioinícioinício e e e e

finalizados com a palavra finalizados com a palavra finalizados com a palavra finalizados com a palavra fimfimfimfim....

Page 7: Algoritmos aula boa

21/09/2008

7

� Escreva os comandos necessários para:

a) ler o nome de uma pessoa

b) ler as 3 notas de um aluno

c) ler o peso e altura de uma pessoa

� comandos deverão ser executados numa seqüêncialinear, seguindo-se o texto em que estão escritos,de cima para baixo.

Sintaxe

•inicioinicioinicioinicio

•comando-1

•comando-2

•. . .

•comando-n

•fimfimfimfim

Algorítmica Linguagem Algorítmica

•inícioinícioinícioinício

•leia A,B

•SOMA � A + B

•escreva SOMA

•fimfimfimfim

Fluxograma:INICIO

FIM

Comando-1

Comando-2

Comando-n

1. A ordem das atribuições é importante? A�B e C�A tem o mesmo efeito de C�A e A�B?

2. Escreva um algoritmo que leia duas variáveis inteiras e troque o conteúdo entre elas

3. Escreva um algoritmo para calcular e exibir o comprimento de uma circunferência, sendo dada o valor de seu raio.

RC π2=

� A estrutura condicional permite a escolha do grupo de ações e estruturas a ser executado quando determinadas condições (expressões lógicas) são ou não satisfeitas.

Sintaxe

•sesesese condição entãoentãoentãoentão

•comando-1

•comando-2

•. . .

•comando-n

Algorítmica Linguagem Algorítmica

• se MÉDIA ≥ 7 então

• SITUAÇÃO �'Aprovado'

• Escreva SITUAÇÃO

• . . .

Fluxograma:

Condição

Comando-1

Comando-2

Comando-n

Page 8: Algoritmos aula boa

21/09/2008

8

Sintaxe

•sesesese condição entãoentãoentãoentão

•comando-A1

•comando-A2

•. . .

•comando-An

•senãosenãosenãosenão

•comando-B1•comando-B2•. . .

•comando-Bn

Algorítmica Linguagem Algorítmica

•se PESO > 80 então

•escreva 'Você está obeso'

•escreva 'Faça atividades físicas'

•senão

•escreva 'Você está no peso certo'

•escreva 'Procure manter sua forma'

•. . .

Fluxograma:

Condição

Comando-A1

Comando-A2

Comando-An

Comando-B1

Comando-B2

Comando-Bn

V

F

1. Escreva um algoritmo para ler um número e determinar se ele é maior, igual ou menor que zero.

2. Escreva um algoritmo que leia dois números e exiba o maior deles.

3. Deseja-se calcular a conta de consumo de energia elétrica de um consumidor. Para isto, escreva um algoritmo que leia o código do consumidor, o preço do Kw e a quantidade de Kw consumido, e exiba o código do consumidor e o total a pagar.

- total a pagar = preço x quantidade

- total a pagar mínimo = R$ 11,20

� A estrutura de repetição permite que uma seqüência de comandosseja executada repetidamente até que uma determinada condiçãonão seja satisfeita. Utilizaremos o comando enquantoenquantoenquantoenquanto pararepresentar esta estrutura.

Sintaxe

• enquantoenquantoenquantoenquanto condição

• comando-A1

• comando-A2

• . . .

• comando-An

Algorítmica Linguagem Algorítmica

•. . .

•leia SENHA

•enquanto SENHA <> ‘PB'

•escreva 'Senha inválida'

•escreva 'Digite a senha novamente'

•leia SENHA

•. . .

Fluxograma:

Condição

Comando-A1

Comando-A2

Comando-An

V

F

1. Faça um algoritmo que mostre todos os números inteiros de 1 a 50.a) ler o nome de uma pessoa.

2. Escreva um algoritmo que leia um número N e uma lista de N números inteiros positivos e determine o maior número da lista.

3. Escreva um algoritmo que calcule o fatorial de um número inteiro lido, sabendo-se que:N ! = 1 x 2 x 3 x ... x N-1 x N0 ! = 1

Page 9: Algoritmos aula boa

21/09/2008

9

FIM