Buscar

Apostila Algoritmos parte 6

Prévia do material em texto

1 
 
 
Instituto Federal do Triângulo Mineiro Curso de Licenciatura em Computação – EaD 
Disciplina de Algoritmos Prof. Ernani Cláudio Borges 
Estudos para as atividade da DÉCIMA semana - PARTE 6 
 
Observações importantes: 
a) Esta atividade irá fazer a introdução aos conceitos: 
• Estrutura REPETIÇÃO PARA. 
 
b) Em caso de dúvidas, entre em contato com seu TUTOR A DISTÂNCIA. 
 
Tranquilidade, firmeza, objetividade e BONS ESTUDOS! 
 
 
Nome do aluno(a): __________________________________________________________ Data: ____/_____/_____ 
Matrícula (RA): __________________________ ____________________________________ 
Nome do POLO: _____________________________________________________________ 
 
 
 
 
1 ESTRUTURA DE REPETIÇÃO – “Para” 
 
Antes e lhe apresentar a nova estrutura, vamos recordar os conceitos da 
estrutura de repetição “enquanto”. Você lembra? 
Vejamos ... 
 
Fique de olho! 
A estrutura de repetição “ENQUANTO”, irá executar os comandos existentes 
dentro do “laço” pelo tempo que satisfazer à condição da pergunta que abriu o bloco 
“enquanto”, ou seja, “enquanto a condição for verdadeira” irá entrar no bloco e 
executar seus comandos internos. 
Analise o exemplo abaixo: 
 
 cont � 1 
 equanto cont <= 5 faça 
 mostre (cont, ‘ ‘) 
 cont � cont + 1 
 fimenquanto 
 
Veja que o valor inicial (ou conteúdo) de cont é igual a 1. 
Quando chegamos na próxima linha: “enquanto cont <= 5”, lemos a pergunta 
e analisamos qual o conteúdo da variável cont ... e temos uma resposta 
“verdadeira”, e assim, entramos no laço e executamos os comandos “mostre” e a 
2 
 
atribuição “cont ���� cont + 1”, o qual irá receber o valor 2, o fimenquato retorna a 
pergunta com o valor atual de cont igual a 2 ... entramos no laço novamente e 
executamos os comandos mostre e cont mais 1 ... esses passos irão se repetir até 
que o conteúdo de cont seja maior que 5 e sair para a primeira linha abaixo do 
fimenquanto. 
 
Relembrou?? 
 
 
Bom, após Você ter “ficado de Olho!”, vamos apresentar-lhe a estrutura de 
repetição “REPITA”. 
 
Vamos lá! 
 
1.1 A Estrutura PARA 
 
A diferença entre as duas estruturas: “enquanto” e “para”, é que a primeira 
(enquanto) verifica se é possível entrar no laço, ou seja, caso a condição seja 
verdadeira, poderá a entrada no laço (ou também chamado de bloco de repetição) e 
executar os comandos internos. Além disso, esta estrutura possibilita, na abertura do 
bloco (laço) formular “condições” com tratamento por: números, caracteres e ou 
valor lógico (verdadeiro ou falso). Por exemplo, podemos ter as seguintes 
possibilidades: 
 
Exemplos de abertura bloco “enquanto” - revisão 
 
a) Para mostrar os números de 1 a 5 podemos ter abertura (condição) do 
enquanto da forma abaixo: 
 cont � 1 
 equanto cont <= 5 faça 
 mostre (cont, ‘ ‘) 
 cont � cont + 1 //incremento de +1 até atender a condição 
 fimenquanto 
 
b) Mostrar os números maiores que zero, e para “parar” a sequencia, 
receber uma resposta “sim” para continuar mostrando os números ou 
“não” para sair: 
 cont � 1 
3 
 
 resp � ‘sim’ 
 equanto resp = ‘sim’ faça 
 mostre (cont, ‘ ‘) 
 cont � cont + 1 
 mostre (‘deseja ver o próximo número (sim ou não): ‘) 
 leia (resp) 
 fimenquanto 
 
 
 
Já a condição de entrada da estrutura “PARA”, só pode trabalhar com número 
e contem três parâmetros para formar sua estrutura de abertura do bloco: 
a) o valor inicial; 
b) a condição de parada; e, 
c) qual a variação (incremento ou decremento) para atender a condição de 
parada. 
 
Vamos conhecer a estrutura “PARA”: 
 
1.2 Em foco: Vamos analisar a estrutura PARA? 
 
 
 Para var de x até valor final passo y faça 
 ação 1 
 ação 2 
 . 
 . 
 . 
 fim-para 
 
 
Observe que as palavras: 
• “para” �abre o bloco de repetição, 
• “var” � representa a variável que tem um valor inicial; 
• “valor final” � verifica se o valor inicial é menor ou igual ao valor final; e, 
• “passo” � representa qual a variação do valor, ou seja, de 1 em 1, ou 2 
em 2, ou 5 em 5 ... enfim ... vai depender do problema. 
 
4 
 
Fique de olho! 
Atenção para a característica do “passo”, pois, algumas linguagens de 
programação é permitida. 
 
 
 
1.3 Exemplo 1 – sequencia de números de 1 até 15. 
Para começarmos os primeiros testes, vamos criar um algoritmo que 
possibilite mostrar os número de 1 até 15, variando de 1 em 1. 
 
 
 
1.3.1 Visão central do problema 
 
 
Analisando o problema vamos precisar de quantas variáveis? 
Como você deve ter percebido, precisamos SOMENTE de uma 
variável para mostrar os números, começando por 1 e variar de 1 em1. 
 
Assim, vamos executar os seguintes passos: 
1) criar a variável x do tipo inteiro; 
2) criar a estrutura de repetição e mostrar o valor de x a cada 
execução e variando o conteúdo de x com mais 1. 
4) finalizar o algoritmo 
 
 
 
1.3.2 Visão panorâmica da resolução do problema 
 
/* 
 Cabeçalho: Algoritmo para mostrar a seqüência de 1 a 15 variando de 1 em 1. 
 Nome do Programador: Ernani Cláudio Borges 
 Data: 10/11/2013 
 */ 
5 
 
 
/* nome do algoritmo */ 
algoritmo sequencia1a 15 
 
/* bloco para criar e determinar os tipos de variáveis */ 
var 
 x : inteiro 
 
/* bloco do código principal */ 
inicio 
 
 // inicializar variáveis 
 x � 1 
 
 // corpo do algoritmo 
 
 
 
 
 Para x de 1 ate 15 passo 1 faça 
 mostre (x) 
 x � x + 1 
 fim-para 
 mostre (“acabou !”) 
 pausa 
fim. 
 
 
Vamos analisar! 
 
Fique de olho! 
Em análise do bloco de repetição “PARA” da “visão panorâmica 1.3.2”, vale 
uma reflexão de como sua execução ocorrerá: 
 
para x de 1 ate 15 passo 1 faça 
 mostre (x) 
fim-para 
 
A simulação (teste de mesa) deste bloco terá o seguinte raciocínio: 
• a variável x tem valor inicial igual a 1, entramos no bloco “para”, mostramos 
seu conteúdo na tela; 
• logo em seguida, no “fim-para”, automaticamente irá fazer o “INCREMENTO” 
a variável x de forma que irá receber o valor que ela tem mais 1, ou seja, 
recebe o valor 2; 
• retornamos, assim, ao início do “para”, o compilador irá verificar se o valor de x 
ainda é menor ou igual ao valor final, que em nosso exemplo é igual a 15; 
• E ASSIM POR DIANTE. 
 
6 
 
Você compreendeu? 
 
Só vamos finalizar e sair de dentro do laço “para” quando o valor de x for 
maior que 15, pois, desta forma irá satisfazer à condição. 
 
 
 
1.4 Exemplo 2 – seqüência de números de 1 até n variando de 1 em 1. 
Vamos a mais exemplos ... Vamos lá! 
 
Exemplo: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , ... , n 
 
1.4.1 Visão central do problema 
 
 
Para resolver o problema de mostrar todos os números inteiro de 1 
até “n” vamos precisar um uma variável para contar de 1 até n variando 
de 1 em 1, e uma outra variável que irá representar o valor final “n” da 
seqüência, a qual será fornecida pelo usuário. 
 
Deste modo, executaremos os seguintes passos: 
1) criar as variáveis x e n do tipo inteiro; 
2) inicializar a variável x com 1 e n com 0; 
3) receber o valor de n via teclado; 
4) validar de forma corretiva para que o valor de n seja maior que 
zero; 
4) criar a estrutura de repetição e mostrar o valor de x e a cada 
execução variar o conteúdo de x com mais 1 até que o x seja 
maior que n. 
5) finalizar o algoritmo 
 
 
 
7 
 
1.4.2 Visão panorâmica da resolução do problema 
 
/* 
 Cabeçalho: Algoritmo para mostrar a seqüência de 1 a n. 
 Nome do Programador: Ernani Cláudio Borges 
 Data: 10/11/2013 
 */ 
/* nome do algoritmo */ 
algoritmo sequencia_de_1_a_n 
 
/* bloco para criar e determinar os tipos de variáveis */ 
var 
 x, n : inteiro 
 
/* bloco do código principal */ 
inicio 
 
 // inicializar variáveis 
 x � 1 
 n � 0 
 /* corpo do algoritmo */ 
 mostre (“digite o valor limite para n: ”) 
 leia (n) 
 enquanto n <= 0 faça 
 mostre (‘número inválido ...digite um número positivo: ’) 
 leia(n) 
 fim-enquanto 
 para xde 1 até n passo 1 faça 
 mostre (x) 
 fim-para 
 mostre (“acabou !”) 
 pausa 
fim. 
 
 
1.5 Exemplo 3 – números de 1 a 100 variando de 5 em 5 
Vamos criar um algoritmo processe e mostre os número de 1 a 100, variando 
de 5 em 5 
Acompanhe a visão central e vamos criar o algoritmo. 
 
1.5.1 Visão central do problema 
 
 
Bom, vamos interpretar o problema: 
8 
 
 
Precisamos de uma variável, a qual irá receber 1 inicialmente, 
vamos mostrá-la no vídeo, e logo a seguir variar seu conteúdo em mais 
cinco, ou seja, vamos mostrar: 1, 6, 11, 16, 21, ..., 96. 
 
Analise os passos do algoritmo: 
1) criar a variável x do tipo inteiro; 
2) inicializar a variável x com 1; 
3) abrir o laço: para x de 1 ate 100 passo 5 faça 
 3.1) mostrar o conteúdo de x; 
5) pausar e finalizar o algoritmo. 
 
 
 
1.5.2 Visão panorâmica da resolução do problema 
 
/* 
 Cabeçalho: Algoritmo para mostrar os número de 1 a 100 variando de 5 em 5. 
 Nome do Programador: Ernani Cláudio Borges 
 Data: 10/11/2013 
 */ 
/* nome do algoritmo */ 
algoritmo números_1_a_100 
 
/* bloco para criar e determinar os tipos de variáveis */ 
var 
 x : inteiro 
 
/* bloco do código principal */ 
inicio 
 
 // inicializar variáveis 
 x � 1 
 
 // corpo do algoritmo 
 
 para x de 1 ate 100 passo 5 faça 
 mostre (x) 
 fim-para 
 mostre (“acabou !”) 
 pausa 
fim. 
 
 
9 
 
 
1.6 Exemplo 4 – fatorial de um número. 
Vamos criar um algoritmo que receba, processe e mostre o valor do fatorial 
deste número. 
 
Fique de olho! 
Sabemos que o fatorial de um número na matemática é a soma de todos os 
números inteiro de seu intervalo, começando pelo número até 
Veja, o fatorial de 5 é igual a 120, ou seja, 1 * 2 * 3 * 4 * 5 = 120 
 
 
1.6.1 Visão central do problema 
 
 
Bom, vamos interpretar o problema: 
 
Receber um número positivo via teclado, vamos validar 
corretivamente para que esse número seja positivo, e vamos criar um 
laço para efetuar o cálculo do fatorial deste número. 
 
Analise os passos do algoritmo: 
1) criar as variáveis cont, n, fat do tipo inteiro; 
2) inicializar a variável cont, fat com 1 e n com 0; 
3) receber o número positivo via teclado; 
 3.1) receber o número (leia (n)); 
 3.2) validar o número para seja positivo (maior que zero); 
5) calcular o fatorial; 
5) mostrar o resultado do cálculo; 
5) pausar e finalizar o algoritmo. 
 
 
 
10 
 
1.6.2 Visão panorâmica da resolução do problema 
 
/* 
 Cabeçalho: Algoritmo para mostrar o número fatorial de um número 
 Nome do Programador: Ernani Cláudio Borges 
 Data: 10/11/2013 
 */ 
/* nome do algoritmo */ 
algoritmo fatorial 
 
/* bloco para criar e determinar os tipos de variáveis */ 
var 
 cont, n, fat : inteiro 
 
/* bloco do código principal */ 
inicio 
 
 // inicializar variáveis 
 cont � 1 
 n � 0 
 fat � 1 
 
 // corpo do algoritmo 
 
 repita 
 mostre (“digite o um número: ”) 
 leia (n) 
 // Validação para o número ser positivo 
 se (n <= 0) faca 
 mostre (“número invalido ... digite outro número positivo: ”) 
 leia (n) 
 fimse 
 ate-que n > 0 
 // Laço para o cálculo do fatorial 
 para cont de 1 ate n passo 1 faça 
 Fat � fat * cont 
 fim-para 
 mostre (‘o valor do fatorial = ‘, fat) 
 mostre (“acabou !”) 
 pausa 
fim. 
 
 
 
Fique de olho! 
Observe na resolução do algoritmo acima fizemos a validação corretiva 
utilizando a estrutura de repetição “REPITA”. Desta forma, estou demonstrando que 
é você quem decide qual estrutura de repetição utilizar e quando utilizar. 
 
11 
 
 
 
1.6.3 Visão central do problema – outra forma de executar o mesmo algoritmo 
do fatorial 
 
 
Vamos refazer o algoritmo do fatorial utilizando estruturas de 
repetição diferentes das que forma utilizadas na resolução anterior. 
Vejamos: 
 
 
1.6.4 Visão panorâmica da resolução do problema – parte 2 
 
/* Cabeçalho: Algoritmo para mostrar o número fatorial de um número – parte 2 
 Nome do Programador: Ernani Cláudio Borges 
 Data: 10/11/2013 
nome do algoritmo */ 
algoritmo fatorial 
 
/* bloco para criar e determinar os tipos de variáveis */ 
var 
 cont, n, fat : inteiro 
 
/* bloco do código principal */ 
inicio 
 
 // inicializar variáveis 
 cont � 1 
 n � 0 
 fat � 1 
 
 // corpo do algoritmo 
 
 mostre (“digite o um número: ”) 
 leia (n) 
 // Validação para o número ser positivo 
 enquanto (n <= 0) faca 
 mostre (“número invalido ... digite outro número positivo: ”) 
 leia (n) 
 fim-enquanto 
 // Laço para o cálculo do fatorial 
 enquanto cont <= n faça 
 fat � fat * cont 
 cont � cont +1 
 fim-enquanto 
 mostre (‘o valor do fatorial = ‘, fat) 
12 
 
 mostre (“acabou !”) 
 pausa 
fim. 
 
 
 
1.7 Exemplo 5 – Somatória da sequencia 1 
Elabore um algoritmo que processe e apresente o valor de S correspondente 
a série abaixo : 
50
99
...
6
11
5
9
4
7
3
5
2
3
1
1
+++++++=S 
 
 
Vamos a visão central! 
 
1.7.1 Visão central do problema 
 
 
Observando a sequência, podemos verificar que temo um 
numerador 1 sendo divido por um denominador 1, o resultado da 
divisão é guardado em S, logo a seguir temo outro numerador 3 sendo 
divido por outro denominador 2 o resultado é acumulado com o 
conteúdo de S ... e assim por diante. 
Observa-se ainda que no numerador está variando de 2 4em 2 (1, 
3, 5, ..., 99 ) e o denominador variando de 1 em 1 (1, 2, 3, 4, ... 50). 
Criaremos, então vamos criar três variáveis: S, num, den ... pois já 
temos a condição de parada para o laço de repetição ... Sabe qual é? 
Escolhi colocar o “para” den de 1 até 50 passo 1. O que acha? 
 
Analise os passos do algoritmo: 
1) criar a variável S do tipo real; 
2) criar num, den do tipo inteiro; 
3) inicializar a variável s com 0, num e den com 1; 
5) calcular a sequencia; 
13 
 
5) mostrar o resultado do cálculo; 
5) pausar e finalizar o algoritmo. 
 
 
1.7.2 Visão panorâmica da resolução do problema 
 
/* Cabeçalho: Algoritmo para mostrar a somatória 
 Nome do Programador: Ernani Cláudio Borges 
 Data:10/11/2013 
nome do algoritmo */ 
algoritmo somatorio1 
 
/* bloco para criar e determinar os tipos de variáveis */ 
var 
 num, den : inteiro 
 s : real 
 
/* bloco do código principal */ 
inicio 
 
 // inicializar variáveis 
 s � 0 
 num � 1 
 den � 1 
 
 // cálculo da sequencia somatoria 
 para den de 1 ate 50 passo 1 faça 
 s � s + (num / den) 
 num � num + 2 
 den � den + 1 
 fim-para 
 mostre (‘valor da soma = ‘, s) 
 pausa 
fim. 
 
 
 
1.8 Exemplo 6 – Somatória da sequencia 2 
Elabore um algoritmo que processe e apresente o valor de S correspondente 
aos 20 primeiro “termos” da série abaixo : 
...
30
985
25
988
20
991
15
994
10
997
5
1000
++++++=S 
 
Vamos a visão central! 
14 
 
 
1.8.1 Visão central do problema 
 
 
Observando a sequência, podemos verificar que temo um 
numerador 1000 sendo divido por um denominador 5, o resultado da 
divisão é guardado em S, o qual, inicialmente tem conteúdo 0 (zero), 
logo a seguir temo outro numerador 997 sendo divido por outro 
denominador 10 o resultado é acumulado com o conteúdo de S ... e 
assim por diante. 
Observa-se ainda que no numerador está variando de 3 em 3 
(1000, 997, 994, 991, ...) e o denominador variando de 5 em 5 (5, 10, 
15, 20, ...). 
Criaremos, então vamos criar três variáveis: S, num, den ... pois já 
temos a condição de parada para o laço de repetição ... Sabe qual é? 
Podemos escolher a estrutura “para” cont de 1 até 20 passo 1. O que 
acha? Pois, o problema pediu o somatórios dos 20 primeiros termos. 
 
Analise os passos do algoritmo: 
1) criar a variável S do tipo real; 
2) criar num, den, cont do tipo inteiro; 
3) inicializar a variável s com 0, cont com 1, num com 1000 e den com 
5; 
5) calcular a sequencia; 
5) mostrar o resultado do cálculo; 
5) pausar e finalizar o algoritmo.1.8.2 Visão panorâmica da resolução do problema 
 
/* Cabeçalho: Algoritmo para mostrar a somatória 
 Nome do Programador: Ernani Cláudio Borges 
 Data:10/11/2013 
nome do algoritmo */ 
algoritmo somatória2 
15 
 
 
/* bloco para criar e determinar os tipos de variáveis */ 
var 
 num, den : inteiro 
 s : real 
 
/* bloco do código principal */ 
inicio 
 
 // inicializar variáveis 
 s � 0 
 num � 1000 
 den � 5 
 cont � 1 
 
 // cálculo da sequencia somatoria 
 para cont de 1 ate 20 passo 1 faça 
 s � s + (num / den) 
 num � num -3 
 den � den + 5 
 fim-para 
 mostre (‘valor da soma = ‘, s) 
 pausa 
fim. 
 
 
 
1.9 Exemplo 7 – Somatória da sequencia 3 
Elabore um algoritmo que processe e apresente o valor de S correspondente 
aos 20 primeiro “termos” da série abaixo : 
50654321
2...222222 +++++++=S 
 
Vamos a visão central! 
 
1.9.1 Visão central do problema 
 
 
Veja bem ... 
Observamos o expoente está variando de 1 em 1 até chegar em 
cinquenta. 
Analisando como fazer o cálculo da exponenciação teremos, como 
por exemplo 25 ... ou seja, 2 * 2 * 2 * 2 * 2 = 32 ... desta forma podemos 
16 
 
criar uma estrutura de repetição para o cálculo da exponenciação. 
Criaremos, então vamos criar três variáveis: S, cont, res, expo. 
 
Analise os passos do algoritmo: 
1) criar a variável S do tipo real; 
2) criar cont, res, expo do tipo inteiro; 
3) inicializar a variável s com 0, cont, res e expo com 1; 
5) calcular a sequencia; 
5) mostrar o resultado do cálculo; 
5) pausar e finalizar o algoritmo. 
 
 
1.9.2 Visão panorâmica da resolução do problema 
 
/* Cabeçalho: Algoritmo para mostrar a somatória 
 Nome do Programador: Ernani Cláudio Borges 
 Data:10/11/2013 
nome do algoritmo */ 
algoritmo somatória3 
 
/* bloco para criar e determinar os tipos de variáveis */ 
var 
 cont, expo, res : inteiro 
 s : real 
 
/* bloco do código principal */ 
inicio 
 // inicializar variáveis 
 s � 0 
 cont � 1 
 expo � 1 
 cont � 1 
 res � 1 
 // cálculo da sequencia somatoria 
 para expo de 1 ate 50 passo 1 faça 
 cont � 1 
 enquanto cont <= expo faç 
 res � 2 * res 
 cont � cont + 1 
 fim-enquanto 
 s � s + res 
 expo � expo + 1 
 res � 1 
 fim-para 
 mostre (‘valor da soma = ‘, s) 
17 
 
 pausa 
fim. 
 
 
 
1.10 Exemplo 8 – Somatória da sequencia 4 
Elabore um algoritmo que processe e apresente o valor de S correspondente 
aos 20 primeiro “termos” da série abaixo : 
...
5
!5
4
!4
3
!3
2
!2
++++=S 
 
Vamos a visão central! 
 
1.10.1 Visão central do problema 
 
 
Veja bem ... 
Observamos o numerador começa em 2 e está variando de 1 em 1 
até chegar em vinte e um. 
Já sabemos como calcular o fatorial ... Você lembra? Só 
recordando ... é a multiplicação de todos o termos do número, 
começando por 1, variando de 1 em 1 até ele. Desta forma, após 
calcular o fatorial do primeiro numerador, vamos dividi-lo pelo 
denominador e o resultado irá somar ao conteúdo de S (que inicialmente 
é zero). Após, vamos incrementar as variáveis do numerador e 
denominador com mais um. Lembrando que vamos precisar de um 
contador para contar até 20 (os vinte primeiros termos da sequencia). 
 
Analise os passos do algoritmo: 
1) criar a variável S do tipo real; 
2) criar cont, num, den, fat do tipo inteiro; 
3) inicializar a variável s com 0, cont, fat com 1, num e den com 2; 
5) calcular a sequencia; 
5) mostrar o resultado do cálculo; 
18 
 
5) pausar e finalizar o algoritmo. 
 
 
1.10.2 Visão panorâmica da resolução do problema 
 
/* Cabeçalho: Algoritmo para mostrar a somatória 
 Nome do Programador: Ernani Cláudio Borges 
 Data:10/11/2013 
nome do algoritmo */ 
algoritmo somatória4 
 
/* bloco para criar e determinar os tipos de variáveis */ 
var 
 cont, fat, num, den : inteiro 
 s : real 
 
/* bloco do código principal */ 
inicio 
 // inicializar variáveis 
 s � 0 
 cont1 � 1 
 cont2 � 1 
 fat � 1 
 num � 2 
 den � 2 
 
 // cálculo da sequencia somatoria 
 para cont1 de 1 ate 20 passo 1 faça 
 enquanto cont2 <= num faça 
 fat � fat * cont2 
 cont2 � cont2 + 1 
 fim-enquanto 
 s � s + fat 
 fat � 1 
 num � num + 1 
 den � den + 1 
 cont2 � 1 
 fim-para 
 mostre (‘valor da soma = ‘, s) 
 pausa 
fim. 
 
 
 
 
 
 
19 
 
2 REFERÊNCIAS 
 
ASCENCIO, Ana Fernanda Gomes. Fundamentos da programação de 
Computadores: Algoritmos, Pascal, C/C++ e Java. 2ed. São Paulo: Pearson 
Prentice Hall, 2007. 
 
ASCENCIO, Ana Fernanda Gomes. Fundamentos da programação de 
computadores. Prentice Hall. São Paulo, 1999. 
 
ASCENCIO, Ana Fernanda Gomes. Fundamentos da programação de 
computadores. Prentice Hall. São Paulo, 2002. 
 
 
GUIMARÃES, Ângelo de Moura; LAGES, Newton Alberto de Castilho. Algoritmos e 
Estruturas de Dados. 23ed. Rio de Janeiro: LTC – Livros Técnicos e Científicos 
Editora S.A., 1994. 
 
FARRER, Harry, Algoritmos Estruturados. LTC. Rio de Janeiro, 1999 
 
FORBELLONE, André Luiz Villar. A lógica de Programação: A construção de 
Algoritmos e Estruturas de Dados. São Paulo: Makron Books, 1993. 
 
MANZANO, José Augusto. Algoritmos: Lógica para Desenvolvimento de 
programação. Érica. São Paulo, 1996.

Mais conteúdos dessa disciplina