SlideShare ist ein Scribd-Unternehmen logo
1 von 2
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PIAUÍ
                 CURSO: Técnico em Informática
                 DISCIPLINA: Lógica de Programação / Algoritmos e Linguag. de Programação
                 PROFESSOR: Regis Pires Magalhães

                                           LISTA DE EXERCÍCIOS 05

                          SUBALGORITMOS: FUNÇÕES E PROCEDIMENTOS

1. Escreva um algoritmo para obter uma palavra e:
a) Determinar o seu tamanho.
b) Exibi-la completamente em caixa alta (letras maiúsculas).
c) Exibi-la ao contrário e totalmente em letras minúsculas.

2. Dada uma palavra, exibir sua abreviação, usando suas 3 primeiras letras em caracteres maiúsculos. Exibir um traço
(-) antes e depois da abreviação. Exemplos: Para a palavra Domingo, mostrar -DOM-. Para a palavra Agosto, mostrar -
AGO-.

3. Escreva um programa para receber uma palavra e exibir as letras que estejam em posições ímpares. Exemplo:
para a palavra Borboleta, exibir: Broea.
        Palavra.........: B o r b o l e t a
                                      ^  ^    ^     ^      ^
        Posição da letra: 1 2 3 4 5 6 7 8 9

4. Escreva um procedimento chamado repete para receber como parâmetros uma cadeia de caracteres e um número
n. Ao recebê-los, o procedimento deve exibir essa mesma cadeia de caracteres n vezes. Escreva um algoritmo em
pseudocódigo para receber uma palavra e, usando o procedimento repete, exibir essa palavra 10 vezes.

5. Escreva um procedimento chamado intervalo que recebe dois parâmetros inteiros e exibe todos os números inteiros
entre eles. O procedimento deve fazer parte de um algoritmo em pseudocódigo que lê dois números e que chama o
procedimento intervalo passando como parâmetros os dois números recebidos. Exemplo: usando os números 2 e 7
como entrada, exibir o seguinte resultado: 2 3 4 5 6 7.

6. Escreva um procedimento de nome tipo_triangulo que receba 3 parâmetros representando os lados de um triângulo
e imprima o tipo dele (eqüilátero, isósceles ou escaleno). Escreva um algoritmo em pseudocódigo para receber o
tamanho dos 3 lados de um triângulo e usar o procedimento tipo_triangulo para exibir o tipo dele.

7. Escreva um procedimento de nome troca para receber como parâmetros 2 números inteiros e trocar o conteúdo
entre eles. Escreva um algoritmo em pseudocódigo para receber 2 números e usar o procedimento troca para permutar
o conteúdo entre eles.

8. Escreva uma função chamada triplo que recebe um parâmetro inteiro e retorna o triplo do número passado como
parâmetro. Escreva um algoritmo em pseudocódigo para receber 100 elementos e, usando a função triplo, exiba o
triplo de todos os seus elementos.

9. Escreva uma função de nome numero_extenso que recebe como parâmetro um número inteiro no intervalo de 1
a 3 e retorna uma cadeia de caracteres contendo o extenso do número recebido como parâmetro. A função deve fazer
parte de um algoritmo em pseudocódigo que lê um número e usa a função numero_extenso para exibir o extenso do
número digitado.

10. Escreva uma função de nome maior que recebe dois números e retorna o maior entre eles. Escreva um algoritmo
em pseudocódigo para receber dois números e, usando a função maior, exiba o maior dos dois números dados.

11. Escreva um algoritmo para receber 10 números reais e armazená-los em um vetor. Depois disso, mostre o
somatório dos números, através do uso da função somatorio, que não recebe parâmetro nenhum, acessa o vetor
definido globalmente e retorna o somatório dos elementos do vetor.
12. Escreva um algoritmo para receber 2 números e uma operação (multiplicação ou divisão) como entrada. Depois
disso, exibir o resultado da operação sobre os 2 números dados. O programa deverá usar as funções multiplicacao e
divisao que recebem 2 números reais como parâmetros e retornam o resultado da operação. Exemplo: Para os
números 3 e 4, e operação multiplicacao, mostrar o resultado 12.

13. Escreva um algoritmo para receber uma data no formato dd/mm/aaaa (dd-dia, mm-mês e aaaa-ano) e depois exibi-
la por extenso. O programa deverá fazer uso de um vetor contendo os meses do ano. Também deverá ter uma função
de nome data_extenso para receber como parâmetro uma cadeia de caracteres no formato dd/mm/aaaa e retornar a
data por extenso. Exemplo: Para a data 31/01/2007, mostrar: 31 de janeiro de 2007.

14. Escreva um programa para receber vários números. Ele deve ficar em loop (repetição) e somente parar quando um
número negativo for digitado como entrada. Depois disso, exibir todos os números pares que foram digitados. O
programa deve ainda usar uma função de nome par que recebe como parâmetro um número inteiro e retorna o valor
lógico verdadeiro se o número for par e falso se o número for ímpar.

15. Escreva um algoritmo que apresente um menu com três opções:
1 – Inserir
2 – Exibir
3 – Sair

a) Quando for escolhida a opção número 1, um procedimento chamado insere deve inserir um elemento (nome) em um
vetor. O procedimento deve receber como parâmetro o nome a ser inserido.

b) Quando for escolhida a opção número 3, um procedimento chamado lista deve escrever na tela todos os elementos
do vetor.

16. Escreva uma função que receba como parâmetro um texto e retorne o número de palavras desse texto. As palavras
do texto são separadas por espaços em branco, podendo haver um ou mais espaços entre as palavras.

                                                  RECURSIVIDADE
17. Escreva um algoritmo, utilizando uma função recursiva chamada fatorial, para calcular o fatorial de um número n,
sendo n um valor fornecido pelo usuário no algoritmo principal.

18. Escreva um algoritmo, utilizando uma função recursiva chamada soma_inteiros, para calcular a soma dos n
primeiros inteiros positivos, sendo n um valor fornecido pelo usuário no algoritmo principal.

19. Escreva um algoritmo, utilizando uma função recursiva, que eleve um número inteiro qualquer a uma potência.
Devem ser fornecidos o número e a potência no algoritmo principal.

20. Escreva um algoritmo, utilizando uma função recursiva, para calcular o n-ésimo termo da série de Fibonacci. A série
de Fibonacci é uma seqüência definida pela fórmula abaixo:
F(n) = 0, se n = 0
F(n) = 1, se n = 1
F(n) = F(n-1) + F(n-2), para os demais valores de n
Exemplo: para n = 10, exibir: 55
   F(0)        F(1)       F(2)      F(3)       F(4)     F(5)        F(6)       F(7)      F(8)       F(9)      F(10)
    0          1          1          2          3         5          8         13         21         34         55

21. Escreva um algoritmo para obter 10 palavras e armazená-las em um vetor de caracteres. Depois disso, o algoritmo
deve obter uma palavra adicional e exibir se ela está ou não contida no vetor. Caso esteja no vetor, o algoritmo deve
informar o índice do vetor que contém a palavra. A busca da palavra deve ser realizada através do uso de uma função
recursiva de nome busca que recebe como parâmetro uma palavra qualquer e realiza uma pesquisa no vetor definido
globalmente, retornando o índice do elemento encontrado ou 0 caso a palavra não esteja no vetor.

Weitere ähnliche Inhalte

Was ist angesagt?

Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9Felipe Santos
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício respostaHercules Santhus
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Phpsofteam
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3Débora Inocêncio
 
Algoritmos 01 - Semana 03 - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03  - Exercícios de Leitura e AtribuiçãoAlgoritmos 01 - Semana 03  - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03 - Exercícios de Leitura e AtribuiçãoEder Samaniego
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-iEdvan Mateó
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Eder Samaniego
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmosMauro Pereira
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosRegis Magalhães
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmosMauro Pereira
 

Was ist angesagt? (20)

Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício resposta
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Php
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Algoritmos 01 - Semana 03 - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03  - Exercícios de Leitura e AtribuiçãoAlgoritmos 01 - Semana 03  - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03 - Exercícios de Leitura e Atribuição
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Aula 2 aed - pseudocódigo
Aula 2   aed - pseudocódigoAula 2   aed - pseudocódigo
Aula 2 aed - pseudocódigo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
C++
C++C++
C++
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 Subalgoritmos
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Aula 05 Vetores
Aula 05  VetoresAula 05  Vetores
Aula 05 Vetores
 

Andere mochten auch

Andere mochten auch (9)

Lista Exercicios 02
Lista Exercicios 02Lista Exercicios 02
Lista Exercicios 02
 
Lista Exercicios 02
Lista Exercicios 02Lista Exercicios 02
Lista Exercicios 02
 
Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida) Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida)
 
POO Plano de Curso
POO Plano de CursoPOO Plano de Curso
POO Plano de Curso
 
Lista Exercicios 03
Lista Exercicios 03Lista Exercicios 03
Lista Exercicios 03
 
Merci 10 Completo
Merci 10 CompletoMerci 10 Completo
Merci 10 Completo
 
Lista Exercicios 01
Lista Exercicios 01Lista Exercicios 01
Lista Exercicios 01
 
High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 

Ähnlich wie Lista de Exercícios sobre Subalgoritmos

Linguagem C - Ponteiros [exercícios]
Linguagem C - Ponteiros [exercícios]Linguagem C - Ponteiros [exercícios]
Linguagem C - Ponteiros [exercícios]Matheus Alves
 
Funçoes e procedimentos pascal
Funçoes e procedimentos pascalFunçoes e procedimentos pascal
Funçoes e procedimentos pascalMarcus Vinicius
 
M3 plan trimestral
M3 plan trimestralM3 plan trimestral
M3 plan trimestralDiogo Dias
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlex Camargo
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoJose Augusto Cintra
 
Linguagem C - Alocação Dinâmica [exercícios]
Linguagem C - Alocação Dinâmica [exercícios]Linguagem C - Alocação Dinâmica [exercícios]
Linguagem C - Alocação Dinâmica [exercícios]Matheus Alves
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimosCleide Soares
 
Linguagem C - Strings [exercícios]
Linguagem C - Strings [exercícios]Linguagem C - Strings [exercícios]
Linguagem C - Strings [exercícios]Matheus Alves
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturadoNaldo Falaschi
 

Ähnlich wie Lista de Exercícios sobre Subalgoritmos (20)

Linguagem C - Ponteiros [exercícios]
Linguagem C - Ponteiros [exercícios]Linguagem C - Ponteiros [exercícios]
Linguagem C - Ponteiros [exercícios]
 
Aula 3 - 06/04/11
Aula 3 - 06/04/11Aula 3 - 06/04/11
Aula 3 - 06/04/11
 
Funçoes e procedimentos pascal
Funçoes e procedimentos pascalFunçoes e procedimentos pascal
Funçoes e procedimentos pascal
 
Exercício..
Exercício..Exercício..
Exercício..
 
Exercicios c
Exercicios cExercicios c
Exercicios c
 
M3 plan trimestral
M3 plan trimestralM3 plan trimestral
M3 plan trimestral
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Algop - aula 07
Algop - aula 07Algop - aula 07
Algop - aula 07
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
M3 plan anual
M3 plan anualM3 plan anual
M3 plan anual
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Linguagem C - Alocação Dinâmica [exercícios]
Linguagem C - Alocação Dinâmica [exercícios]Linguagem C - Alocação Dinâmica [exercícios]
Linguagem C - Alocação Dinâmica [exercícios]
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
 
Cea030.lista.01
Cea030.lista.01Cea030.lista.01
Cea030.lista.01
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Linguagem C - Strings [exercícios]
Linguagem C - Strings [exercícios]Linguagem C - Strings [exercícios]
Linguagem C - Strings [exercícios]
 
Man UAL
Man UALMan UAL
Man UAL
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 
Java5
Java5Java5
Java5
 

Mehr von Regis Magalhães

Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Regis Magalhães
 

Mehr von Regis Magalhães (20)

Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
 

Lista de Exercícios sobre Subalgoritmos

  • 1. CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PIAUÍ CURSO: Técnico em Informática DISCIPLINA: Lógica de Programação / Algoritmos e Linguag. de Programação PROFESSOR: Regis Pires Magalhães LISTA DE EXERCÍCIOS 05 SUBALGORITMOS: FUNÇÕES E PROCEDIMENTOS 1. Escreva um algoritmo para obter uma palavra e: a) Determinar o seu tamanho. b) Exibi-la completamente em caixa alta (letras maiúsculas). c) Exibi-la ao contrário e totalmente em letras minúsculas. 2. Dada uma palavra, exibir sua abreviação, usando suas 3 primeiras letras em caracteres maiúsculos. Exibir um traço (-) antes e depois da abreviação. Exemplos: Para a palavra Domingo, mostrar -DOM-. Para a palavra Agosto, mostrar - AGO-. 3. Escreva um programa para receber uma palavra e exibir as letras que estejam em posições ímpares. Exemplo: para a palavra Borboleta, exibir: Broea. Palavra.........: B o r b o l e t a ^ ^ ^ ^ ^ Posição da letra: 1 2 3 4 5 6 7 8 9 4. Escreva um procedimento chamado repete para receber como parâmetros uma cadeia de caracteres e um número n. Ao recebê-los, o procedimento deve exibir essa mesma cadeia de caracteres n vezes. Escreva um algoritmo em pseudocódigo para receber uma palavra e, usando o procedimento repete, exibir essa palavra 10 vezes. 5. Escreva um procedimento chamado intervalo que recebe dois parâmetros inteiros e exibe todos os números inteiros entre eles. O procedimento deve fazer parte de um algoritmo em pseudocódigo que lê dois números e que chama o procedimento intervalo passando como parâmetros os dois números recebidos. Exemplo: usando os números 2 e 7 como entrada, exibir o seguinte resultado: 2 3 4 5 6 7. 6. Escreva um procedimento de nome tipo_triangulo que receba 3 parâmetros representando os lados de um triângulo e imprima o tipo dele (eqüilátero, isósceles ou escaleno). Escreva um algoritmo em pseudocódigo para receber o tamanho dos 3 lados de um triângulo e usar o procedimento tipo_triangulo para exibir o tipo dele. 7. Escreva um procedimento de nome troca para receber como parâmetros 2 números inteiros e trocar o conteúdo entre eles. Escreva um algoritmo em pseudocódigo para receber 2 números e usar o procedimento troca para permutar o conteúdo entre eles. 8. Escreva uma função chamada triplo que recebe um parâmetro inteiro e retorna o triplo do número passado como parâmetro. Escreva um algoritmo em pseudocódigo para receber 100 elementos e, usando a função triplo, exiba o triplo de todos os seus elementos. 9. Escreva uma função de nome numero_extenso que recebe como parâmetro um número inteiro no intervalo de 1 a 3 e retorna uma cadeia de caracteres contendo o extenso do número recebido como parâmetro. A função deve fazer parte de um algoritmo em pseudocódigo que lê um número e usa a função numero_extenso para exibir o extenso do número digitado. 10. Escreva uma função de nome maior que recebe dois números e retorna o maior entre eles. Escreva um algoritmo em pseudocódigo para receber dois números e, usando a função maior, exiba o maior dos dois números dados. 11. Escreva um algoritmo para receber 10 números reais e armazená-los em um vetor. Depois disso, mostre o somatório dos números, através do uso da função somatorio, que não recebe parâmetro nenhum, acessa o vetor definido globalmente e retorna o somatório dos elementos do vetor.
  • 2. 12. Escreva um algoritmo para receber 2 números e uma operação (multiplicação ou divisão) como entrada. Depois disso, exibir o resultado da operação sobre os 2 números dados. O programa deverá usar as funções multiplicacao e divisao que recebem 2 números reais como parâmetros e retornam o resultado da operação. Exemplo: Para os números 3 e 4, e operação multiplicacao, mostrar o resultado 12. 13. Escreva um algoritmo para receber uma data no formato dd/mm/aaaa (dd-dia, mm-mês e aaaa-ano) e depois exibi- la por extenso. O programa deverá fazer uso de um vetor contendo os meses do ano. Também deverá ter uma função de nome data_extenso para receber como parâmetro uma cadeia de caracteres no formato dd/mm/aaaa e retornar a data por extenso. Exemplo: Para a data 31/01/2007, mostrar: 31 de janeiro de 2007. 14. Escreva um programa para receber vários números. Ele deve ficar em loop (repetição) e somente parar quando um número negativo for digitado como entrada. Depois disso, exibir todos os números pares que foram digitados. O programa deve ainda usar uma função de nome par que recebe como parâmetro um número inteiro e retorna o valor lógico verdadeiro se o número for par e falso se o número for ímpar. 15. Escreva um algoritmo que apresente um menu com três opções: 1 – Inserir 2 – Exibir 3 – Sair a) Quando for escolhida a opção número 1, um procedimento chamado insere deve inserir um elemento (nome) em um vetor. O procedimento deve receber como parâmetro o nome a ser inserido. b) Quando for escolhida a opção número 3, um procedimento chamado lista deve escrever na tela todos os elementos do vetor. 16. Escreva uma função que receba como parâmetro um texto e retorne o número de palavras desse texto. As palavras do texto são separadas por espaços em branco, podendo haver um ou mais espaços entre as palavras. RECURSIVIDADE 17. Escreva um algoritmo, utilizando uma função recursiva chamada fatorial, para calcular o fatorial de um número n, sendo n um valor fornecido pelo usuário no algoritmo principal. 18. Escreva um algoritmo, utilizando uma função recursiva chamada soma_inteiros, para calcular a soma dos n primeiros inteiros positivos, sendo n um valor fornecido pelo usuário no algoritmo principal. 19. Escreva um algoritmo, utilizando uma função recursiva, que eleve um número inteiro qualquer a uma potência. Devem ser fornecidos o número e a potência no algoritmo principal. 20. Escreva um algoritmo, utilizando uma função recursiva, para calcular o n-ésimo termo da série de Fibonacci. A série de Fibonacci é uma seqüência definida pela fórmula abaixo: F(n) = 0, se n = 0 F(n) = 1, se n = 1 F(n) = F(n-1) + F(n-2), para os demais valores de n Exemplo: para n = 10, exibir: 55 F(0) F(1) F(2) F(3) F(4) F(5) F(6) F(7) F(8) F(9) F(10) 0 1 1 2 3 5 8 13 21 34 55 21. Escreva um algoritmo para obter 10 palavras e armazená-las em um vetor de caracteres. Depois disso, o algoritmo deve obter uma palavra adicional e exibir se ela está ou não contida no vetor. Caso esteja no vetor, o algoritmo deve informar o índice do vetor que contém a palavra. A busca da palavra deve ser realizada através do uso de uma função recursiva de nome busca que recebe como parâmetro uma palavra qualquer e realiza uma pesquisa no vetor definido globalmente, retornando o índice do elemento encontrado ou 0 caso a palavra não esteja no vetor.