Você está na página 1de 21

0

ANHANGUERA EDUCACIONAL S.A.


Universidade Uni ABC - Anhanguera
Construo de Algoritmo

ADRIANO RAMOS RIBEIRO - RA 9911149970


ANELISE KATCHIRY MELO SILVA - RA 9025398966
FBIO ANGELO DE FREITAS RA 8830405542
MRCIO ROGERIO DE ARAUJO PEREIRA RA 9911147774
TATIANA DE SOUSA OLIVEIRA RA 9859411899

Atividade Prtica Supervisionada

Santo Andr - SP
2014

ADRIANO RAMOS RIBEIRO - RA 9911149970


ANELISE KATCHIRY MELO SILVA - RA 9025398966
FBIO ANGELO DE FREITAS RA 8830405542
MRCIO ROGERIO DE ARAUJO PEREIRA RA 9911147774
TATIANA DE SOUSA OLIVEIRA RA 9859411899

Atividade Prtica Supervisionada

Projeto de Desenvolvimento de processos de


implantao de SIstema, apresentado Faculdade
Anhanguera,

como

avaliao

dos

temas

abordados na aula de Construo de Algoritmo.

Orientador (a):
Prof. CLAUDINEI

ANHANGUERA EDUCACIONAL S.A.


2014

RESUMO

O objetivo do presente trabalho mostrar a soluo para algumas questes na


forma de um programa desenvolvido com pseudo- linguagem e diagrama de
blocos.

ABSTRACT

The aim of this work is to show the solution to some issues in the form of a
program developed with pseudo language and block diagram.

SUMARIO

1- Introduo ................................................................................................... 5
2- Relatrios 1 ................................................................................................. 6
3- Relatrios 2 ................................................................................................. 10
4- Relatrios 3 .................................................................................................. 13
5- Relatrios 4 .................................................................................................. 17
6- Concluso ................................................................................................... 19
7- Referncia .................................................................................................... 20

1- INTRODUO
Nesse trabalho composto por quatro relatrios correspondente a problemas
diversos.
Sendo cada um deles resolvidos de maneira peculiar uma vez que o trabalho
em si foi fragmentado em partes para que tot o grupo pudesse colaborar.

2- RELATRIO 1
Soluo do problema 1:
Definir um nmero inteiro N que ser o nmero de casos de teste. Cada
caso de teste uma linha que contm dois nmeros inteiros X e Y. O problema
se resume em imprimir a soma de todos os valores mpares entre os dois
nmeros inteiros, excetuando-os.

Passo 1:

Conhecimento do VisualG, ferramenta para compilao de programas


em
portugus estruturado, possibilitando testes e a verificao do funcionamento
do algoritmo.

Passo 2:

Resumo do problema:

Apresentar o algoritmo para realizar a soma dos nmeros mpares, num


intervalo
varivel definido pelo usurio, excetuando os nmeros digitados caso eles
sejam mpares tambm.
A entrada se define por trs variveis:

N, que ser o nmero de testes feitos pelo usurio;

X, que ser o primeiro valor da sequncia para verificao e soma dos


nmeros mpares e;

Y, que ser o ltimo valor da sequncia.

A sada deve conter a soma de todos os nmeros mpares entre X e Y.

Passo 3:

Resumo do Problema:
Partindo do proposto, foi verificada a necessidade de criao de cinco
variveis, sendo elas n, x, y, z e soma, conforme representao abaixo:

N valor de casos de teste a ser definido pelo usurio;

X valor inicial da sequncia a ser definido pelo usurio;

Y valor final da sequncia a ser definido pelo usurio;

Z varivel que receber a o primeiro e o prximo valor da sequncia


para verificao de nmeros mpares e;

I varivel que ser usada como contador para os nmeros de casos;

SOMA varivel que receber a soma dos nmeros mpares da


sequncia, que ser mostrado ao usurio aps processamento.

O algoritmo representado da seguinte forma:

Algoritmo "Somar Impares"


Var
z, n, x, y, i, soma: inteiro
Inicio
Escreva ("Insira um nmero de testes:")
Leia (n)
Para i de 1 at n faca
Soma<-0
Escreva ("Digite o primeiro nmero:")
Leia (x)
Escreva ("Digite o segundo nmero:")
leia (y)

z <- x+1
enquanto z<y faca
se z mod 2 = 1 entao
soma <- soma+z
fimse
z <- z+1
fimenquanto
escreval("Caso de teste:", i)
escreval("A soma dos nmeros mpares :", soma)
fimpara
fimalgoritmo

Um fluxograma que define o algoritmo pode ser representado desta forma:

Incio

verdadeiro

Soma<x+1

Soma
/2=1

Soma
mpar<soma mpar+soma

falso

X,YeN

Z<
y

Soma<
Y

Soma<-y+1

Som
a<x

soma/
2=1

Soma mpar<-soma
impar +soma
Soma
mpar

Soma<-soma+1
fim

Soma<-soma+1

Tabela verdade:
Z<y

Z mod 2 = 1

Resultado

Soma nmero mpar

No mpar

Fim do caso de teste

Fim do caso de teste

10

3- RELATRIO 2
Passo 1:
Visual G- aula 2,utilizando funes de condio (se, ento, e, ou
ou no),estruturas conectivas e varivel lgico (V) ou (F). VisualG-aula3,
utilizando estruturas (caso , aleatrio e repita).

Passo 2:
Para a soluo do problema apresentado utilizaremos o cdigo em
pseudo-linguagem portugol com variveis do tipo Inteiro, Caractere e Real,
usaremos tambm estruturas de Repetio e Contador.

Passo 3.1-Dados e variveis:

Dados- Escolher o nmero de amigos, distncia mdia da casa de cada


amigo em relao a casa de Andreia , determinar a distncia mdia entre a
casa de Andreia e de seus amigos.
Temos a partir dos dados coletados as seguintes variveis:

Distncia: distncia entre a casa de Andreia e a casa de um de seus


amigos. Varivel do tipo Inteiro.

Soma: distncia- somar a distancia entre a casa de Andreia e todas as


casas de seus amigos informados. Varivel do tipo inteiro.

Contador: faz a contagem do nmero de casos de testes , cada amigo


informado ser um nmero de caso de teste. Varivel do tipo Inteiro.

Nome: informa o nome de um amigo. Varivel do tipo Caractere.

Continua: o programa perguntar se tem outro amigo para incluir.


Varivel do tipo Caractere.

Distncia mdia: calcula a soma da distncia em metros, entre a casa de


Andreia e todos seus amigos que foram informados dividindo pelo
contador (nmero total de amigos). Varivel do tipo Real.

11

Passo 3.2-Exemplo de tabela verdade:


Contador<_Contador+1 Dm<-soma dist/cont

Resultado
Pas

Continua

Continua

Para e calcula a mdia

Fim do caso de teste

so
3.3:

O
alg

oritmo representado da seguinte forma:

Algoritmo Distncia Mdia

Var
distancia, soma distancia, contador :Inteiro
nome, continua: Caractere
distancia media: Real

Inicio
Repita
Escreva (digite o nome do seu amigo:)
Leia (nome)
Escreva (digite a distancia entre sua casa e a casa de seu
amigo:)
Leia (distancia)
Soma distancia<-(soma distancia + distancia)
Contador<-(contador+1)
Escreva (outro amigo? (digite DM para calcular a distancia media
):)
Leia (continua)
Ate (continua = DM)
Distancia media <-(soma distancia/contador)

12

Escreva ( a distancia media de sua casa para a casa de seus amigos e:,
distancia media)

Fim algoritmo

Um fluxograma que define o algoritmo pode ser representado da seguinte


forma:

Nome

Incio

Soma
dist.<-Soma
dist.+distncia

Distncia,

Contador<-Contador+1

(continu
a=DM

No
Sim

Dist.mdia<-(soma
dist/contador)

Distncia mdia

Fim

13

4- RELATORIO 3
Soluo do problema 3:

Para esta questo Usamos laos de repetio para validar a entrada de


dados como N, que declaramos como qtd_casos, e o nmero de cada linha,
aqui declaramos como nmero mesmo, em seguida achamos melhor criar um
procedimento onde basicamente contava a quantidade de caracteres do
nmero, para isso foi preciso convert-lo para caractere pois o comando compr
s conta quantidade de caracteres, em seguida usamos CASO para atribuir
cada nmero a uma quantidade de led, com isso depois de digitado o nmero o
PROCEDIMENTO iria percorrer este nmero por completo( unidade, dezena,
centena...) e simultaneamente atribuindo quantidade de leds a cada um e
armazenando na varivel total_led.
O algoritmo representado da seguinte forma:

Declarao das variveis


qtd_casos: inteiro
numero: inteiro
cont_casos: inteiro
a, b: inteiro
qtdcaracter: inteiro
led: inteiro
total_led: inteiro

Inicio do Algoritmo

14

// Solicita ao usurio a quantidade de casos a serem testados.


Escreva

("***

CALCULADOR

DE

LAMPADAS

LEDS

PARA

REPRESENTACAO NUMERICA ***")


Escreva ("Informe quantas vezes deseja efetuar o calculo de LEDS... ")
Leia (qtd_casos)
se (qtd_casos < 1) ou (qtd_casos > 2000) ento
Escreva (" Numero invlido!")
Escreva (" Digite o numero para o calculo dos LEDS com valor
entre 1 e 2000 !")
leia (qtd_casos)
Fim se
// Inicializao do contador de casos.
cont_casos <- 0
// Solicita ao usurio que seja informado o numero o qual se deseja saber a
quantidade de leds.
Enquanto (cont_casos < qtd_casos) faca
cont_casos <- cont_casos + 1
Escreva (cont_casos," CALCULO: Digite o nmero que deseja
representar com LEDS...")
Leia (numero)
Se (numero < 1) ou (numero > 10100) ento
Escreva (" Numero invalido!")

15

Escreva (" Digite o numero para o caso com valor entre 1 e 10100 ! ")
Leia (numero)
Fim se
// Processamento onde ocorre a converso de nmero para carcter.
qtdcaracter <- (compr ( numpcarac (numero)))
// Inicializao da variavel que armazenar a quantidade de leds que forma um
numero.
total_led <- 0
// Estrutura de controle onde feito a converso de caracter para numero,
possibilitando que seja feita a escolha de cada algarismo do numero em
separado e aps isso, somar todas as quantidades de leds que compem um
numero.
para a de 1 ate qtdcaracter faca
b <- caracpnum((copia(numpcarac(numero), a, 1)))
escolha b
caso 1
led <- 2
caso 2
led <- 5
caso 3
led <- 5
caso 4

16

led <- 4
caso 5
led <- 5
caso 6
led <- 6
caso 7
led <- 3
caso 8
led <- 7
caso 9
led <- 6
caso 0
led <- 6
Fim escolha
total_led <- (total_led + led)
Fim para
// Imprime o resultado na tela.
Escreva ("Para representar o numero ",numero, " em LEDS, sero necessrias:
",total_led, " lampadas LEDS.")
Fim enquanto
Fimalgoritmo

17

5- RELATORIO 4
Soluo para o problema 4:
Declarao das variveis
Algoritmo Problema de Josephus
Var
nc: inteiro
n, i: inteiro
m, contador, valorInteiro: inteiro
escolhido: real

Incio do Algoritmo
Escreva ("***PROBLEMA DE JOSEPHUS***")
Escreva (" Primeiramente, informe a quantidade de casos de teste que
deseja executar...")
Leia (nc)
Para contador de 1 at nc passo 1 faca
Escreva (" Agora, informe o numero de pessoas para o caso de
teste...")
Leia (n)
Escreva (" Por fim, determine um valor para o intervalo de
eliminao...")
Leia (m)

18

Para i de 1 at n passo 1 faca


contador <- i;
escolhido <- m * contador;
enquanto (escolhido > n) faca
escolhido <- (m * (escolhido - n) - 1) / (m - 1);
valorInteiro <- INT(escolhido)
escolhido <- valorInteiro
Fim enquanto
Escreva (" -> ",escolhido)
Fim para
Escreva (" Ultima pessoa a ser eliminada situa-se a posicao de numero: ")
Escreva (" -> ",escolhido)
Fim para
Fim algoritmo

19

6- CONCLUSO
Ficou claro nesse projeto o quo difcil o trabalho em grupo mas tambm
evidenciou a importncia da colaborao de cada membro para que pudesse
conseguir xito na resoluo de tais problema proposto na atividade.

20

7- REFERENCIAS

PIVA JUNIOR, Dilermando (org.). Algoritmos e Programao de


Computadores. 1 ed. Vila Flor: Elsevier, 2012. (Livro-texto).

MANZANO, Jos Augusto N. Garcia. Algoritmos: Lgica para


Desenvolvimento de Programao de Computadores. 21 ed. So
Paulo: rica, 2008.

FORBELLONE, A. L. Lgica de Programao. 1 ed. So Paulo:


Pearson, 2008.

GOMES ASCNCIO, Ana Fernanda; CAMPOS, Edilene A. V.i de.


Fundamentos da Programao de Computadores: algoritmos,
pascal e C/C++. 1 ed. So Paulo: Pearson, 2003.

Você também pode gostar