Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

aphaaa

[Resolvido] Funções.

Recommended Posts

hshshhahahaha mais uma vez eu ano entendi como fazer esses exercicios!

 

a lista de exercicios a ser feita é essa:

 

Exercício 1

☺ Escrever um algoritmo para determinar se um determinado número inteiro é par ou ímpar. Utilizar

um subalgoritmo de função que retorna um valor lógico para indicar se o valor recebido é par ou não.

 

Exercício 2

☺ Escreva um algoritmo que lê um número não determinado de valores m, todos inteiros e positivos, um

valor de cada vez, e, se m<10 utiliza um subalgoritmo do tipo função que calcula o fatorial de m, e caso

contrário, utiliza um subalgoritmo do tipo função para obter o número de divisores de m (quantos

divisores m possui). Escrever cada m lido e seu fatorial ou seu número de divisores com uma mensagem

adequada". Neste caso, temos um programa principal e dois subalgoritmos.

 

Exercício 3

Escreva um algoritmo que apresente um menu com três opções:

1 – Inserir

2 – Remover

3 – Escrever na Tela o Vetor

4 – Sair

Quando for escolhida a opção número 1, uma subrotina chamada insere deve inserir um elemento

(número) em um vetor. A subrotina deve receber por parâmetro o número a ser inserido, a posição

(índice) a ser inserido, o tamanho do vetor e o nome do vetor.

Quando for escolhida a opção número 2, uma subrotina chamada remove deve eliminar um elemento de

um vetor. A subrotina deve receber por parâmetro a posição (índice) do elemento a ser eliminado, o

tamanho do vetor e o nome do vetor.

Quando for escolhida a opção número 3, uma subrotina chamada escreve deve escrever na tela os

elementos do vetor.

 

Exercício 4

Faça uma subrotina que receba uma matriz M(10,10), o número de uma linha L, o número de uma

coluna C e retorne a matriz N(9,9) resultante da remoção da linha L e da coluna C

 

Exercício 5

Faça uma subrotina que receba dois vetores V1(100) e V2(100) em que cada posição contem um dígito

e retorne V3(101) com a soma dos números nos vetores.

Ex: V1 = 0 0 0 3 2 1

V2 = 0 0 4 7 3 2

-----------------------

V3 = 0 0 5 0 5 3

 

Exercício 6

A tabela abaixo expressa os valores de apartamentos de diferentes metragens em diferentes

bairros da cidade de Porto Alegre. As colunas desta Matriz 5x5 mostram a metragem e as linhas o

nome do Bairro. Faça um algoritmo principal que chama os seguintes subalgoritmos:

a) Subrotina de Leitura da matriz 5x5;

B) Subrotina de Escrita da matriz 5x5;

c) Função/Subrotina que calcula o apartamento mais caro de Porto Alegre;

d) Função/Subrotina que calcula o apartamento mais barato do bairro que tem o apartamento mais

caro de Porto Alegre;

e) Subrotina que confere um aumento de 5% a todos os apartamentos que custam menos de R$

250.000,00.

100 m2 150 m2 200 m2 250m2 300 m2

Centro 70 80 90 100 200

Bela Vista 120 180 240 300 360

Petrópolis 100 150 250 300 450

Moinhos 180 250 360 410 540

Bom Fim 90 130 170 210 350

Valores expressos em mil Reais

O algoritmo principal deve, nesta ordem: ler a matriz; escrevê-la; escrever o valor do apartamento

mais caro de Porto Alegre; escrever o valor do apartamento mais barato do bairro que tem o

apartamento mais caro de Porto Alegre; conferir o aumento a todos os apartamentos que custam menos

de R$ 250.000,00 e escrever novamente a matriz com os valores modificados.

 

 

Desafio

Escreva uma função que receba um vetor literal de 1000 posições e retorne o número de palavras do

vetor. As palavras são separadas por espaços em branco.

 

 

 

 

espero poder contar com a ajuda de todos!

 

 

grato aphaaa

Compartilhar este post


Link para o post
Compartilhar em outros sites

você naum tem ideia de como começar?

pesquisou no google as assinaturas de funções?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, qnd tiver duvidas realmente, monte seu código e aponte as dúvidas!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

exercicio 1

 

 

ALGORITMO "exercício 1 cap 17 funçoes"

// Função :

// Autor :

// Data : 4/5/2009

// Seção de Declarações

 

 

var

n1:inteiro //numero

 

 

funcao indicapar(n:inteiro):LOGICO

var

par:LOGICO

inicio

se (n mod 2)= 0 entao

par<- VERDADEIRO

senao par<-FALSO

FIMSE

retorne par

 

fimfuncao

 

INICIO

 

 

escreva ("digite um numero ")

leia (n1)

 

se indicapar(n1)= VERDADEIRO entao

escreva ("numero par")

senao

escreva ("numero impar")

fimse

 

FIMALGORITMO

Compartilhar este post


Link para o post
Compartilhar em outros sites

exercicio 2

 

algoritmo "cap 17 exercício 2 função"

// Função :

// Autor :

// Data : 4/5/2009

// Seção de Declarações

var

m:inteiro

fatorial:inteiro

divisor:inteiro

 

 

funcao indicafatorial(n:inteiro):inteiro

var

fatorial:inteiro

i:inteiro

inicio

fatorial<-1

para i de 1 ate n faca

fatorial<-fatorial*i

fimpara

retorne fatorial

 

fimfuncao

 

funcao indicadivisores(n:inteiro):inteiro

var

divisor:inteiro

i:inteiro

inicio

 

para i de 1 ate n faca

se (n mod i) =0 entao

divisor<- divisor+1

fimse

fimpara

retorne divisor

 

fimfuncao

 

inicio

// Seção de Comandos

 

repita

 

escreva("digite um numero = ")

leia(m)

 

se m<10 entao

fatorial<-indicafatorial(m)

escreval (m, fatorial)

fimse

 

 

se m>10 entao

divisor<-indicadivisores(m)

escreval (m, divisor)

fimse

 

 

 

ate (m=-1)

 

 

//se você digitar 10 ira dar erro do problema pois no probblema ela soh fala para calca menor de 10 e maior de 10

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

to procurando meu erro..

 

não sei nem se isso que eu fiz esta correto!

 

algoritmo "cap 17 exercício 4 funções"

// Função :

// Autor :

// Data : 4/5/2009

// Seção de Declarações

var

m:vetor [1..10,1..10] de inteiro // matriz

l, c: inteiro //linha coluna da matriz

num:inteiro //variavel para definir os numeros dentro da matriz

n: vetor [1..9,1..9] de inteiro

 

 

procedimento subtraimatriz (l,c: inteiro)

 

var

 

m:vetor [1..10,1..10] de inteiro

 

inicio

 

m[l,c]<-l-1,c-1

 

 

 

 

 

fimprocedimento

inicio

// Seção de Comandos

num<-0

//escreva e leia os valores da matriz

para l de 1 ate 10 faca

para c de 1 ate 10 faca

//escreva ("entre com os valores da matriz: ")

//leia (M[l,c])

num <-num+1

m[l,c]<-num

escreva (m[l,c])

fimpara

escreval ("")

fimpara

 

se m[l,c]>subtaimatriz entao

n[l,c]<-m[l,c]

 

fimse

 

para l de 1 ate 9 faca

para c de 1 ate 9 faca

escreval(n[l,c])

fimpara

fimpara

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui!

 

ficou assim o exercicio 4:

 

algoritmo "cap 17 exercício 4 funções"

// Função :

// Autor :

// Data : 4/5/2009

// Seção de Declarações

var

m:vetor [1..10,1..10] de inteiro // matriz

l, c: inteiro //linha coluna da matriz

num:inteiro //variavel para definir os numeros dentro da matriz

n: vetor [1..9,1..9] de inteiro

 

 

procedimento subtraimatriz (l,c: inteiro)

var

i,j,i9,j9:inteiro

 

inicio

i9<-1

para i de 1 ate 10 faca

 

 

j9<-1

 

para j de 1 ate 10 faca

n[i9,j9]<-m[i,j]

 

se j<>c entao

j9<-j9+1

fimse

 

fimpara

 

se i<>l entao

i9<-i9+1

fimse

 

fimpara

 

 

 

 

fimprocedimento

inicio

// Seção de Comandos

num<-0

//escreva e leia os valores da matriz

para l de 1 ate 10 faca

para c de 1 ate 10 faca

//escreva ("entre com os valores da matriz: ")

//leia (M[l,c])

num <-num+1

m[l,c]<-num

escreva (m[l,c])

fimpara

escreval ("")

fimpara

 

subtraimatriz (1,2)

 

para l de 1 ate 9 faca

escreval("")

para c de 1 ate 9 faca

escreva(n[l,c])

fimpara

fimpara

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

exercício 5 ficou assim:

 

 

algoritmo "cap 17 exercício 5 funções"

// Função :

// Autor :Raphael t. Reis

// Data : 6/5/2009

// Seção de Declarações

var

v1:vetor [1..10] de inteiro

v2:vetor [1..10] de inteiro

i:inteiro

 

v3:vetor [1..11] de inteiro

 

 

procedimento somamatriz

 

 

var

soma,passa:inteiro

inicio

 

i<-10

 

enquanto i>1 faca

 

soma<- v1+v2+passa

passa<-0

se soma>9 entao

passa<-1

soma<-soma-10

fimse

 

v3<-soma

 

i<-i-1

fimenquanto

fimprocedimento

 

inicio

// Seção de Comandos

 

para i de 1 ate 10 faca

leia (v1)

fimpara

 

para i de 1 ate 10 faca

leia (v2)

fimpara

 

 

para i de 1 ate 10 faca

escreva (v1)

fimpara

escreval("")

 

para i de 1 ate 10 faca

escreva (v2)

fimpara

escreval("")

 

somamatriz

 

para i de 1 ate 11 faca

escreva (v3)

fimpara

 

 

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

exercício 6 ficou assim:

 

algoritmo "cap 17 exercício 6 funções"

// Função :

// Autor :raphael T.Reis

// Data : 6/5/2009

// Seção de Declarações

var

m:vetor [1..5,1..5] de inteiro

lin, col:inteiro

linha_maiorpreco:inteiro

l,j:inteiro

a:caracter

procedimento lermatriz

var

 

inicio

para lin de 1 ate 5 faca

para col de 1 ate 5 faca

leia (m[lin,col])

fimpara

fimpara

fimprocedimento

 

procedimento escrevamatriz

var

 

inicio

 

para lin de 1 ate 5 faca

escreval("")

para col de 1 ate 5 faca

escreva (m[lin,col])

fimpara

fimpara

fimprocedimento

 

funcao maiorpreco:inteiro

var

maior:inteiro

i:inteiro

lin,col:inteiro

inicio

 

maior<-0

 

para lin de 1 ate 5 faca

para col de 1 ate 5 faca

Se (m[lin,col] > maior) entao

maior <-m[lin, col]

linha_maiorpreco<-lin

fimse

fimpara

 

fimpara

 

retorne maior

 

fimfuncao

 

funcao menorpreco:inteiro

var

menor,i:inteiro

lin,col:inteiro

minimax:inteiro

inicio

menor<-l

para col de 1 ate 5 faca

Se (m[linha_maiorpreco,col] < menor) entao

menor <- m[linha_maiorpreco, col]

fimse

minimax<- menor

 

fimpara

 

 

retorne minimax

fimfuncao

 

procedimento aumentoap

var

k:real

lin,col:inteiro

inicio

 

para lin de 1 ate 5 faca

escreval("")

para col de 1 ate 5 faca

se m[lin,col]<250 entao

k<-m[lin,col] + (m[lin,col]*5/100)

fimse

se m[lin,col] >= 250 entao

k<-m[lin,col]

fimse

escreva (k)

fimpara

fimpara

fimprocedimento

 

inicio

// Seção de Comandos

 

 

lermatriz

 

escrevamatriz

 

l<-maiorpreco

escreva("O valor do apartamento mais caro de Porto Alegre é: ")

escreval (l)

 

j<-menorpreco

 

para lin de 1 ate 5 faca

se linha_maiorpreco = 1 entao

a<- "Centro"

fimse

 

se linha_maiorpreco = 2 entao

a<- "Bela Vista"

fimse

 

se linha_maiorpreco = 3 entao

a<- "Petrópolis"

fimse

 

se (linha_maiorpreco = 4) entao

a<- "Moinhos"

fimse

 

se linha_maiorpreco = 5 entao

a<- "Bom Fim"

fimse

fimpara

 

 

 

 

 

escreva("O bairro que tem o apartamento mais caro de Porto Alegre é:")

escreval (a)

escreva("O valor do apartamento mais barato de ",(a)," é: ")

escreval (j)

 

aumentoap

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

desafio capitulo 17 ficou assim:

 

algoritmo "cap 17 desafio"

// Função :

// Autor :

// Data : 7/5/2009

// Seção de Declarações

var

m: vetor [1..100] de literal

i:literal

k:literal

 

funcao vetliteral:literal

var

i:inteiro

j:caracter

inicio

 

para i de 1 ate 100 faca

leia (m)

fimpara

para i de 1 ate 100 faca

escreva (m)

fimpara

 

 

j<-"i"

 

retorne j

 

fimfuncao

inicio

// Seção de Comandos

 

k<- vetliteral

 

 

 

 

fimalgoritmo

 

bom esse topico de funções termina aqui!

 

espero poder ajudar mais gente com esses topicos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde consigo o livro mensionado abaixo? Tem algum link na net onde possa baixá-lo?

exercicio 1

 

 

ALGORITMO "exercício 1 cap 17 funçoes"

// Função :

// Autor :

// Data : 4/5/2009

// Seção de Declarações

 

 

var

n1:inteiro //numero

 

 

funcao indicapar(n:inteiro):LOGICO

var

par:LOGICO

inicio

se (n mod 2)= 0 entao

par<- VERDADEIRO

senao par<-FALSO

FIMSE

retorne par

 

fimfuncao

 

INICIO

 

 

escreva ("digite um numero ")

leia (n1)

 

se indicapar(n1)= VERDADEIRO entao

escreva ("numero par")

senao

escreva ("numero impar")

fimse

 

FIMALGORITMO

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.