ejercicios resueltos de algoritmos - c++

51
/ Algoritmo números primos // Função : calcular e mostrar números primos // Autor : Pedro Ramos // Data : 03/05/2008 algoritmo "números primos" var re,f,n,x,r : inteiro inicio escreval ("digite até que número deseja saber os primos") leia (n) escreval("Os numeros primos de 1 até",n," são") escreva("2") x<-3 repita f<- 2 re<-9 enquanto (x<>f) faca r<-x mod f f<-f+1 se r=0 entao re <-0 fimse fimenquanto se re=9 entao escreva(x) fimse x<-x+1 ate x>=n+1 escreval("") escreval("obs: Os números 1 e 9, não são considerados números primos e não serão escritos") fimalgoritmo

Upload: nastu-dragneel

Post on 06-Nov-2015

220 views

Category:

Documents


20 download

DESCRIPTION

Ejercicios Resueltos de Algoritmos - C++

TRANSCRIPT

  • / Algoritmo nmeros primos

    // Funo : calcular e mostrar nmeros primos

    // Autor : Pedro Ramos

    // Data : 03/05/2008

    algoritmo "nmeros primos"

    var

    re,f,n,x,r : inteiro

    inicio

    escreval ("digite at que nmero deseja saber os primos")

    leia (n)

    escreval("Os numeros primos de 1 at",n," so")

    escreva("2")

    x

  • Apr

    18

    Algoritmos

    Este conjunto de algoritmos foram desenvolvidos no visuAlg. Para Achar o algoritmo que voc

    est precisando, aperte Ctrl + F e digite um nome relacionado com o algoritmo que voc

    procura. Ex:"mdia de notas" ou "contador" ou "cont". Bons estudos!!!

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

    Assista ao Vdeo Explicativo

    algoritmo "ADIVINHAR NMEROS" // Funo : Imagine uma brincadeira entre dois colegas, na qual um pensa um nmero

    // e o outro deve fazer chutes at acertar o nmero imaginado. Como dica,

    // a cada tentativa dito se o chute foi alto ou foi baixo. Elabore

    // dentro deste contexto, que leia o nmero imaginado e os chutes, no final

    // mostre quantas tentivas foram necessrias para descobrir o nmero.

    // Autor : @ailtonlima

    var

    num:inteiro //nmero inicial a ser descoberto

    chute:inteiro //tentativa de acerto do nmero

    tent :inteiro //nmeros de tentativas de acerto do nmero

    inicio

    // Seo de Comandos

    tent

  • algoritmo "SORTEIOS DE NMEROS" // Autor : twitter.com/AiltonLima

    var

    a, b : inteiro

    x : vetor[1..10] de real

    procedimento troca( var a, b : real )

    var t : real

    inicio

    t

  • // Funo :calcular quantos litros de tintas e o valor para pintar uma determinada rea

    // Autor : @ailtonlima

    var

    H,R:real

    C,Qtde,Area,Litro:real

    inicio

    // Seo de Comandos

    escreva ("Entre com a altura: ")

    leia (H)

    escreva("Entre com o raio: ")

    leia(R)

    Area

  • algoritmo "ENCONTRAR NMERO MAIOR MENOR" // Funo : Escreva um algoritmo que leia um conjunto de 10 nmeros inteiros

    //e mostre qual foi o maior e o menor valor fornecido.

    // Autor : @ailtonlima

    var

    num:inteiro //nmero digitado pelo usurio

    menorNum:inteiro // menor nmero do conjunto

    maiorNum:inteiro //maior nmero do conjunto

    cont:inteiro //contador

    inicio

    // Seo de Comandos

    para cont de 1 ate 10 passo 1 faca

    escreva("Digite um nmero: ")

    leia(num)

    se cont = 1 entao // o primeiro valor?

    maiorNUm

  • mediaOtimo
  • var

    n:inteiro //nmero-base

    con:inteiro //contador

    x: inteiro //varivel de controle

    inicio

    // Seo de Comandos

    escreva ("Digite um nmero para a tabuada: ")

    leia (n)

    faca

    para x de 1 ate 10 passo 1 faca

    con

  • // Funo : Tabuada que receba qualquer nmero pelo usurio e saia com o finalizador -1.

    // Autor : @ailtonlima

    //var

    //n:inteiro //nmero-base

    //con:inteiro //contador

    //inicio

    // Seo de Comandos

    //escreva ("Digite um nmero para a tabuada ou (-1) para sair: ")

    //leia (n)

    //repita

    //con

  • acm
  • //-----------------------

    repita

    leia (tv)

    escolha tv

    caso "t"

    ct

  • leia(ma)

    se ma -1 entao //evita acumulao do finalizador

    acm

  • Assista ao Vdeo Explicativo

    algoritmo "INTEIRO PRXIMO DE RAZ QUADRADA" // Funo : Elabore um algoritmo que calcule um nmero inteiro que mais

    // se aproxima da raiz quadrada de um nmero fornecido pelo usurio.

    // Autor : @ailtonlima

    var

    n: inteiro //nmero fornecido pelo usurio

    r: inteiro //raiz inteira aproximada

    inicio

    // Seo de Comandos

    escreva ("Digite um nmero inteiro: ")

    leia(n)

    r

  • var

    N1,N2,N3,Md: real

    inicio

    // Seo de Comandos

    escreval("Escreva primeira nota :")

    leia (N1)

    escreval("Escreva segunda nota :")

    leia (N2)

    escreval("Escreva terceira nota :")

    leia (N3)

    faca

    Md 5 entao

    escreva ("Aprovado")

    senao

    escreva("Reprovado")

    fimse

    fimalgoritmo

    --------------------------------------FIM--------------------------------------

    {Assista ao vdeo explicativo}

    algoritmo "POTENCIAO E RADICIAO" // Funo : Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer do

    plano,

    // P(X1, Y1 )e Q(X2,Y2), imprima a distncia entre eles.

    // Autor :

    var

    x1,x2,y1,y2,a,b,A_respPotenc,B_respPotenc, somaA_B,radSoma:real

    inicio

    // Seo de Comandos

    escreva ("Digite 1 nmero inicial :")

    leia (x1)

    escreva ("Digite 1 nmero final :")

    leia (x2)

    escreva ("Digite 2 nmero inicial :")

    leia (y1)

    escreva ("Digite 2 nmero final :")

    leia (y2)

    //d= rad(pot(x2-x1,2)+pot(y2-y1,2))

    a

  • radSoma
  • Escreva("Digite A:")

    leia (A)

    escreva("Digite B:")

    leia (B)

    escreva("Digite C:")

    leia(C)

    //D

  • escreva ("Digite a: ") // primeiro nmero da srie

    leia (a)

    escreva ("Digite b: ") // primeiro nmero da srie

    leia (b)

    para v de 3 ate 20 passo 1 faca

    c

  • 1 , 1 , 2 , 3 , 5 , 8 ...

    --------------------------------------FIM--------------------------------------

    algoritmo "somando_Numeros_De_1_ate_N" // Funo : Elabore um algoritmo que leia um nmero qualquer e chame uma sub-

    rotina(funo)que

    //calcule a soma de todos os nmeros entre 1 e o nmero lido

    //E retorne essa soma. Aps chamar a sub-rotina, apresente a soma obtida

    // twitter @ailtonlima

    var

    i:inteiro //acm = acumulador

    x,y,acm :inteiro

    inicio

    // Seo de Comandos

    Escreva("Digite um nmero ")

    leia(x) //entrada

    y

  • escreval ("Escreva b :")

    leia (b)

    escreval("A :",a, " - B :",b)

    troca(a,b)

    escreval("A :",a, " - B :",b)

    fimalgoritmo

    --------------------------------------FIM--------------------------------------

    Assista ao Vdeo Explicativo

    algoritmo "VOLUME DE UMA ESFERA" // Funo :

    // Autor : @ailtonlima

    var

    vol: real

    r:real

    inicio

    // Seo de Comandos

    escreva("Digite o raio: ")

    leia(r)

    vol

  • algoritmo "FATORIAL"

    // Funo : Elabore um algoritmo que calcule N!(fatorial de N),

    //sendo que o valor de inteiro de N fornecido pelo usurio.

    //N! = 1 x 2 x 3 X ...X (N - 1)X N;

    //0! = 1, por definio.

    // Autor : @ailtonlima

    var

    n: inteiro //dado de entrada

    f: inteiro //resultado do fatorial de N

    v: inteiro //varivel de controle

    inicio

    // Seo de Comandos

    escreva ("Digite nmero :")

    leia(n)

    se (n = 0) entao

    escreva ("Fatorial de ", n, " = 1")

    senao

    f

  • inicio

    //qual consumo efetuado?

    //qual autonomia que ainda teria antes do abastecimento?

    // Seo de Comandos

    escreva ("Digite a capacidade do tanque em litros: ")

    leia(capacTanq)

    escreva ("Quantidades de litros abastecidos: ")

    leia (litroAbast)

    escreva ("Qual quilometragem desde o ltimo abastecimento? ")

    leia(kmpUltAbast)

    respCons

  • pesoNum3
  • fimpara

    escreva ("Digite uma idade :")

    leia (idadeAux)

    para j de 1 ate 5 faca

    se idadeAux = idade[j]entao

    escreva (" o(a)", nome [j])

    escreval (" que tem", idade[j]," anos")

    fimse

    fimpara

    fimalgoritmo

    --------------------------------------FIM--------------------------------------

    algoritmo "Nmeros negativos + limpa tela" var

    {Declara um vetor para armazenar 5 nmeros do tipo inteiro}

    numeros: vetor[1..10] de inteiro

    contador:inteiro

    inicio

    para contador de 1 ate 10 faca

    escreva("Digite o ",contador," nmero: ")

    leia(numeros[contador])

    fimpara

    limpatela

    para contador de 1 ate 10 faca

    se(numeros[contador]< 0) entao

    escreva(numeros[contador]," ")

    fimse

    fimpara

    fimalgoritmo

    --------------------------------------FIM--------------------------------------

    Algoritmo "CONTA E MOSTRA QUANTOS NMEROS NEGATIVOS" VAR

    NUMERO: VETOR [1..6] DE inteiro//REAL

    I, contNeg: INTEIRO

    inicio

    contNeg

  • fimse

    fimpara

    para i de 1 ate 6 faca

    escreval (NUMERO[i])

    fimpara

    escreva ("Total de nmeros negativos: ", contNeg)

    fimalgoritmo

    --------------------------------------FIM--------------------------------------

    algoritmo "FUNO SOMA" var Valor_1,Valor_2, soma: real

    // i,x:inteiro

    FUNCAO FSoma(Recebe_valor1, Recebe_valor2: Real):Real

    var

    total : real

    Inicio

    total

  • valorInteiro 5 entao

    escreval(" ",j," famlia possui", v[j]," pessoas")

    fimse

    fimpara

    fimalgoritmo

    --------------------------------------FIM--------------------------------------

    Algoritmo "RETORNA O SOBRENOME" var

    nome, sobrenome : Caractere

    qtdCaracter, local_espcao : INTEIRO

    inicio

    escreva ("Digite seu nome: ")

    leia (nome)

  • qtdCaracter
  • //resp:caractere

    inicio

    // Seo de Comandos

    para i de 1 ate 15 faca

    escreva ("Digite uma idade :")

    leia (idad)

    se idad < 18 entao

    escreval ("Menor de idade")

    fimse

    fimpara

    fimalgoritmo

    -----------------C++

    #include

    #include

    int main()

    {

    int contador;

    int idade;

    char nome[10];

    //controla a quantidade de alunos

    for (contador = 1; contador < 16; contador++) { // interao com o usurio printf("Digite o nome

    do nadador: "); scanf("%s", &nome); printf("Digite a idade do nadador "); scanf("%d",&idade);

    //testa idade if( idade > 17 ) {

    printf("Menor de idade");

    }

    }

    getch();

    }

    --------------------------------------FIM--------------------------------------

    algoritmo "VARIVEL DE CONTROLE COM MOD" // Funo : Elabora um algoritmo que efetua a soma de todos os nmeros mpares

    //que so mltiplos de 3 e que se encontram no conjunto dos nmeros de 1 at 500.

    var

    si:inteiro //soma dos nmeros mpares

    v:inteiro //varivel de controle

    inicio

    // Seo de Comandos

    si

  • se v mod 3 = 0 entao //mltiplos de trs?

    escreval(" ",v)

    si

  • inicio

    // Seo de Comandos

    cs

  • fimalgoritmo

    --------------------------------------FIM--------------------------------------

    {Assista ao vdeo explicativo}

    Algoritmo "CRONMETRO"

    var

    hora, minuto, segundo: inteiro

    inicio

    hora

  • //Seo de Comandos

    escreva("Entre com um nmero inteiro :")

    leia(y)

    d 0 faca

    se (y mod 2) = 0 entao //se o resto no for = 0 escreva 1

    x

  • Aux
  • leia(num)

    // Busca

    j

  • //--------------------------------------------------------------------

    se i < 4 entao

    escreval(" ")

    escreval("Outro clculo")

    senao

    escreval(" ")

    fimse

    fimpara

    //-----------------------------------------------------------------

    //calcular e mostrar o resultado de cada operao em V es

    para i de 1 ate 4 faca

    escolha (vOper[i])

    caso "+"

    vResp[i]

  • leia (v[i])

    fimpara

    //ordenao do vetor

    para i de 1 ate 9 passo 1 faca

    k

  • leia(b)

    escreva ("Digite C: ")

    leia(c)

    //D

  • para i de 1 ate n passo 2 faca //Contador de controle*

    //por qu 'passo 2 faa'? Para contar s os nmeros impares

    n1

  • escolha canal

    caso "1"

    Record

  • escreval("Band teve ",Band:2:2,"% de audincia.")

    escreval("Globo teve ",Globo:2:2,"% de audincia.")

    escreval("redeTv teve ",redeTv:2:2,"% de audincia.")

    escreval("Gazeta teve ",Gazeta:2:2,"% de audincia.")

    escreval("No assistiram: ",branco:2:2,"%.")

    fimalgoritmo

    ----------------------------------FIM----------------------------------

    {Assista ao Vdeo Explicativo}

    Algoritmo "VETOR ORDENAO DE TRS PARA FRENTE"

    var

    numeros: vetor [1..20] de inteiro

    cont, indice, troca: inteiro

    inicio

    indice

  • escreva("Digite um nmero: ")

    leia(num)

    para cont de 1 ate num faca

    resultado

  • fimpara

    fimalgoritmo

    ----------------------------------FIM---------------------------------------

    Assista ao Vdeo Explicativo

    algoritmo "CAIXA REGISTRADORA - vetor" //funo: criar uma caixa de mercado que apresente os produtos, valores

    //e d a opo para que o cliente escolha produto e digite a quantidade.

    //o cdigo apresentar no final os valores somados da escolha

    //-------------------------------------------------

    //@ailtonlima

    var

    //variveis compostas

    valor, quant: vetor [1..6] de real

    produto: vetor [1..6] de caractere

    total: real //armazenar o total arrecadado

    //variveis simples

    contador,opcao: inteiro

    //-------------------------------------------------

    inicio

    para contador de 1 ate 6 faca

    escreva("Digite o nome do ", contador," produto: ")

    leia(produto[contador])

    escreva("Digite o valor de ", produto[contador],": ")

    leia(valor[contador])

    fimpara

    //---------------------------------------------------

    limpatela //limpar tela

    opcao

  • fimpara

    escreval(" 0 - para sair")

    leia(opcao) //armazena a escolha que o usurio fizer.

    escreval("")//pula linha para melhor visualizao.

    se(opcao 0) entao

    escreva("Digite a quantidade: ")

    leia(quant[opcao])

    //----------------------------------------------------------

    total 0) entao

    total

  • {Assista ao Vdeo Explicativo}

    Algoritmo "Multiplicao de Vetores" var

    vet1, vet2, vet3: vetor[1..2] de inteiro

    contador: inteiro

    inicio

    para contador de 1 ate 2 faca

    escreva("Digite o ",contador," nmero do vetor1: ")

    leia (vet1[contador])

    fimpara

    limpatela

    para contador de 1 ate 2 faca

    escreva("Digite o ",contador," nmero do vetor2: ")

    leia(vet2[contador])

    fimpara

    limpatela

    para contador de 1 ate 2 faca

    vet3[contador]

  • leia(posicao[i,j])

    fimpara

    fimpara

    para i de 1 ate 4 passo 1 faca

    para j de 1 ate 4 passo 1 faca

    Escreval(" ")

    escreval ("Na",i," fileira e na carteira ",j," senta ",posicao[i,j])

    fimpara

    fimpara

    fimalgoritmo

    ------------------------------------FIM------------------------------------

    {Assista ao Vdeo Explicativo}

    Algoritmo "AGENDA MATRIZ" // Funo :usar matriz para construir uma agenda

    // Autor :@ailtonlima

    var

    dado:vetor[1..5,1..5]de caracter

    i,j:inteiro

    inicio

    // Seo de Comandos

    para i de 1 ate 5 passo 1 faca

    escreva ("Nome...:")

    leia(dado[i,1])

    escreva ("Endereo...:")

    leia(dado[i,2])

    escreva ("Cep...:")

    leia(dado[i,3])

    escreva ("Bairro...:")

    leia(dado[i,4])

    escreva ("Telefone...:")

    leia(dado[i,5])

    escreval (" ")

    fimpara

    {Rorina de sada}

    para i de 1 ate 5 passo 1 faca

    para j de 1 ate 5 passo 1 faca

    escreval (dado[i,j]," ")

    fimpara

    escreval(" --------- ")

    fimpara

    fimalgoritmo

  • ------------------------------------FIM------------------------------------

    {Assista ao Vdeo Explicativo}

    Algoritmo "Matriz maior valor e soma de valores " //Funo: Faa um algoritmo que leia uma matriz de nmeros 10x10, encontre

    // o maior valor da diagonal principal e a soma da diagonal secundria.

    // Seo de Declaraes

    var

    matA : vetor [1..10,1..10] de real

    i, j: inteiro //os ndice sempre inteiro

    maior,s : real

    inicio

    // Seo de Comandos

    maior maior) entao //atribui menor valor (matA[i,j])

    maior

  • ------------------------------------FIM------------------------------------

    //Assista ao Vdeo Explicativo

    Algoritmo "Matriz TRABALHANDO DIADONAL SECUNDRIA" //Funo: trabalhar diagonal secundria

    var

    matY : vetor [1..5,1..5] de real

    i, j : inteiro //os ndice sempre inteiro

    maior : real

    inicio

    // Seo de Comandos

    maior maior) entao

    maior

  • {Funo:A media dos elementos abaixo da diagonal principal,e}

    {A media dos elementos acima da diagonal secundaria}

    var

    matriz : vetor [1..5,1..5] de real

    i, j: inteiro //os ndice sempre inteiro

    somaPrinc,somaSecun,contPrinc,contSecun : real

    medP, medS : real

    //-----------------------------------

    inicio

    // Seo de Comandos

    somaPrinc

  • escreval("A media dos elementos abaixo da diagonal principal =",medP)

    escreval("A media dos elementos acima da diagonal secundaria =",medS)

    fimalgoritmo

    ------------------------------------FIM------------------------------------

    Posted 18th April 2011 by Ailton Lima

    6

    View comments

    APOCALIPSE

    "E faz que a todos, pequenos e grandes, ricos e pobres, livres e servos, lhes seja

    posto um sinal na mo direita ou na testa, para que ningum possa comprar ou

    vender , seno aqueles que tiver o sinal, ou o nome da besta, ou o nmero do seu

    nome. Aqui h sabedoria. Aquele que tem entendimento calcule o nmero da

    besta, porque nmero de homem; e seu nmero seiscentos e sessenta e seis"

    (Apocalipse 01101:10000-10010)

    Classic

    Flipcard

    Magazine

    Mosaic

    Sidebar

    Snapshot

    Timeslide

  • Mar

    29

    Mar

    29

    Ticutuco nocutuca ticutuco nocutuca no facebook

    Olha l o nosso patro Zuckerberg e sua namorada chinesinha, Priscilla Chan, passeando

    despreocupadamente na China.

    Aug

    2

    Hacker ativista. Uma ameaa ou uma proteo?

    Guy Fawkes foi um soldado ingls catlico que participou de uma tentativa de levante, em 1605,

    contra o rei protestante Jaime I e parlamentares ingleses, que ficou conhecida como Conspirao

    da Plvora. Os revoltosos pretendiam implodir o parlamento e seus membros como primeiro

    passo do levante, e Guy era o sujeito que tomava conta dos barris de plvora que seriam

    utilizados no atentado. Entretanto a conspirao foi descoberta e Guy preso, torturado e

    executado no dia 5 de novembro.

    Jun

    19

  • JavaScript

    Salve esta foto como:rock.png

    Salve esta foto como:rock_happy.png

    Para fazer este exerccio voc precisa de conhecimentos bsicos em html e css.

    Obs.: Onde tiver @ trocar por tags < >

    ---------------------PARTE-01-------------------------------------

    Aula 01 - Atributo Onload, Function e Evento.

    Jun

    11

    Entrevista sobre criatividade concedida ao portal WhoHub

    whohub:

    Como uma pessoa como voc comea a ser criativa e por qu?

    Ailton Lima: A criatividade aguada quando os recursos acabam. Tenham como exemplo apolo

    13 a misso lua, onde tiveram que criar um filtro, para o gs carbnico, com o que tinha dentro

    da nave. Minha criatividade despertou na falta de recursos, e quando estes existiam a produo

    de algo sempre foi bem maior. O porqu ? Um ato de coragem de produzir o que vem mente

    diante de uma necessidade.

    2

    Apr

    29

    Teste de Lgica com respostas e Explicao

    1) Teste de QI do Einstein resolvido.

    6

    Apr

    21

    Humor e Programao.

  • Lgica de Programao

    As prolas dos clientes

    Tirinhas retiradas do site: vidadeprogramador.com.br

    --------------------------------FIM-----------------------------------

    Explicando looping para um leigo

    Vocs j tentaram explicar o que um sistema em looping para quem no do ramo? A

    exemplificao abaixo excelente.

    1

    Apr

    19

    Barra do Twitter Transparente

    Coloque antes o twitter para o modelo antigo, depois de voc fazer todo o procedimento e a barra

    ficar transparente s voltar para o novo twitter.

    Procedimentos:

    1) Entrar no setting do twitter e depois em design.

    2) Copie o cdigo abaixo e cole na sua barra de endereo, onde se encontra o link

    "http://twitter.com/settings/design".

    3) Aperte enter. Pronto! Para verificar a mudana s navegar no twitter, agora pode voltar ao

    novo twitter.

    Apr

    18

    Algoritmos

    Este conjunto de algoritmos foram desenvolvidos no visuAlg. Para Achar o algoritmo que voc

    est precisando, aperte Ctrl + F e digite um nome relacionado com o algoritmo que voc procura.

    Ex:"mdia de notas" ou "contador" ou "cont".

    6

    Apr

    16

  • Sistemas Operacionais e seus designs

    O windows 95 se tornou um sistema bastante popular no Brasil e abriu as portas da tecnologia

    para todos os nveis de pessoa como vemos hoje.

    Um sistema com design simples para os modelos de hoje, mas bastante eficiente para aquilo que

    foi criado. Uma bela sacada comercial de mestre!

    Um sistema criado para atuar tanto nas empresas quanto nas casas dos usurios.

    O windows 2000 veio depois de algum perodo e com uma verso bastante melhorada.

    1

    Loading

    Send feedback