TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Construção De Algoritimos

Ensaios: Construção De Algoritimos. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  23/11/2013  •  2.489 Palavras (10 Páginas)  •  208 Visualizações

Página 1 de 10

Imprimir a soma de todos os números impares entre x e y

Representação em pseudolinguagem:

Algoritmo "Somar e selecionar Números Impares"

Função: Somar números impares compreendido entre dois números proposto pelo usuário

Autor: Reginaldo Batista de Souza

Data: 29/08/2013

Trabalho: ATPS Faculdade Anhanguera etapa 1 segundo semestre 2013

// DECLARANDO VARIÁVEIS

var

vet: vetor [1..6] de inteiro

i: inteiro

Inicio:

//TÍTULO

escreval (" SOME TODOS OS NUMEROS IMPARES COMPREENDIDOS ENTRE DOIS NUMEROS")

// Pede ao usuario que digite a quantidade de casos que gostaria de avaliar

escreval ("Informe a quantidade de casos a serem avaliados")

//Lê a quantidade de casos a ser avaliado e guarda na variável

leia(vet[1])

// CONTADOR DO NUMERO DE CASOS

para i de 1 ate vet[1] faca

// Pede ao usuário que digite dois valores para serem avaliados

escreval ("Digite Dois números para serem avaliados")

//Lê o primeiro e o segundo valor numero a ser avaliado e guarda na variável

leia(vet[3],vet[4])

//PARA E VERIFICA AS ENTRADAS

// Avalia se o segundo número é maior que o primeiro se for maior:

se (vet[4]<vet[3])então

//Usa a variável 'a' para guardar o valor de 'vet[3]'

vet[2]<-vet[4]

//Em seguida faz a troca 'vet[3]' recebe 'vet[2]'

vet[4]<-vet[3]

//E 'vet[2]' recebe 'a' que por sua vez contém 'vet[3]'

vet[3]<-vet[2]

//Finaliza 'se' da troca entre 'vet[2]e vet[3]'

Fimse

//AVALIA SE vet[3] É IMPAR

// Apresenta ao usuário todos os numeros impares entre 'vet[2]' e 'vet[3]'.

escreval ("Os numeros ímpares entre o primeiro e o ultimo numero informado são:")

// Se o resto da divisão de 'vet[3]' for '0' então

se (vet[4] mod 2 = 0 )então

//obs.: sem essa expressão o contador acrescenta mais 1 a 'vet[3]' fazendo com que a soma, saia fora dos parâmetros.

vet[4]<- vet[4]-1

fimse

// CONTADOR DE IMPAR 'vet[2]' E 'vet[3]'

//Passo 2 é necessário

para vet[3] de vet[3] ate vet[4] passo 2 faca

//AVALIA SE 'vet[2]' É IMPAR

se (vet[3] mod 2 = 0 )então

vet[3]<-vet[3]+1

ACUMULADOR RECEBE DADOS

// Acumulador do intervalo de 'vet[2]' para 'vet[3]'

vet[5]<-vet[5]+vet[3]

escreval("vet[3]")

vet[5]<-vet[5]+1

//Finaliza se, pois se o número que o usuário digitar for, par somado a '1' ele se tornará impar

Fimse

fimpara

//Imprime a soma dos números impares caso a caso

escreval("A soma total deste caso é: ",vet[5])

fimpara

fim

Representação em gráfica:

Tabelas verdade:

Código fonte:

print 1 – Contar números impare

#include <stdio.h>

#include <stdlib.h>

int main(){

int vet[5];

int i;

printf (" SOME TODOS OS NUMEROS IMPARES COMPREENDIDOS ENTRE DOIS NUMEROS\n ");

printf("Informe a quantidade de casos a serem avaliados\n ");

scanf("%d",&vet[0]);

// CONTADOR DO NUMERO DE CASOS

for(i=1; i<=vet[0];i++){

printf("Digite Dois numeros para serem avaliados:\n ");

scanf("%d %d",&vet[2],&vet[3]);

//PARA E VERIFICA AS ENTRADAS

if (vet[3]<vet[2]){

vet[1]=vet[3];

vet[3]=vet[2];

vet[2]=vet[1];

}

//AVALIA SE vet[3] É IMPAR

printf("Os numeros \xA1mpares entre o primeiro e o último número informado s\x84o:\n");

if(vet[3] % 2){

vet[3]=vet[3]-1;

}

// CONTADOR DE IMPAR 'vet[2]' E 'vet[3]'

for(vet[4]=0; vet[2]<vet[3]; vet[2]++){

//AVALIA SE 'vet[2]' É IMPAR

if(vet[2]%2==0){

vet[2]=vet[2]+1;

//ACUMULADOR RECEBE DADOS

vet[4]=vet[4]+vet[2];

printf("%d,",vet[2]);

}

} .

printf(" \nA soma total deste caso \x82...%d\n ",vet[4]);

system ("PAUSE>>NULL");

}

Média de distância em metros

Link para o código fonte.cpp Distancia em metros.cpp

Link para o aplicativo.exe. Distancia em metros.exe

Algoritmo "Media de distância em metros"

Função: Medir a distância entre um ponto fixo, para 4 pontos e retornar a média com 1 casa decimal

Autor: Alexandre Robson de Oliveira

Data: 29/09/2013

Trabalho: ATPS Faculdade Anhanguera etapa 2 segundo semestre 2013

Representação em pseudolinguagem:

var

Nome1, Nome2, Nome3, Nome4: CARACTER //Declaração das variáveis para inclusão de nomes

Distancia1, Distancia2, Distancia3, Distancia4, Media: REAL //Declaração das variáveis para inclusão das distancias, e a média para receber a média das somas divididas pela quantidade de distancias informadas.

Inicio

ESCREVA ("INFORME O NOME DE SEU AMIGO:”) //Solicita ao usuário o nome da primeira variável Nome1

LEIA (Nome1) //Lê o nome informado pelo usuário e guarda na variável Nome1

ESCREVA ("INFORME A DISTANCA ENTRE A SUA CASA E DE SEU COLEGA: ", Nome1,":”) //Solicita ao usuário a distância entre sua casa e de seu primeiro amigo Distancia1

LEIA (Distancia1) //Lê a distância informada pelo usuário e guarda na variável Distancia1

ESCREVA ("INFORME O NOME DE SEU AMIGO:”) //Solicita ao usuário o nome da primeira variável Nome2

LEIA (Nome2) //Lê o nome informado pelo usuário e guarda na variável Nome2

ESCREVA ("INFORME A DISTANCA ENTRE A SUA CASA E DE SEU COLEGA: ", Nome2,":”) //Solicita ao usuário a distância entre sua casa e de seu primeiro amigo Distancia2

LEIA (Distancia2) //Lê a distância informada pelo usuário e guarda na variável Distancia2

ESCREVA ("INFORME O NOME DE SEU AMIGO:”) //Solicita ao usuário o nome da primeira variável Nome3

LEIA (Nome3) //Lê o nome informado pelo usuário e guarda na variável Nome3

ESCREVA ("INFORME A DISTANCA ENTRE A SUA CASA E DE SEU COLEGA: ", Nome3,":”) //Solicita ao usuário a distância entre sua casa e de seu primeiro amigo Distancia3

LEIA (Distancia3) //Lê a distância informada pelo usuário e guarda na variável Distancia3

ESCREVA ("INFORME O NOME DE SEU AMIGO:”) //Solicita ao usuário o nome da primeira variável Nome4

LEIA (Nome4) //Lê o nome informado pelo usuário e guarda na variável Nome4

ESCREVA ("INFORME A DISTANCA ENTRE A SUA CASA E DE SEU COLEGA: ", Nome4,":”) //Solicita ao usuário a distância entre sua casa e de seu primeiro amigo Distancia4

LEIA (Distancia4) //Lê a distância informada pelo usuário e guarda na variável Distancia4

Media <- (Distancia1 + Distancia2 + Distancia3 + Distancia4) / 4// Guarda o resultado das somas das distâncias dividido pelo número de distancias informadas na variável media.

Escreva ("Distância média entre as casas dos amigos e sua casa é de:", Media) //Escreve na tela a média das distancias informadas pelo usuário.

fimalgoritmo//Fim do bloco de instruções

Representação em módulos:

Código fonte:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

int main()

{

char Nome1, Nome2, Nome3, Nome4;

float Distancia1, Distancia2, Distancia3, Distancia4, Media;

printf("Informe o nome do seu amigo : ");

scanf("%s", &Nome1);

printf("Informe a distancia entre sua casa e de seu amigo : ");

scanf ("%f", &Distancia1);

printf("Informe o nome do seu amigo : ");

scanf("%s", &Nome2);

printf("Informe a distancia entre sua casa e de seu amigo : ");

scanf ("%f", &Distancia2);

printf("Informe o nome do seu amigo : ");

scanf ("%s", &Nome3);

printf("Informe a distancia entre sua casa e de seu amigo : ");

scanf ("%f", &Distancia3);

printf("Informe o nome do seu amigo : ");

scanf ("%s", &Nome4);

printf("informe a distancia entre sua casa e de seu amigo : ");

scanf ("%f", &Distancia4);

Media = (Distancia1 + Distancia2 + Distancia3 + Distancia4)/4;

printf("Distancia media entre as casas dos amigos e sua casa e de : ""%.1f metros \n\n\n\n\n", Media);

system("pause");

return 0;

}

Exemplo de saida

Print 1 – exemplo de saída da média de distância em metros

Converter números em quantidade de leds

Link para o código fonte.cpp leds.cpp

Link para o aplicativo.exe. leds.exe

Algoritmo "Montar número com leds"

Função: Identificar quantidade de casos e números fornecidos pelo usuário

e retornar a quantidade de leds necessários para construção digital dos números.

Autor: Thiago Alcântara Pena

Data: 29/09/2013

Trabalho: ATPS Faculdade Anhanguera etapa 2 segundo semestre 2013

Representação em pseudolinguagem:

var

// DECLARAÇÃO DE VARIAVEIS INTEIRAS

i, N, numero, a, b, q, led, total : inteiro

// PROCEDIMENTO PARA CONVERTER NUMEROS EM QUANTIDADE DE LEDS

procedimento conversao

inicio

// FUNÇÃO ( COMPR ) RETORNA A DIMENSÃO DO CARACTER

q <- (compr(numpcarac(numero)))

total <- 0

para a de 1 ate q faca

// FUNÇÃO ( CARACPNUM ) CONVERTENDO CARACTER PARA VALOR NUMERICO

b <- caracpnum((copia(numpcarac(numero), a, 1)))

// INICIO OPERADOR CONCICIONAL ENQUANTO

escolha b

caso 1

led <- 2

caso 2

led <- 5

caso 3

led <- 5

caso 4

led <- 4

caso 5

led <- 5

caso 6

led <-

caso 7

led <- 4

caso 8

led <- 7

caso 9

led <- 6

caso 0

led <- 6

// FINALIZANDO OPERADOR CONDICIONAL ENQUANTO

Fimescolha

// SOMANDO VALOR DE LEDS

total <- (total + led)

fimpara

// FINAL PROCEDIMENTO

fimprocedimento

inicio

// Seção de Comandos

// COLOCANDO VALOR INICIAL PARA I

i <- 1

// SOLICITAÇÃO NUMERO DE ENTRADAS

escreval("INFORME O NUMERO DE TESTES QUE DESEJA EFETUAR:")

// ENTRADA DO NUMERO DE TESTES

leia(N)

// LIMITANDO ENTRADA ENTRE

//INICIO DESVIO CONDICIONAL SE

se (N >= i) OU (N <= 2000) entao (1>= N <= 2000

// INICIO CONDIÇÃO ENQUANTO

enquanto (i <= N) faca

// SOLICITAÇÃO ENTRADA DE VALORES PARA CONVERSÃO

escreval("INFORME O NUMERO QUE DESEJA A INFORMAÇÃO DA QUANTIDADE EM LEDS:")

// ENTRADA DOS VALORES A SER CONVERTIDO

leia(numero)

// CHAMANDO PROCEDIMENTO

Conversao

// SAIDA VALORES CONVERTIDOS

escreval("TOTAL DE ",total," LEDS ")

// IMPLEMENTANDO +1 AO VALOR DE I

i <- (i + 1)

fimenquanto

senao

escreval("Quantidade informada inválida. A quantidade deve ser entre 1 e 2000")

// FIM DESVIO CONDICIONAL SE

Fimse

Fimalgoritm

Representação em módulos:

Código fonte:

/*CODIGO FONTE "Montar número com leds"

Função: Identificar quantidade de casos e números fornecidos pelo usuário

e retornar a quantidade de leds necessários para construção digital dos números.

Autor: Reginaldo Batista de Souza

Data: 29/09/2013

Trabalho: ATPS Faculdade Anhanguera etapa 2 segundo semestre 2013*/

Print 1 - Montar número com leds.

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

#include <math.h>

int main(){

//DECLARAÇÃO DE VARIÁVEIS

int i,aux,caso,x,numero,resultado;

char y[5];

//USÚARIO É SOLICITADO A INSERIR A QUANTIDADE DE TESTE DESEJADA

printf("\t\t\tNUMERO DE CASOS PARA TESTES: ") ;

scanf("%d",&caso);

/*SE CASO DE TESTE FOR MENOR QUE 1 OU MAIOR QUE 2000 O USÚARIO RECEBE UMA NOTIFICAÇÃO E O SISTEMA É ENCERRADO*/

if (caso < 1 || caso >= 2000){

printf("\nQuantidade informada invalida. A quantidade deve ser entre 1 e 2000\n");

return 0;

}

/* O FOR AVALIA O NUMERO DE CASOS E ENQUANTO O CONTADOR i FOR MENOR QUE caso ELE EXECUTA O COMANDO SEGUINTE*/

for (i=0; caso>= i; i++){

//RECEBE O NUMERO PARA AVALIAÇÃO DA QUANTIDADE DE LEDS

printf("\nInforme o n\xA3mero para obter a quantidade de leds necess\xA0rios:");

//ATRIBUI OS DADOS FORNECIDO PELO USÚARIO À VARIÁVEL numero.

scanf("%d",&numero);

// sprinf PEGA O NUMERO int UM A UM E CONVERTE EM char

sprintf(y,"%d",numero);

/*i RECEBE A QUANTIDADE DE CARACTERES ATRAVEZ DE strlen, FOR DISTRIBUI sprintf EM Y NA POSIÇÃO DE i */

for(i=0;i<strlen(y);++i){

/*switch case RECEBE y NA POSIÇÃO DE i E AVALIA SEU CONTEUDO, E ATRIBUI A VARIAVEL x DO TIPO int O VALOR REFERENTE AO DETERMINADO PARA CADA CONTEÚDO QUE POSSA ESTA EM Y */

switch(y[i])

{

case '0':

x=6;

break;

case '1':

x=2;

break;

case '2':

x=5;

break;

case '3':

x=5;

break;

case '4':

x=4;

break;

case '5':

x=5;

break;

case '6':

x=6;

break;

case '7':

x=3;

break;

case '8':

x=7;

break;

case '9':

x=6;

break;

}

//resultado DO TIPO int SOMA CADA OCORRENCIA DE y[i]

resultado=resultado+x;

}

// printf RETORNA AO USÚARIO A QUANTIDADE DE LEDS NECESSÁRIOS

printf("%d Leds ",resultado);

/*resultado RETORNA A '0' CASO NÃO OUVESSE ESSA DECLARAÇÃO resultado

SOMARIA SUCESSIVAMENTE ACUMULANDO RESULTADOS APÓS RESULTADOS*/

resultado=0;

getch();

}

return 0; }

O Problema de Josephus

Link para o código fonte.cpp permutação de joseph.cpp

Link para o aplicativo.exe. permutação de joseph.exe

Algoritmo: "O Problema de Josephus"

Função: Calcular a sequência de pessoas a sair da roda

Autor: Reginaldo Batista de Souza

Data: 08/09/2013

Trabalho ATPS Faculdade Anhanguera etapa 4 segundo semestre 2013*/

Representação em pseudolinguagem:

var

i, pessoas, passos, casos, sobra: inteiro

inicio

escreval("O Problema de Josephus ")

escreval("Informe a quantidade de casos a serem avaliados")

leia(casos)

i<-1

para i de 1 ate casos faca

escreval("Digite o numero de pessoas no círculo:")

leia(pessoas)

escreval("Digite o intervalo de passos entre duas pessoas: ")

leia(passos)

sobra<-passos*pessoas;

enquanto sobra > pessoas faca

sobra<-((passos*(passos-pessoas))-1)/(passos-1)

fimenquanto

escreval("caso",i,":",sobra)

i<-i+1

fimpara

fimalgoritmo

Representação em módulos:

Código fonte: Print 1 – permutação de Josephus.

#include <stdio.h>

#include <stdlib.h>

main(){

// DECLARANDO VARIÁVEIS

int j[4],i; //TITULO

printf("\nO Problema de Josephus \n\n");

// Pede ao usuario que digite a quantidade de casos que gostaria de avaliar

printf("Informe a quantidade de casos a serem avaliados\n ");

//Lê a quantidade de casos a ser avaliado e grarda na variável

scanf("%d",&j[0]);

// CONTADOR DO NUMERO DE CASOS

for(i=1; i<=j[0];i++){

//Pede ao usuario que digite o numero de pessoas

printf("Digite o numero de pessoas no c\xA1rculo: ");

//guarda o numero de pessoas na variável

scanf("%d",&j[1]);

//pede ao usuario o intervalo de passos entre duas pessoas

printf("Digite o intervalo de passos entre duas pessoas: ");

//guarda o intervalo na variável

scanf("%d",&j[2]);

//variávél j[3] recebe o numero de passos veses o numero de pessoas

j[3]=j[2]*j[1];

//WHILE DECOMPOE j[3] ATÉ j[3] SER MENOR QUE PESSOAS NO CÍRCULO

//escolhe j[3] menor que o número de pessoas

while (j[3]>j[1])

/*sistema de decomposição j[3] recebe (qtd. passos *(j[3] - total de pessoas

no círculo )-1 pessoa)/(qtd. passos -1 passo)*/

j[3]=(j[2]*(j[3]-j[1])-1)/(j[2]-1);

//imprime o resultado final

printf("\ncaso%d:%d\n\n",i,j[3]);

system ("PAUSE>>NULL");

}

...

Baixar como  txt (15.7 Kb)  
Continuar por mais 9 páginas »