Ir para conteúdo

POWERED BY:

Arquivado

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

MaikeJordan

Exercicios de algoritmo

Recommended Posts

Comecei fazer um curso de Logica de Programação, e não to conseguindo resolver esses algoritmos. Preciso da resposta o mais rápido possível, Se tiverem como me ajudar. Obrigado

 

1- Elabore um algoritmo que receba uma quantidade qualquer de valores numéricos e determine :

 

a-) os dois maiores e os dois menores números.

b-) a quantidade de números impares e pares.

c-) A Soma total dos números pares, e soma total de números impares.

 

2- Elabore um algoritmo que permita uma quantidade de nomes. Ao final escreva a quantidade de vezes que foram encontradas as Letras "A" "B" e "C" maisculas e minusculas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

post aqui seus progressos e suas duvidas para podermos ajuda-lo

Compartilhar este post


Link para o post
Compartilhar em outros sites

post aqui seus progressos e suas duvidas para podermos ajuda-lo

 

var

numero, maior1, maior2, contapar, contaimpar : inteiro

somapar, somaimpar, x : inteiro

sair : caracter

inicio

// Seção de Comandos

maior1 <- 0

maior2 <- 0

leia (numero)

leia (numero)

se (numero) > (maior1) entao

x <- maior1 entao

maior1 <- numero

senao (numero) > (maior2) entao

maior <- numero

fimse

se x > maior2 entao

entao maior2 <- x

fimse

fimalgoritmo

 

comecei fazer assim, mais nao conseguir desenvolve-lo, pois ainda nao tive nenhum exemplo que se pareça com ele,

quando tento executar apenas um valor é mostrado, e nao sei como resolver.

 

sobre o segundo exercicio, nao sei se tem alguma funcao que possa identificar o caracter, e me imprimilo depois,

Compartilhar este post


Link para o post
Compartilhar em outros sites

O exercício para os maiores números é assim

 

algoritmo "maiores numeros"
// Função :
// Autor :
// Data : 10/12/2011
// Seção de Declarações 
var

numero, maior1, maior2  : inteiro

inicio

// Seção de Comandos
maior1 <- -1000
maior2 <- -1000
numero <- 0
enquanto numero <> -1 faca
  escreval("digite um numero inteiro qualquer diferente de menos um (-1)")
  escreval("este valor encerra a execução")
  leia (numero)
  se numero >  maior1 entao
     maior2 <- maior1
     maior1 <- numero
  senao
     se numero > maior2 entao
        maior2 <- numero
     fimse
  fimse
fimenquanto
escreval("os maiores numeros são: ", maior1, " e ", maior2)
fimalgoritmo

 

Com base neste faça os demais e se tiver duvidas poste-as

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo ,

o seu senao não pode receber outros parametros ..

para fazer essa estrutura :

 

senao (numero) > (maior2) entao

maior <- numero

fimse

 

teria que colocar um senao se

 

desse jeito :

 

senao

se numero > maior2 entao

maior2 <- numero

fimse

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você também pode add os numeros num array, usar uma função que pegue o maior e o menor número, fica mais fácil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Expondo a idéia em PHP ..

 

<?php
      $set = Array ( 
             2 , 100 , 200 , 302 , 303 , 304 , 305 , 306 , 307 , 308 ,
             400 , 403 , 405 , 404 , 12 , 28 , 6 , 9 , 102 , 203 , 905 ,
             994 , 321 , 426 , 169 , 167 , 136 , 293 , 339 , 485 , 469 
      ) ;

      echo '<pre>'; 
             function getBiggestAndLowest ( array $array , $want = 2 ) {
                    static $filter = array ( ) ;
                    $max = max ( $array ) ; $min = min ( $array ) ;
                    $posMax = array_search ( $max , $array ) ;
                    $posMin = array_search ( $min , $array ) ;
                    unset ( $array [ $posMax ] , $array [ $posMin ] ) ;
                    $filter [ 'max' ] [ ] = $max ;
                    $filter [ 'min' ] [ ] = $min ;
                    $countMax = count ( $filter [ 'max' ] ) ;
                    $countMin = count ( $filter [ 'min' ] ) ;
                    if ( $countMax < $want && $countMin < $want ) getBiggestAndLowest ( $array , $want ) ;
                    return $filter ;
             }

             function getOddAndEven ( array $array ) {
                    $odd = array_filter ( $array , function ( $number ) { 
                        return ( $number & 1 ) ;   
                    } ) ; 
                    $even = array_filter ( $array , function ( $number ) { 
                        return ( ! ( $number & 1 ) ) ;
                    } ) ;
                    return array ( 
                           'Impar' => $odd , 
                           'Par' => $even , 
                           'somaPar' => array_sum ( $even ) ,
                           'somaImpar' => array_sum ( $odd ) 
                    ) ;
             }

             // Pega somente os dois maiores .. 
             $maxMin = getBiggestAndLowest( $set , 2 ) ;
             print_r ( $maxMin ) ;

             // Filtra impar/par, e soma estes.
             $oddEven = getOddAndEven ( $set ) ;
             print_r ( $oddEven ) ;
      echo '</pre>';

 

Saída:

Array
(
   [max] => Array
       (
           [0] => 994
           [1] => 905
       )

   [min] => Array
       (
           [0] => 2
           [1] => 6
       )

)
Array
(
   [impar] => Array
       (
           [4] => 303
           [6] => 305
           [8] => 307
           [11] => 403
           [12] => 405
           [17] => 9
           [19] => 203
           [20] => 905
           [22] => 321
           [24] => 169
           [25] => 167
           [27] => 293
           [28] => 339
           [29] => 485
           [30] => 469
       )

   [Par] => Array
       (
           [0] => 2
           [1] => 100
           [2] => 200
           [3] => 302
           [5] => 304
           [7] => 306
           [9] => 308
           [10] => 400
           [13] => 404
           [14] => 12
           [15] => 28
           [16] => 6
           [18] => 102
           [21] => 994
           [23] => 426
           [26] => 136
       )

   [somaPar] => 4030
   [somaImpar] => 5083
)

 

Não dá pra mim resolver o segundo problema, você não explicou direito, não definiu os termos.

 

O problema é que foi utilizado uma função nativa da linguagem, talvez a linguagem que você apresente isto, não terá esse recurso,

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.