Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

s
é
r
ie
 liv
ro
s
 d
id
á
tic
o
s
 in
fo
r
m
á
tic
a
 u
fr
g
s
23
s é r i e l i v r o s d i d á t i c o s i n f o r m á t i c a u f r g s
volume 3 Linguagens Formais e Autômatos, 6.ed., 
de Paulo Blauth Menezes
volume 4 Projeto de Banco de Dados, 6.ed., 
de Carlos Alberto Heuser 
volume 5 Teoria da Computação: Máquinas Universais 
e Computabilidade, 3.ed, de Tiarajú Asmuz Diverio 
e Paulo Blauth Menezes
volume 6 Arquitetura de Computadores Pessoais, 
2.ed., de Raul Fernando Weber
volume 7 Concepção de Circuitos Integrados, 2.ed., 
de Ricardo Augusto da Luz Reis e cols.
volume 8 Fundamentos de Arquitetura de Computadores, 
4.ed., de Raul Fernando Weber
volume 10 Tabelas: Organização e Pesquisa, 
de Clesio Saraiva dos Santos e Paulo Alberto de Azeredo 
volume 11 Sistemas Operacionais, 4.ed., 
de Rômulo Silva de Oliveira, Alexandre da Silva Carissimi 
e Simão Sirineo Toscani 
volume 12 Teoria das Categorias para Ciência 
da Computação, 2.ed., de Paulo Blauth Menezes 
e Edward Hermann Haeusler
volume 13 Complexidade de Algoritmos, 3.ed., 
de Laira Vieira Toscani e Paulo A. S. Veloso 
volume 16 Matemática Discreta para Computação 
e Informática, 4.ed., de Paulo Blauth Menezes
volume 18 Estruturas de Dados, de Nina Edelweiss 
e Renata Galante
volume 19 Aprendendo Matemática Discreta com 
Exercícios, de Paulo Blauth Menezes, Laira Vieira Toscani 
e Javier García López
volume 20 Redes de Computadores, 
de Alexandre da Silva Carissimi, Juergen Rochol 
e Lisandro Zambenedetti Granville
volume 21 Introdução à Abstração de Dados, 
de Daltro José Nunes
volume 22 Comunicação de Dados, de Juergen Rochol
COMPUTAÇÃO
www.grupoa.com.br
A Bookman é um dos selos editoriais do Grupo A Educação, empresa que 
oferece soluções em conteúdo, tecnologia e serviços para a educação 
acadêmica e profissional.
algoritmos
e programação 
com exemplos em Pascal e C
nina edelweiss
maria aparecida castro livi
Material didático para professores
Visite www.grupoa.com.br
nina edelweiss
maria aparecida castro livi
 l i v r o s d i s p o n í v e i s
algoritm
os e program
ação
com
 exem
plos em
 P
ascal e C
23
edelw
eiss
livi
23
algoritmos
e programação 
com exemplos em Pascal e C
Aprender programação não é uma tarefa simples. 
Requer um entendimento perfeito do problema, a análise 
de como solucioná-lo e a escolha da forma de implementação 
da solução. algoritmos e programação apresenta 
o processo de construção de algoritmos e de programas, 
enfatizando as etapas de abstração, organização, análise 
e crítica na busca de soluções eficientes. Os elementos 
de um programa são introduzidos pouco a pouco ao longo 
do texto, inicialmente apresentados em pseudolinguagem e, 
em seguida, exemplificados nas linguagens de programação 
Pascal e C. Este é um livro-texto para disciplinas iniciais 
de programação de duração de um semestre. Pode ser 
utilizado sobretudo em cursos de bacharelado e licenciatura 
em ciência da computação, análise de sistemas e engenharia 
da computação. 
E22a Edelweiss, Nina.
 Algoritmos e programação com exemplos em Pascal e C 
 [recurso eletrônico] / Nina Edelweiss, Maria Aparecida Castro 
 Livi. – Dados eletrônicos. – Porto Alegre : Bookman, 2014.
 Editado também como livro impresso em 2014.
 ISBN 978-85-8260-190-7
 1. Informática. 2. Algoritmos – Programação. I. Livi, 
 Maria Aparecida Castro. II. Título. 
CDU 004.421
 as autoras
Nina Edelweiss é engenheira eletricista e doutora em Ciência da Computação pela Uni-
versidade Federal do Rio Grande do Sul. Durante muitos anos, lecionou em cursos de Enge-
nharia e de Ciência da Computação na UFRGS, na UFSC e na PUCRS. Foi, ainda, orientadora 
do Programa de Pós-Graduação em Ciência da Computação da UFRGS. É coautora de três 
livros, tendo publicado diversos artigos em periódicos e em anais de congressos nacionais 
e internacionais. Participou de diversos projetos de pesquisa financiados por agências de 
fomento como CNPq e FAPERGS, desenvolvendo pesquisas nas áreas de bancos de dados e 
desenvolvimento de software.
Maria Aparecida Castro Livi é licenciada e bacharel em Letras, e mestre em Ciência da 
Computação pela Universidade Federal do Rio Grande do Sul. Desenvolveu sua carreira pro-
fissional na UFRGS, onde foi programadora e analista de sistema, antes de ingressar na 
carreira docente. Ministrou por vários anos a disciplina de Algoritmos e Programação para 
alunos dos cursos de Engenharia da Computação e Ciência da Computação. Sua área de 
interesse prioritário é o ensino de Linguagens de Programação, tanto de forma presencial 
quanto a distância.
Catalogação na publicação: Ana Paula M. Magnus – CRB 10/2052
Edelweiss_Iniciais_eletronica.indd iiEdelweiss_Iniciais_eletronica.indd ii 14/05/14 16:5114/05/14 16:51
■ ■ Neste capítulo, 
são apresentados os comandos de 
seleção simples, 
dupla e múltipla. São analisadas, 
ainda, as possibilidades 
de aninhamento de comandos e 
o conceito de comando 
composto.
estruturas condicionais 
capítulo 4
e de seleção
Edelweiss_04.indd 89Edelweiss_04.indd 89 12/03/14 09:0312/03/14 09:03
90 Algoritmos e Programação com Exemplos em Pascal e C
Os algoritmos que solucionam os problemas apresentados até o momento são puramente 
sequenciais: todas as instruções são executadas na ordem em que foram definidas, uma após 
a outra, sem exceção. Este capítulo introduz uma nova classe de problemas, na qual uma ou 
mais ações podem ou não ser executadas, dependendo da avaliação prévia de condições. Para 
resolver esses problemas são apresentados três novos comandos que possibilitam a alteração 
do fluxo sequencial de execução de um programa.
No capítulo anterior, foi resolvido o problema do cálculo da média aritmética de três notas 
de um aluno em uma disciplina. Estendendo essa aplicação, o professor que utiliza esse pro-
grama quer que, além da média das notas obtidas na disciplina, seja informado se o aluno 
foi aprovado (no caso de sua média ser igual ou superior a 6). Essa informação não pode ser 
obtida somente com o conjunto de comandos do Capítulo 3, uma vez que requer a análise 
de uma condição e a execução de uma ação somente se a condição analisada for verdadeira.
Outra possibilidade é fornecer não apenas a informação de aprovação, mas também a de 
reprovação. Nesse caso, também condicionada ao conteúdo da média calculada, ocorre a 
execução de apenas uma de duas ações mutuamente exclusivas: se a média for maior ou igual 
a 6, o programa informa que o aluno foi aprovado; caso contrário, se a média for inferior a 6, 
informa que o aluno foi reprovado.
Seguindo adiante nesse raciocínio, pode-se escrever um trecho de programa em que, depen-
dendo da média obtida, também é informado o conceito correspondente à média calculada. 
Aqui, diferentes faixas de valor de uma mesma informação desencadeiam ações diferentes, 
também mutuamente exclusivas, isto é, a execução de uma ou mais instruções específicas 
está associada ao valor da informação.
Os comandos que solucionam esses problemas são apresentados neste capítulo.
4.1 comando de seleção simples
Um comando de seleção simples, também chamado de comando condicional, permite 
que a execução de um trecho do programa dependa do fato de uma condição ser verdadeira, 
isto é, vincula a execução de um ou mais comandos ao resultado obtido na avaliação de uma 
expressão lógica (também denominada expressão condicional). O comando de seleção sim-
ples é sempre composto por uma condição e um comando. A condição é expressa por uma 
expressão lógica, cuja avaliação produz um resultado verdadeiro ou falso. A sintaxe de um 
comando de seleção simples é:
se 
então 
Observe que o comando somente é executado se o resultado da expressão lógica for verda-
deiro; se o resultado for falso, nada é executado.
Por meio do comando de seleção simples pode-se, por exemplo, condicionar a exibição da infor-
mação de que um aluno foi aprovado somentepara o caso de sua média ser igual ou superior a 6:
Edelweiss_04.indd 90Edelweiss_04.indd 90 12/03/14 09:0312/03/14 09:03
Capítulo 4 Estruturas Condicionais e de Seleção 91
se média ≥ 6
então escrever('Aprovado')
A execução do comando escrever ocorre apenas quando a condição for verdadeira, ou seja, 
quando o conteúdo da média for igual ou superior a 6. Nada é executado se a média for 
inferior a 6.
A Figura 4.1 representa o fluxograma de um comando de seleção simples. Um novo tipo de 
bloco, com formato de losango, é utilizado para representar a realização de um teste, escre-
vendo-se dentro desse bloco a expressão lógica a ser avaliada. Esse bloco tem duas saídas, 
uma para o caso da expressão ser avaliada como verdadeira, e outra para quando o resultado 
da avaliação da expressão for falso. As informações que correspondem a cada saída devem 
estar claramente identificadas. O fluxograma mostra com clareza que nada é executado no 
caso do resultado da avaliação da expressão ser falso.
verdadeiro
falso
figura 4.1 Fluxograma de um comando de seleção simples.
O algoritmo a seguir informa, além da média de um aluno, se ele foi aprovado:
Algoritmo 4.1 – Média2
{INFORMA A MÉDIA DAS 3 NOTAS DE UM ALUNO E SE ELE FOI APROVADO}
 Entradas: nota1, nota2, nota3 (real)
 Saídas: média (real)
 {Informação de aprovado}
início
 ler (nota1, nota2, nota3) {ENTRADA DAS 3 NOTAS}
 média ←(nota1 + nota2 + nota3)/3
 escrever (média) {INFORMA MÉDIA CALCULADA}
 se média ≥ 6
 então escrever('Aprovado') {INFORMA SE ALUNO FOI APROVADO}
fim
Edelweiss_04.indd 91Edelweiss_04.indd 91 12/03/14 09:0312/03/14 09:03
92 Algoritmos e Programação com Exemplos em Pascal e C
A Figura 4.2 apresenta o fluxograma relativo a esse algoritmo.
ENTRADA
nota1, nota2, nota3
SAÍDA 
média
início
fim
( nota1 + nota2 + nota3 )
média
3
média 6
falso
verdadeiro
SAÍDA
‘Aprovado’ 
figura 4.2 Fluxograma de um exemplo com comando de seleção simples.
4.2 comando composto
Na sintaxe do comando de seleção simples nota-se que somente um comando pode ser exe-
cutado caso a condição seja verdadeira. Mas o que fazer quando se quer executar vários co-
mandos condicionados à avaliação de uma mesma expressão lógica? Por exemplo, supondo 
que, na aplicação anterior, se queira saber a média somente no caso das três notas lidas serem 
iguais ou superiores a 6, então a média deve ser calculada e informada somente se a condição 
for verdadeira.
Para que isso seja possível, é necessário que dois comandos, o de cálculo da média e o de 
saída dessa média, sejam executados quando a condição for verdadeira. Como a sintaxe do 
comando de seleção simples exige a execução de um único comando, faz-se necessária a de-
finição de um novo tipo de comando, denominado comando composto.
Na pseudolinguagem aqui utilizada, um comando composto é delimitado pelas palavras re-
servadas início e fim. Sintaticamente, trata-se de um único comando. Quaisquer comandos 
podem ser incluídos dentro de um comando composto. Algumas linguagens de programação 
permitem, inclusive, a definição de novas variáveis dentro de um comando composto, as 
quais são alocadas na memória apenas no momento em que inicia a execução desse coman-
Edelweiss_04.indd 92Edelweiss_04.indd 92 12/03/14 09:0312/03/14 09:03
Capítulo 4 Estruturas Condicionais e de Seleção 93
do e são liberadas no término da execução do comando. Contudo, essa possibilidade não será 
considerada neste livro.
O problema proposto no início desta seção pode ser resolvido com a utilização desse novo 
recurso, conforme mostrado no Algoritmo Média3:
Algoritmo 4.2 – Média3
{INFORMA MÉDIA DO ALUNO SOMENTE SE SUAS 3 NOTAS FOREM IGUAIS OU SUPE-
RIORES A 6}
 Entradas: nota1, nota2, nota3 (real)
 Saídas: média (real)
 {Informação de aprovado}
início
 ler (nota1, nota2, nota3) {ENTRADA DAS 3 NOTAS}
 se (nota1 ≥ 6) e (nota2 ≥ 6) e (nota3 ≥ 6)
 então início {COMANDO COMPOSTO}
 média ← (nota1 + nota2 + nota3) / 3 {CALCULA MÉDIA}
 escrever (média) {INFORMA MÉDIA}
 fim
fim
O fluxograma desse algoritmo, apresentado na Figura 4.3, mostra com clareza que o conjunto 
de comandos pode não ser executado, dependendo do resultado da condição.
ENTRADA
nota1, nota2, nota3 
início
nota1 6 e nota2 6
e nota3 6 
falso
verdadeiro
( nota1 + nota2 + nota3 )
média
3
SAÍDA
média
fim
figura 4.3 Fluxograma de comando de seleção simples com comando composto.
Edelweiss_04.indd 93Edelweiss_04.indd 93 12/03/14 09:0312/03/14 09:03
Encerra aqui o trecho do livro disponibilizado para 
esta Unidade de Aprendizagem. Na Biblioteca Virtual 
da Instituição, você encontra a obra na íntegra.

Mais conteúdos dessa disciplina