Sunteți pe pagina 1din 11

CAPTULO

III
Comandos e Estrutura de Controle

3.1 Introduo 3.2 Comandos Bsicos


Entrada de Dados Sada de Informaes Comentrios

3.3 Estruturas de Controle


Seqncia Simples Estruturas Condicionais Estruturas de Repetio

3.4 Exerccios Propostos

3.1 Introduo
Comentrios O processo de criao de um algoritmo faz uso de comandos para entrada e sada de dados, alm de estruturas de controle do seu fluxo, como mostraremos nos prximos tpicos deste captulo. Utilizado quando necessrio inserir determinada observao sobre alguma funcionalidade do algoritmo, muito til na documentao. Sintaxe:

3.2 - Comandos Bsicos


Comando de Entrada de Dados A entrada de dados pode acontecer de vrias formas, via disquete, disco rgido, fita magntica, teclado, etc. Aqui, utilizaremos a entrada de dados via teclado, que permite que os dados sejam colocados na memria do computador. Sintaxe: leia Var1, Var2, VarN; Comando de Sada de Informaes A sada de informaes pode acontecer via vdeo, impressora, disco, etc. Aqui, utilizaremos a sada de informaes via vdeo. Utilizaremos esse comando para dar um retorno das solicitaes feitas para o usurio, alm de ser utilizado para maior interao com o usurio solicitando ou orientando-o para a utilizao do programa. Sintaxe: escreva Var1, Var2, VarN; escreva A mdia , Media;

{observao, sobre comando, bloco, etc} Exerccios de Fixao - Escreva um algoritmo para as seguintes situaes: a) Um automvel tem um consumo mdio de 1 litro de gasolina para cada 16 km rodados. Dados: distncia percorrida. Calcule a quantidade de gasolina consumida. b) Calcular o custo de um bolo de aniversrio, sabendo-se que o preo por quilo de bolo R$ 16,00. Dado: peso total do bolo.

23

3.3 - Estruturas de Controle


Seqncia Simples Conjunto de instrues que sero executadas na ordem em que foram escritas. Exemplo: Inicio algoritmo Exemplo; variaveis idade: inteiro; nome: caractere; inicio escreva Informe seu nome: ; leia nome; escreva Informe sua idade: ; leia idade; escreva Voc se chama, nome, e possui, idade, anos!; fim Fim algoritmo Estruturas Condicionais As estruturas condicionais so

no e do fato de cada desvio do fluxo poder ou no ter outros comandos antes da finalizao da estrutura. a) Estrutura Condicional SE Simples As instrues contidas dentro do lao condicional SE sero executadas somente se a condio retornar um resultado verdadeiro. Sintaxe: se (condio) ento { instrues; } fim_se; Exemplo: se (A > B) ento escreva O maior nmero A; fim_se;

Exerccios de Fixao
- Escreva um algoritmo para as seguintes situaes: i) Escreva um algoritmo para ler dois valores numricos, efetuar a adio e apresentar o seu resultado caso o valor somado seja maior que 10. ii) Escreva um algoritmo que leia trs valores numricos, efetue a soma e apresente o resultado, caso o valor somado seja menor ou igual a 50. Composta Permite executarmos instrues no lao condicional, se o resultado da condio retornar um resultado falso. Sintaxe: se (condio) ento { instrues; } seno { instrues; } fim_se; Exemplo: se (A > B) ento maior A; seno escreva O B maior ou so iguais; fim_se;

utilizadas quando h uma condio que desvia o fluxo do programas para diferentes partes, dependendo do fato de a condio ser verdadeira ou falsa. Na condio das estruturas condicionais, utilizam-se os operadores relacionais (<, >, =, <=, >=, <>) para as comparaes, observando suas caractersticas particulares. As estruturas condicionais dividem-se em estrutura SE e estrutura ESCOLHA/CASO. A estrutura condicional SE a estrutura mais flexvel, podendo acontecer de vrias formas, dependendo do fato de a condio ser satisfeita ou

24

Exerccios de Fixao
- Escreva um algoritmo seguintes situaes: para as

i) Escreva um algoritmo para ler dois valores numricos e efetuar a adio. Caso o valor somado seja maior ou igual a 10, dever ser apresentado somando a ele mais 5; caso o valor somado no seja maior ou igual a 10, este dever ser apresentado subtraindo 7. ii) Dado um nmero inteiro informado pelo usurio, verificar se ele par ou mpar. iii) Escreva um algoritmo que, para um determinado valor, informa se o mesmo positivo ou negativo. Encadeada/Aninhamento Consiste no agrupamento de vrios laos condicionais SE. Sintaxe: se (condio) ento se (condio2) ento { instrues; } seno { instrues; } fim_se; seno { instrues; } fim_se Exemplo: se (A <> B) ento se (A > B) ento maior A; seno maior fim_se; seno escreva Os nms. so iguais; fim_se; B;

i) Construir um algoritmo que determine se uma pessoa criana, adolescente ou adulto, de acordo com sua idade conforme a seguir: Idade at 12 anos: criana Maior 12 e menor 18 anos: adolescente Maior ou igual a 18: adulto b) Seleo de Mltipla Escolha Quando uma varivel assume somente um valor para cada estrutura SE e as instrues a serem executadas dependam do valor armazenado na varivel, tem-se a seguinte possibilidade: Sintaxe: se (condio) ento { instrues; } fim_se; se (condio) ento { instrues; } fim_se; se (condio) ento { instrues; } fim_se; Exemplo: se (A = 1) ento escreva Um; fim_se; se (A = 2) ento escreva Dois; fim_se; se (A = 3) ento escreva Trs; fim_se;

Nesta situao, utiliza-se a estrutura do ESCOLHA/CASO, mais compacta que a anterior. Sintaxe: escolha (variavel) Exemplo: escolha (A) caso (valor_1): { caso (1): escreva instrues; } Um; caso (valor_2): { caso (2): escreva instrues; } Dois; caso (valor_3): { caso (3): escreva instrues; } Trs; fim_escolha; fim_escolha; OU OU escolha (variavel) escolha (A)

Exerccios de Fixao
- Escreva um algoritmo seguintes situaes: para as

25 caso (valor_1): { instrues; } caso (valor_2): { instrues; } Senao {instrues;} fim_escolha; caso (1): escreva Um; caso (2): escreva Dois; senao escreva Trs; fim_escolha; vezes que o conjunto de instrues ser repetido. Para isso utiliza-se um contador, que auxiliar no loop (lao da estrutura).
Contador: varivel cujo contedo alterado pelo seu prprio valor adicionado ou subtrado de uma constante. Ex.: contador contador + 1;

Exerccios de Fixao
- Escreva um algoritmo seguintes situaes: para as

i) Dados dois nmeros fornecidos pelo usurio, fazer uma calculadora para poder som-los, subtra-los, multipliclos e dividi-los. Mostre o resultado.
Um bom aprendizado ALGORITMOS depende prtica de exerccios. em da

a) Estrutura de Repetio ENQUANTO O teste lgico realizado no incio do looping. Sendo seu resultado verdadeiro, executa-se a linha localizada logo aps a instruo enquanto. Sintaxe: { inicializao do contador } enquanto (condio) faa { instrues; } { atualizao do contador } fim_enquanto Exemplo: M 1; enquanto (M < 10) faa A B; M M + 1; fim_enquanto

Pesquisa (livros ou Internet) problemas a serem resolvidos. Compartilhe a resoluo com os colegas!

Estruturas de Repetio Quando precisa-se repetir o trecho de um algoritmo por determinado nmero de vezes, utiliza-se uma estrutura de repetio. As estruturas de repetio se dividem em ENQUANTO, REPITA, PARA. Para definir a estrutura mais adequada, devese saber o nmero de vezes que o trecho do algoritmo vai ser executado (laos contados) ou a condio para que ele acontea (laos condicionais). Quando se utiliza os laos contados, conhecido previamente o nmero de

Exerccios de Fixao
- Escreva um algoritmo seguintes situaes: para as

i) Escreva um algoritmo que apresente o total da soma obtida dos cem primeiros nmeros inteiros. ii) Escreva um algoritmo que apresente no final os resultados da soma e da mdia aritmtica dos valores pares situados na faixa numrica de 50 a 70.

26

Exerccio Resolvido
- Escreva um algoritmo que calcula a mdia de 30 alunos e informa a situao (reprovado, aprovado ou recuperao).
Inicio algoritmo ExMedia; variveis nome: caractere; nota_1, nota_2, media: real; contador: inteiro; incio media 0; contador 1; enquanto (contador<=30) faa escreva (Nome do aluno: ); leia(nome); escreva (Primeira nota: ); leia(nota_1); escreva(Segunda nota: ); leia(nota_2); media (nota_1 + nota_2)/2; se (media<=3,0) ento escreva(nome, media, Rep.); seno se(media>=6,0) ento escreva(nome, media, Apr.); seno escreva(nome, media, Rec.); fim se; fim se; contador contador + 1; fim enquanto; Fim.

b) Estrutura de Repetio REPITA O teste lgico realizado no fim do looping. Sendo assim, a linha localizada logo aps a instruo repita executada pelo menos uma vez. Sintaxe: { inicializao do contador } repita { instrues; } { atualizao do contador } ate que (condio) Exemplo: M 1; repita A M B; M + 1;

ate que (M > 10)

Exerccios de Fixao
- Escreva um algoritmo seguintes situaes: para as

i) Escreva um algoritmo que efetue o clculo do fatorial de um nmero.

27 c) Estrutura de Repetio PARA utilizada para facilitar o uso de contadores finitos, sem fazer uso das estruturas anteriores, deixando-as para utilizao de loopings em que no se conhece de antemo o nmero de vezes que uma determinada seqncia de instrues dever ser executada. Sintaxe: para variavel de inicio ate fim passo incremento faa { instrues; } fim para Exemplo: para contador de 1 ate 30 passo 1 faa leia num; soma num + 10; Escreva total; fim para

Exerccios de Fixao
- Escreva um algoritmo seguintes situaes: para as

i) Escreva um algoritmo para imprimir os nmeros de 1 (inclusive) a 10 (inclusive) em ordem crescente. ii) Escreva um algoritmo para imprimir os 10 primeiros nmeros inteiros maiores que 100.

A programao estruturada facilita a escrita, compreenso, verificao e manuteno dos programas.

28

3.4 Exerccios Propostos


Instrues: - Resolver de forma MANUSCRITO (grupos de AT 3 alunos); - Entregar em 29/09/2006 (sexta-feira) - Elaborar os algoritmos em PORTUGOL, utilizando tcnicas para a elaborao de algoritmos estruturados legveis, estruturas de controle adequadas, comentrios, indentao e teste de mesa. 1) Determine o resultado lgico das expresses mencionadas, assinalando se so verdadeiras ou falsas. Considere para as respostas os seguintes valores: X = 1, A = 3, B = 5, C = 8 e D = 7. a) NO (X > 3) d) (X >= 2) Verdadeiro ( ) Falso ( ) Verdadeiro ( ) Falso ( ) b) (X < 1) E (B > D) e) (D < 0) OU (C > 5) Verdadeiro ( ) Falso ( ) Verdadeiro ( ) Falso ( ) c) (A > B) OU (C > B) f) (A > B) NO (C > B) Verdadeiro ( ) Falso ( ) Verdadeiro ( ) Falso ( ) 2) Ler dois valores (inteiros, reais ou caracteres) para as variveis A e B, e efetuar a troca dos valores de forma que a varivel A passe a possuir o valor da varivel B e a varivel B passe a possuir o valor da varivel A. Apresentar os valores trocados. Dica: Ser necessrio a utilizao de uma varivel auxiliar (aux). 3) Faa o teste de mesa, isto , diga qual o valor armazenado em cada varivel, aps a execuo de cada um dos comandos do algoritmo. Inicio algoritmo Exercicio3; variveis Q, W, R: inteiro; Q W R E E : real; inicio 10 Q 10; 40 Q 10 + 30; -1 W -1; W W + Q; 39 Q Q mod W; 1 Q W div (Q+40); 0 E 2*Q/W; 0 R 0; 0 R R + 1; 1 R R + 1; 2 fim Fim algoritmo. Para as questes 4, 5 e 6 utilize a estrutura de controle condicional SE. 4) Uma sorveteria vende 3 tipos de picols. Sabendo-se que o picol do tipo 1 vendido por R$ 0,50, o do tipo 2 por R$ 0,60 e o do tipo 3 por R$ 0,25, faa um algoritmo que, para cada tipo de picol, mostre a quantidade vendida e o total arrecadado.

29 5) Um hotel cobra R$ 60,00 a diria e mais uma taxa de servios. A taxa de: R$ 5,50 por diria, se o nmero de dirias for maior que 15; R$ 6,00 por diria, se o nmero de dirias for igual a 15; R$ 8,00 por diria, se o nmero de dirias for menor que 15. Construa um algoritmo que mostre o nome e a conta de um cliente. 6) Escreva um algoritmo que leia trs valores para os lados de um tringulo. Verificar se realmente os lados fornecidos formam um tringulo. Indicar qual o tipo de tringulo foi formado: eqiltero, issceles ou escaleno. Tringulo: Forma geomtrica composta por trs lados, sendo que cada lado menor que a soma dos outros dois lados. ISTO UMA REGRA, OU SEJA, UMA CONDIO. tringulo quando A < B+C, B < A+C e C<A+B. Issceles: Dois lados iguais (A=B) ou (A=C) ou (B=C). Escaleno: Todos os lados diferentes (A<>B) e (B<>C). Eqiltero: Todos os lados iguais (A=B) e (B=C). Linguagem Narrativa 1 Ler trs valores para os lados de um tringulo: A, B e C; 2 Verificar se cada lado menor que a soma dos outros dois lados. Se sim, saber se (A=B) e (B=C), sendo verdade eqiltero. Se no, verificar se (A=B) ou (A=C) ou (B=C), sendo verdade o tringulo issceles. Caso contrrio, o tringulo escaleno. 3 Caso os lados fornecidos no formem um tringulo, informar. 7) Indique a sada dos trechos de algoritmo em portugus estruturado, mostrado abaixo. Para as sadas considere os seguintes valores: A = 2, B = 3, C = 5 e D = 9. Destaque as palavras reservadas e identifique os finalizadores (;). a) se NO (D > 5) ento c) se (A = 2) OU (B < 7) ento X (A + B) * D X (A + 2) * (B 2) seno X (A B) / C fim_se escreva X Resultado: ________________________ b) se (A > 2) E (B < 7) ento X (A + 2) * (B 2) senao X (A + B) / D * (C + D) fim_se escreva X Resultado: ________________________ seno X (A + B) / D * (C + D) fim_se escreva X Resultado: ________________________ d) se NO (A > 3) E NO (B < 7) ento X A+B seno X A/B fim_se escreva X Resultado: ________________________

30 e) se (C >= 2) E (B <= 7) ento X (A + D) / 2 seno X D*C fim_se escreva X Resultado: ________________________ f) se (A >= 2) OU (C <=1) entao X (A + D) / 2 seno X D*C fim_se escreva X Resultado: ________________________

Para as questes 8 e 9 utilize a estrutura de repetio ENQUANTO. 8) Escreva um algoritmo que apresente no final o somatrio dos valores pares existentes na faixa de 1 at 150. 9) Escreva um algoritmo que efetue a leitura de 20 valores numricos e apresente no final o total do somatrio e a mdia dos valores lidos. 10) Refaa as questes 8 e 9 utilizando a estrutura de repetio REPITA. Para as questes 11 e 12 utilize a estrutura de repetio PARA. 11) Escreva um algoritmo que escreva todos os nmeros mltiplos de 7 entre 1 e 100. Por exemplo: 7, 14, 21, 28, ... 12) Escreva um algoritmo para imprimir os nmeros de 1 (inclusive) a 10 (inclusive) em ordem decrescente. Dica: utilize PASSO -1.

LISTA DE ALGORITMOS Instrues: - Resolver de forma MANUSCRITO (grupos de AT 3 alunos); - Entregar em 29/09/2006 (sexta-feira) - Elaborar os algoritmos em PORTUGOL, utilizando tcnicas para a elaborao de algoritmos estruturados legveis, estruturas de controle adequadas, comentrios, indentao e teste de mesa. SEQNCIA SIMPLES 1) Escreva um algoritmo que leia dois valores, efetue a soma e informe o resultado. 2) Escreva um algoritmo que efetue a troca de contedo entre duas variveis. Exemplo: Sendo informado, A = 1 e B = 2, a sada ser A = 2 e B = 1. DESVIO CONDICIONAL SIMPLES (SE .. FIMSE) 3) Escreva um algoritmo que leia dois valores numricos, efetue a soma e apresente o resultado caso o valor somado seja maior que 10. 4) Escreva um algoritmo que leia dois nmeros, efetue a subtrao e informe se o resultado foi negativo. DESVIO CONDICIONAL COMPOSTO (SE .. SENAO .. FIMSE) 5) Escreva um algoritmo que efetue a multiplicao entre dois nmeros, e informe se o resultado ou no, mltiplo de 7. 6) Escreva um algoritmo que leia dois valores numricos e some-os. Caso o valor seja maior ou igual a 10, dever ser apresentado somando a ele mais 5; caso o valor no seja maior ou igual a 10, este dever ser apresentado subtraindo 7. 7) Escreva um algoritmo que leia dois valores numricos inteiros e apresente o resultado da diferena do maior pelo menor valor. DESVIO CONDICIONAL ENCADEADO 8) Escreva um algoritmo onde seja informado um nmero inteiro. Considere que este nmero deve estar na faixa numrica de 10 a 20. Aps a leitura, o algoritmo deve informar se O valor est na faixa permitida, O valor est acima da faixa permitida ou O valor est abaixo da faixa permitida. ESTRUTURA DE REPETIO ENQUANTO 9) Escreva um algoritmo que apresente no final o somatrio dos valores pares existentes na faixa de 1 at 500. 10) Escreva um algoritmo que efetue a leitura de 10 valores numricos e apresente no final o total do somatrio e a mdia dos valores lidos. 11) Escreva um algoritmo para somar e contar, separadamente, os nmeros pares e mpares de 20 nmeros inteiros introduzidos pelo usurio. ESTRUTURA DE REPETIO REPITA (REPITA .. ATEQUE) 12) Refaa os exerccios 10, 11 e 12 utilizando o REPITA.

S-ar putea să vă placă și