Você está na página 1de 19

Programao de Computadores I

< nvel A >


1) 2) 3) 4) 5) 6) 7) 8) 9) Apresente na tela a mensagem Al Mundo! Escreva o seu nome na tela. Leia um nome e o escreva na tela. Leia um nome e escreva uma pequena frase usando o nome lido. Leia um nmero e o escreva. Leia um nmero, calcule e escreva o seu dobro. Leia dois nmeros e os escreva. apresente o resultado obtido. Leia dois nmeros, calcule e escreve o quadrado dos dois. 10) Leia dois nmeros, calcule e escreva a soma de seus quadrados. 11) Leia dois nmeros, calcule a mdia e escreva os nmeros e sua respectiva mdia. 12) Leia trs nmeros, calcule e escreva a soma e sua mdia. 13) Leia cinco nmeros, calcule e escreva o valor que a soma dos 3 primeiros, dividido pelo 4 e multiplicado pelo 5. 14) Elabore um algoritmo que fornecida uma temperatura em graus Farenheit, informe sua correspondente em graus Celsius. Sabendo: C = 5 (F 32) 9 15) Elabore um algoritmo que fornecida uma temperatura em graus Celsius, informe sua correspondente em graus Farenheit. Sabendo: C = 9 * C + 32 5 16) Elabore um algoritmo que calcule o volume de uma esfera de raio r, em que r um valor informado. Sabendo: V = 4 r3 onde = 3.14 3 17) Leia o valor dos lados de um tringulo retngulo e calcule e informe a sua rea. Sabendo: rea = (base*altura)/2 18) Calcule e informe a mdia aritmtica de 4 notas bimestrais informadas. . Leia dois valores numricos, faa a operao de soma entre os 2 valores e

DCT/UFMS Bacharelado em Anlise de Sistemas

Prof. Marcos Alves

Programao de Computadores I

< nvel B >


19) Leia um nmero e escreva o respectivo nmero e uma frase dizendo se ele par ou mpar. 20) Leia um nmero real qualquer e escreva sua parte fracionria e tambm a sua parte inteira. 21) Determinar se uma pessoa maior ou menor de idade. 22) Leia dois valores, compare-os e escreva se so iguais ou diferentes. 23) Leia dois nmeros e mostre qual o maior dos dois. 24) Leia dois valores numricos, efetue a soma e apresente o seu resultado caso o valor somado seja maior que 10. 25) Leia dois valores numricos, efetue a adio caso o valor somado seja maior ou igual a 10 este dever ser apresentado somando-se a ele mais 5 e caso o valor somado no seja maior ou igual a 10 este dever ser apresentado subtraindose 7. 26) Leia dois nmeros e indique se so iguais. Se forem diferentes mostre o maior e o menor (nesta ordem). 27) Leia dois valores numricos e apresente a diferena do maior pelo menor. 28) Leia dois nmeros A e B, nesta ordem, e os imprima em ordem contrria, isto , se os dados lidos forem 5 e 9 por exemplo, devem ser impressos numa ordem 9 e 5. 29) Leia dois nmeros inteiros A e B e escreva uma mensagem informando se A ou no mltiplo de B. 30) Leia dois nmeros inteiros, escreva 1 se ambos forem positivos ou negativos, 2 se tiverem sinais opostos ou 3 se um deles for zero. 31) Leia trs nmeros, escreva o maior e o menor deles. 32) Leia trs nmeros, escreva a mdia destes nmeros. Verifique se todos so positivos. Caso algum nmero seja negativo, indique ao usurio que a mdia no ser calculada.

33)

Uma empresa decide dar um aumento de 30% aos funcionrios cujo salrio inferior a 500. Leia o salrio de um funcionrio e verifique se ele deve ou no receber o aumento, caso deva, calcule o novo salrio.

34) Elabore um menu de opes com 4 situaes diversas na qual o usurio dever escolher uma e apresente uma mensagem sobre a opo escolhida 35) Cinco pessoas escolhero sua cor favorita entre Verde, Vermelho, Amarelo, Azul, Laranja ou Roxo e exiba uma mensagens de cada cor escolhida. 36) Defina 5 faixas: faixa 1 - at 100 (inclusive) faixa 2 - de 101 at 200 faixa 3 - de 201 at 300
Prof. Marcos Alves

DCT/UFMS Bacharelado em Anlise de Sistemas

Programao de Computadores I

faixa 4 - de 301 at 400 faixa 5 - de 401 at 500

Leia um nmero e escreva a atual faixa que ele pertence, ou uma mensagem cada no pertena a nenhuma delas. 37) Permita que um usurio escolha entre 1, 2 e 3. Mostre uma mensagem da sua escolha ou indique erro para outros valores.

38)

Leia as medidas de uma sala retangular (largura da parede maior, largura da parede menor e altura da parede), calcule e escreva a soma das reas das paredes internas e tambm do teto. Obs.: Despreze a existncia de portas e janelas.

39)

Considerando o exerccio anterior, faa um algoritmo/programa que calcule quantas latas de tintas sero necessrias para pintar as paredes da sala em questo, sabendo que uma lata de tinta suficiente para pintar 3 m2.

40) Calcule e informe a quantidade de latas de tintas necessrias e o custo para pintar um cubo, cujo comprimento do lado informado. Sabendo: a lata de tinta custa R$ 4,00 cada lata contm 5 litros cada litro pinta 3 m2

41) Calcule a mdia final de 4 notas bimestrais informadas pelo usurio e informe tambm a situao final do aluno, sabendo: Aluno aprovado: mdia final >= 7.0

Aluno reprovado: mdia final < 7.0 Para homens: Para mulheres: peso ideal = (72.7 * h) - 58 peso ideal = (62.1 * h) 44.7

42) Calcule o peso ideal de uma pessoa, baseado em sua altura (h). Sabendo:

43) Calcule as razes de uma equao do 2 grau, levando em considerao a existncia de razes reais, sabendo: Existe razes reais, se >= 0 No existe razes reais, se < 0

44) Mostre todos os nmeros inteiros de 1 a 12. 45) Mostre todos os nmeros mpares de 1 a 31.

46)

Dada a idade de 1

nadador, classifique-o em uma das seguintes categorias:

Infantil A de 5 a 7 anos Infantil B de 8 a 10 anos Juvenil A de 11 a 13 anos Juvenil B de 14 a 17 anos Snior maiores de 18 anos

DCT/UFMS Bacharelado em Anlise de Sistemas

Prof. Marcos Alves

Programao de Computadores I

< nvel C >


47) Calcule a informe o valor de N! (fatorial de N), onde N deve ser um valor informado pelo usurio. 48) Leia trs nmeros e os escreva em ordem crescente. 49) Leia trs nmeros e imprima o nmero de maior valor absoluto. 50) Leia 10 nmeros e ao final escreva a soma e a mdia aritmtica desses nmeros. 51) Leia N nmeros e escreva a soma total e a mdia aritmtica desses nmeros. 52) 53) 54) 55) 56) 57) 58) 59) 60) 61) 62) 63) 64) Leia N nmeros e apresente sua mdia aritmtica, excluindo o menor deles. Calcule a soma e a mdia de um conjunto de valores digitados. Para finalizar a soma, o valor a ser digitado deve ser 0 (zero). Dado um nmero inteiro e uma razo, calcule a somatria dos primeiros 5 termos da Progresso Aritmtica, determinada por estes nmeros. Exiba os primeiros N termos da Progresso Aritmtica de razo 2 e termo inicial 4. Exiba os primeiros N termos da Progresso Aritmtica de razo 3 e termo inicial 3. Exiba os primeiros N termos da Progresso Aritmtica de razo e termo inicial fornecido pelo usurio. Leia um nmero de trs algarismo (CDU) e o imprima numa ordem inversa (UDC). Exemplo: 345 -> 543 Leia dois nmeros e uma operao matemtica elementar (+, -, *, /) e apresente o resultado. Apresente a tabuada de um fator escolhido pelo usurio. Apresente as tabuadas de 1 a 10 na tela do computador. Leia uma frase e rescreva esta frase centralizada no topo da tela. Escreva os nmeros pares no intervalo fechado [a, b] , onde a e b escolhidos pelo usurio. Efetue o clculo do reajuste de salrio de um funcionrio. Considere que o funcionrio dever receber um reajuste de 15% caso seu salrio seja menor que R$ 500,00, se o salrio for maior ou igual a R$ 500,00 mas menor ou igual a R$ 1.000,00, seu reajuste ser de 10%, caso seja ainda maior que R$ 1.000,00, o reajuste dever ser de 5%. 65) Leia o salrio bruto de um funcionrio, calcule o imposto e o seu salrio lquido, e os escreva. A tabela de imposto : Faixas at R$ 135,00 de R$ 135,00 at 750,00 acima de R$ 750,00 66) Clculo do Imposto Isento 10 % 25 %

Dados 3 valores A, B e C, verifique se eles podem ser os comprimentos dos lados de um tringulo e, se forem, verificar se compem um tringulo equiltero, issceles ou escaleno. Se eles no formarem um tringulo, escrever uma mensagem. Sabendo:

DCT/UFMS Bacharelado em Anlise de Sistemas

Prof. Marcos Alves

Programao de Computadores I

67)

propriedades: o comprimento de cada lado de um tringulo menor do que a definio 1: chama-se tringulo equiltero, o tringulo que tem os comprimentos definio 2: chama-se tringulo issceles, o tringulo que tem os comprimentos definio 3: chama-se tringulo escaleno, o tringulo que tem os comprimentos

soma dos comprimentos dos outros 2 lados. dos 3 lados iguais. de 2 dos lados iguais dos 3 lados diferentes. Calcule o valor de H, sendo que ele determinado pela srie: H = 1 + 3 + 5 +...+ 99_ 1 2 3 68) 50 Calcule o valor de R, sendo que ele determinado pela srie: R = 1 + 2 + 3 +...+ 105_ 3 5 7 69) 211 Calcule a soma dos 50 primeiros termos da srie S, determinado por: S = 1 - 2 + 3 - 4 + ... 1 3 5 7 70) Calcule a soma dos 25 primeiros termos da srie Z, determinado por: Z = - 1 + 2 - 3 + 4 - ... 100 98 96 94 71) Calcule a soma dos 10 primeiros termos da srie W, determinado por: W = 2 - 5_ + 2_ - 5_ + ... 500 450 400 350 72) Calcule o valor de A, sendo que ele determinado pela srie: A = 37 X 38 + 36 X 37 + 35 X 36 +...+ 1 X 2_ 1 73) 2 3 37 Calcule a soma dos 30 primeiros termos da srie G, determinado por: G = 480 - 475 + 470 - 465 + ... 10 74) 11 12 13 Fulano tem 1.50 mts e cresce 2 cm por ano, enquanto Ciclano tem 1.10 mts e cresce 3 cm por ano. Construa um algoritmo/programa que calcule e escreva quantos anos sero necessrios para que Ciclano seja maior que Fulano.

75)

Supondo que a populao de uma cidade A seja da ordem de 90.000 habitantes com uma taxa anual de crescimento de 3% e que a populao de uma cidade B seja, aproximadamente, de 200.000 habitantes com uma taxa anual de crescimento de 1,5%. Faa um algoritmo/programa que calcule e escreva o nmero de anos necessrios para que a populao da cidade A ultrapasse ou iguale a populao da cidade B, mantidas estas taxas de crescimento.

76)

Observe o programa a seguir: main()


Prof. Marcos Alves

DCT/UFMS Bacharelado em Anlise de Sistemas

Programao de Computadores I

} 77)

int i = i++ ; k = ++i l = j++ ++j ; printf(

1, j = 2, k = 3, l = 4 ; ; ; %d %d %d %d, i, j, k, l ) ;

Execute o programa e verifique os resultados. Observe o programa a seguir: main() { int i = i++ ; k = ++i l = j++ ++j ; printf( } 78)

1, j = 2, k , l ; + k ; + l ; %d %d %d %d, i, j, k, l ) ;

Execute o programa e verifique os resultados. Execute o programa e verifique os resultados: main() { int i = i++ ; k = ++i l = j++ ++j ; printf( } 79)

1, j = 2, k, l ; + k ; + l ; %d %d %d %d, i, j, k, l ) ;

Traduzir o algoritmo a seguir para C, executar e dizer se este programa imprime sempre o menor nmero. Justifique ou corrija o programa, caso este esteja errado: Leia a, b, c Se a < b ento d <-- a Se a < c ento d <-- a Se b < c ento d <-- b imprima d

80)

Elabore um programa que imprima valores de acordo com a tabela: i i i i i i i < 20 ---> 3 = 20 ---> 4, 5, 6 > 20 e i < 50 --> 5, 6 = 50 --> 6 > 50 e i < 75 --> 7, 8 >= 75 --> 9 = 90 --> 8

81)

Traduza e execute para a linguagem C: principal declarar i = 0, j = 1, m, k como inteiras imprima i, j para k de 1 at 20 faa m = i + j

DCT/UFMS Bacharelado em Anlise de Sistemas

Prof. Marcos Alves

Programao de Computadores I

imprima m i = j j = m fim para fim 82) Dado o Programa a seguir: main() { int y, a ; printf( Digite um valor: ) ; scanf( %d, &a ) ; for( y = a; y <= 100; y++ ) ; printf( %d , y) ; for( y = 100; y > 0 ; y-- ) { printf( %d\n, y) ; a = y + 5 ; } printf( %d, a ) ; } Execute, o que ser impresso? O programador cometeu um erro lgico. Identifique-o, corrigindo o programa. Rescreva o programa, sem usar o comando for. 83) Pea para o usurio adivinhar um nmero escolhido aleatoriamente entre 1 e 100. Se o usurio digitar um nmero errado, o programa responde o novo intervalo do nmero procurado. Se o usurio acertou o nmero procurado, o programa diz quantos palpites foram dados. Por exemplo: O nmero procurado est entre 1 e 100 Palpite: 45 O nmero procurado est entre 1 e 44 Palpite: 27 O nmero procurado est entre 28 e 44 Palpite: 36 Parabns! Voc acertou o nmero em 3 tentativas.

DCT/UFMS Bacharelado em Anlise de Sistemas

Prof. Marcos Alves

Programao de Computadores I

< nvel D >


84) 85) 86) 87) Leia um nmero inteiro e escreva se ele primo ou no. Nmeros primos so aqueles divididos apenas por ele mesmo e por 1. O nmero 1 no primo. Imprima todos os nmeros primos dentro de um intervalo (A e B) fornecido pelo usurio. Calcule e apresente os N primeiros nmeros primos solicitados pelo usurio. Calcule a soma dos 8 primeiros termos da srie S, determinado por: S = 1! - 2! + 3! 4!_ + 4!_- ... 1 88) 89) 90) 91) 3 7 15 31 Leia um nmero qualquer, divida-o por dois, sucessivamente, at que o resultado seja menor que 1. Mostre o resultado da ltima diviso. Calcule o mximo divisor comum (MDC) entre 2 nmeros informados pelo usurio. Leia uma quantidade de tempo em minutos e a escreva no seguinte formato: 2500 min -> 1 dia, 17 horas e 40 min. Um determinado material radioativo perde metade de sua massa a cada 50 segundos. Dada a massa inicial, em gramas, fazer um algoritmo/programa que determine o tempo necessrio para que a massa se torne menor que 0.5 gramas. Escreva a massa inicial, a massa final e o tempo calculado em horas, minutos e segundos. 92) 93) 94) 95) 96) 97) 98) Dada uma seqncia de nmeros reais, calcule sua mdia e desvio padro. Dada uma seqncia de nmeros reais, imprima a mediana da srie. Leia um nome e o escreva invertido. Leia um nome e escreva o nmero de vogais do nome e o nmero total de letras. Escreva nmeros mltiplos positivos de 7 menores que 1000. Calcule e informe a soma da srie de Fibonacci at o n-zimo termo, sabendo: seqncia de Fibonacci = 1, 1, 2, 3, 5, 8, ... Uma empresa decide dar um aumento de 30% aos funcionrios cujo salrio inferior a R$ 1.000,00. Escreva o algoritmo de modo que seja possvel o clculo do salrio reajustado de um nmero indeterminado de funcionrio segundo o critrio de reajuste. 99) Leia um vetor gabarito de 10 elementos. Cada elemento de gabarito contm um nmero inteiro 1, 2, 3, 4 ou 5 correspondente as opes corretas de uma prova objetiva. Em seguida ler um vetor resposta, tambm de 10 elementos inteiros, contendo as respostas de um aluno. O algoritmo/programa deve comparar os dois vetores e escrever o numero de acertos do aluno. 100) Num frigorfico existem 90 bois. Cada boi traz preso em seu pescoo um carto contendo seu nmero de identificao e seu peso. Fazer um algoritmo/programa que escreva o nmero e o peso do boi mais gordo e do boi mais magro. 101) Uma certa empresa fez uma pesquisa de mercado para saber se as pessoas gostaram ou no de um novo produto lanado no mercado. Para isso, cada pessoa forneceu seu sexo e sua resposta (S para sim e N para no). Sabendo-se que foram entrevistadas N pessoas, faa um algoritmo/programa que calcule e informe:
DCT/UFMS Bacharelado em Anlise de Sistemas Prof. Marcos Alves

Programao de Computadores I

nmero de pessoas que responderam S; a porcentagem (%) de mulheres que responderam S, do total de entrevistados; a porcentagem (%) de homens que responderam N, do total de entrevistados; total de homens entrevistados.

102) Determina empresa de recenseamento produz uma pesquisa para verificar que emissoras de TV esto com as maiores popularidades. Para tal, foram pesquisados 3 canais (4, 8 e 10). Para o problema, elabore um algoritmo/programa que: leia a opo de canal (se a pessoa responder um canal diferente dos 3, no informe s aquele canal que obteve a maior porcentagem (%) de espectadores. contabilizar o seu voto) de N espectadores; 103) Uma empresa decide presentear seus funcionrios com um bnus de Natal, cujo valor definido do seguinte modo: Os funcionrios do sexo masculino com tempo de casa superior a 15 anos tero As funcionrias com tempo de casa superior a 10 anos tero direito a um bnus Os demais funcionrios tero direito a um bnus de R$ 500,00. Como finalizador ser lido salrio igual a zero. direito a um bnus de 20% de seu salrio; de 25% de seu salrio; e

Elabore um algoritmo/programa que apresente o bnus concedido a cada funcionrio e o montante total de bnus fornecido. 104) Foi realizada uma pesquisa de algumas caractersticas fsicas da populao de uma certa regio, a qual coletou os seguintes dados referentes a cada habitante para serem analisados: Sexo (M para masculino e F para feminino) Cor dos olhos (A para azuis, V para verdes e C para castanhos) Cor dos cabelos (L para louros, C para castanhos e P para pretos) Idade

Faa um algoritmo/programa que determine e escreva: A maior idade dos habitantes; O nmero de mulheres entrevistadas O nmero de pessoas de olhos azuis com idade superior a 18 anos A porcentagem (%) de indivduos do sexo feminino (F), cuja idade est entre 18 e 35 anos (inclusive) e que tenham olhos verdes (V) e cabelos louros (L). Obs.: o final do conjunto de habitantes reconhecido pelo valor 1 entrado como idade. 105) Construa um algoritmo/programa que leia um conjunto de dados contendo a altura e o sexo (M ou F) de 50 pessoas e depois calcuIe e escreva: A maior e a menor altura do grupo.
Prof. Marcos Alves

DCT/UFMS Bacharelado em Anlise de Sistemas

Programao de Computadores I

A mdia de altura das mulheres. O nmeros de homens e a diferena de percentual entre estes e as mulheres.

106) Em uma eleio presidencial, existem trs candidatos. Os votos so informados atravs do cdigo. Os dados utilizados para a apurao obedecem seguinte codificao: 1, 2 e 3 - voto para os respectivos candidatos 0 - voto nulo 9 - voto em branco Elabore um algoritmo/programa que calcule e escreva: total de votos para cada candidato total de votos nulos total de votos em branco percentual de votos em branco e nulos sobre o total qual o candidato vencedor se no houve empate para o 1 lugar Como finalizador do conjunto de votos tem-se o valor -1 107) Faa um algoritmo/programa que calcule e escreva as duas maiores alturas e quantas pessoas as possuem das moas inscritas em um concurso de beleza. Como finalizador do conjunto adote a altura da moa igual a 0 (zero). 108) Um comerciante deseja fazer o levantamento do lucro das mercadorias que comercializa. Para isto, mandou digitar para cada mercadoria o nome, o preo de custo e o preo de venda. Faa um algoritmo/programa que: Determine e escreva quantas mercadorias proporcionam: lucro < 10% 10% <= lucro <= 20% lucro > 20% Determine e escreva o valor total de compra e venda de todas as mercadorias, Obs.: adote uma condio de parada. 109) Dado o programa a seguir: main() { int i, j, l ; printf( Entre com 2 nmeros: ) ; scanf( %d%, &i ) ; scanf( %d, &j ) ; if( i > j ) l = i + j ; else l = i ; printf( %d, l ) ; } O que faz este programa? Execute para i = 2, j = 3 e para j = 5 e i = 2. 110) Traduza para a linguagem C:
DCT/UFMS Bacharelado em Anlise de Sistemas Prof. Marcos Alves

assim como o valor de lucro total.

10

Programao de Computadores I

principal declarar i , j, k, t como inteiras a como matriz de inteiros com 11 elementos leia i, j para k de i at j faa imprima linha em branco para t de 0 at 10 faa a[ t ] = k * t imprima k, t, a[ t ] fim O que faz este programa? 111) Dado o algoritmo a seguir: Programa X i, n, j <-- Inteiro A <-- Matriz de Inteiros Limpar a Tela Leia n (Limite da Srie) j <-- 1 Para i que varia de 1 at n faa Se resto ( i / 4 ) = 0 ento A[ j ] <-- i j <-- j + 1 Para i que varia de 1 at j faa Imprima A[ j ] fim O que faz este programa? Traduzir para C. Na execuo, considerar n = 17.

DCT/UFMS Bacharelado em Anlise de Sistemas

Prof. Marcos Alves

11

Programao de Computadores I

< nvel E >


112) Uma rainha requisitou os servios de um monge e disse-lhe que pagaria qualquer preo. O monge, necessitando de alimentos, indagou rainha sobre o pagamento, se poderia ser feito em gros de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter apenas um gro e os quadros subsequentes, o dobro do quadro anterior. A rainha achou o trabalho barato e pediu que o servio fosse executado, sem se dar conta de que seria impossvel efetuar o pagamento. Faa um algoritmo/programa para calcular o nmero de gro que o monge esperava receber. 113) Leia 4 valores referentes a quatro notas escolares de um aluno e imprimir uma mensagem dizendo que o aluno foi aprovado, se o valor da mdia escolar for maior ou igual a 7. Se o valor da mdia for menor que 7, solicitar a nota da recuperao, somar com o valor da mdia e obter nova mdia. Se a nova mdia for maior ou igual a 5, apresentar uma mensagem dizendo que o aluno foi aprovado em recuperao. Se o aluno no foi aprovado, indicar uma mensagem informando esta condio. Apresentar junto com as mensagens o valor da mdia do aluno para qualquer condio. 114) Leia um conjunto com 10 nmeros inteiros e depois os apresente. 115) Elabore um algoritmo que aceite a entrada de N valores numricos e os imprima em ordem contrria. 116) Leia uma frase e preencha uma Segunda frase com os caracteres da primeira, at encontrar um dos caracteres ( , . ; ! ? ). 117) Leia um conjunto de nmeros e escreva ao final a quantidade, a soma e a mdia dos valores lidos. Para finalizar, o valor a ser digitado deve ser 9999 e no deve ser computado. 118) Leia um conjunto de nmeros inteiros e escreva a quantidade de pares e a quantidade de mpares lidos. Para finalizar, o valor a ser digitado deve ser 0 (zero) e no deve ser computado. 119) Leia um conjunto de nmeros inteiros positivos e escreva a soma dos mpares. Para finalizar, o valor a ser digitado deve ser -1 e no deve ser computado. 120) Leia um conjunto de nmeros e escreva o maior e menor dentre eles. Para finalizar, o valor a ser digitado deve ser -5 e no deve ser computado. 121) Leia um conjunto A de 8 nmeros inteiros e gere em um conjunto B com o mesmo tamanho, com todos os elementos do conjunto A multiplicados por 3. Apresente o conjunto B. 122) Leia dois conjuntos com 20 nmeros reais cada (A e B) e monte um conjunto C, onde cada elemento de C a subtrao do elemento correspondente de A com B. 123) Leia dois conjuntos A e B com 15 nmeros inteiros cada e monte um conjunto C, com 30 elementos onde os 15 primeiros so os elementos de A e o restante os elementos de B. 124) Leia um conjunto A com 15 inteiros e monte um conjunto B, onde cada elemento de B o dobro do correspondente em A.
DCT/UFMS Bacharelado em Anlise de Sistemas Prof. Marcos Alves

12

Programao de Computadores I

125) Leia um conjunto A com 15 inteiros e escreva quantas vezes apareceu o nmero 10 neste conjunto e quantos valores menores que 50 (inclusive) foram informados. 126) Leia um conjunto com 10 nmeros inteiros e retorne um conjunto B do mesmo tipo, observando a seguinte lei de formao: se o valor for par dever ser armazenado em B multiplicado por 5 e ser for mpar dever ser armazenado em B somado de 5. 127) Dada uma srie com N nmeros, imprima a mdia dos N-1 maiores termos, usando vetores obrigatoriamente. 128) Leia um conjunto A com 15 nmeros inteiros e monte um conjunto B do mesmo tipo, onde cada elemento do conjunto B, seja o fatorial do elemento correspondente do conjunto A. 129) Leia dois conjuntos A e B com 15 nmeros inteiros cada e monte um conjunto C, intercalando em C um elemento de A e outro de B. 130) Leia um conjunto A com 20 inteiros e armazene em um outro conjunto B do mesmo tipo os elementos de A em ordem inversa. Apresente os dois conjuntos. 131) Leia um conjunto com 200 elementos e tambm um valor para pesquisa. O algoritmo/programa deve retornar a(s) posio(es) onde o valor para pesquisa foi encontrado ou uma mensagem, caso o valor no seja encontrado no conjunto. 132) Leia um vetor de N nmeros inteiros (N<=100), inverta a ordem dos elementos do vetor e imprima o vetor invertido. Por exemplo o vetor: {1, 3, 5, 7} ter seus elementos invertidos: {7, 5, 3, 1}. Observao: necessrio inverter os elementos do vetor. No basta imprimi-los em ordem inversa! 133) Leia um vetor A de N nmeros reais (N<=100), e um outro real K e monte e escreva um outro vetor B cujos elementos so os respectivos elementos de A multiplicados por K. Por exemplo: a = { 1, 2, 3 }, k = 5, b = { 5, 10, 15 }. 134) Leia um conjunto N de valores numricos e informe como resposta os elementos em ordem crescente. 135) Leia um nome, ordene e escreva suas letras de forma crescente. 136) Determine se um nmero qualquer informado pelo usurio ou no capicuia. Capicuias so nmeros que tem o mesmo valor se lidos da esquerda para a direita ou da direita para a esquerda. Exemplo: 44, 232, 1661, etc. 137) Considere o programa abaixo: main() { char a = 1, b = 9 ; Troca( &a, &b) ; printf( %c e %c, a, b ) ; } Escrever Troca(), de forma que sejam impressos 9 e 1 138) Troque o valor de 2 variveis usando ponteiros, sem usar funes, em C++. 139) Leia 2 variveis, sendo que a primeira ser do tipo caracter e a segunda do tipo inteiro. Atribua valores da primeira para a segunda e vice-versa atravs de ponteiros, em C++. 140) Leia um ngulo (em graus) e imprima o valor do seno, coseno e tangente deste ngulo.
DCT/UFMS Bacharelado em Anlise de Sistemas Prof. Marcos Alves

13

Programao de Computadores I

141) Leia um nmero da base decimal (base 10) e o transforme e escreva seu equivalente da base binria (base 2).

DCT/UFMS Bacharelado em Anlise de Sistemas

Prof. Marcos Alves

14

Programao de Computadores I

< nvel F >


142) Leia vrios caracteres dentro de um enquanto. Concatene em uma varivel do tipo string, todos os caracteres digitados pertencentes ao conjunto [A,..,Z,a,z]. Finalize a repetio quando o caractere #13 (tecla Enter) for digitado. Apresente a string resultante. 143) Leia vrios nomes dentro de um enquanto. Finalize a repetio quando o nome digitado estiver vazio. Apresente: O nome mais longo; O nome mais curto; Quantidade de nomes que terminam com a letra A; Quantidade total de vogais digitadas;

144) Leia uma frase e apresente-a novamente em minsculo. 145) Crie um funo em C arredonda(num) que faa o arredondamento de nmeros reais. Por exemplo: arredonda(5.4) = 5 e arredonda(6.5) = 7. 146) Crie uma funo em C que determine se um determinado numero primo ou no. A funo deve retornar 1 se primo e 0 caso contrrio. 147) Crie uma funo em C que verifique se um nmero inteiro passado como parmetro par ou mpar. 148) Faa um procedimento/funo em C que receba via parmetro um conjunto com 100 elementos e retorne o mesmo conjunto com os elementos em ordem crescente. 149) Crie uma funo em C que acumule em uma varivel X, passada como parmetro pelo programa principal, um valor digitado pelo operador na prpria funo. 150) Elabore funo em C que troque os valores das variveis A e B passadas pelo programa principal. 151) Faa um programa em C que escreva na tela o caracter ASCII e o respectivo cdigos hexadecimal de um valor decimal digitado pelo usurio. 152) Sabendo que o programa principal l um nmero, escreva uma funo em C que mostre na tela a tabuada deste nmero digitado e retorne ao programa principal o valor da somatria das parcelas da tabuada. 153) Escreva uma funo em C que receba dois nmeros inteiros, positivos, e determine o produto dos mesmos, utilizando o seguinte mtodo de multiplicao: 9 4 2 Dividir, sucessivamente, o primeiro nmero por 2, at que se obtenha 1 como Paralelamente, dobrar, sucessivamente, o segundo nmero; Somar os nmeros da segunda coluna que tenham um nmero mpar na primeira 6 12 24
Prof. Marcos Alves

quociente;

coluna. O total obtido o produto procurado. Exemplo: 9 x 6 -> 6

DCT/UFMS Bacharelado em Anlise de Sistemas

15

Programao de Computadores I

48

->

+ 48 54

154) Escreva um programa em C que leia 10 pares de nmeros e calcule os respectivos produtos, usando a funo do exerccio anterior. 155) Escreva duas funes em C; uma que leia um vetor V de N nmeros inteiros (N<=100), e outra que escreva este vetor. 156) Escreva uma funo em C que receba um vetor e retorne o ndice do menor elemento deste vetor. 157) Escreva uma funo em C que receba um vetor e verifique a existncia de elementos duplicados. Caso no existam elementos duplicados retorne 0. Caso existam, remova estes elementos (deixando apenas um) e retorne o nmero de elementos removidos. 158) Escreva uma funo em C que faa a insero de um valor numa posio escolhida dentro de um vetor deslocando os demais elementos. 159) Escreva uma funo em C que receba um vetor R de N elementos e outro vetor S de M elementos e construa um vetor V com os elementos de R e S, ordenado e no duplicados. A funo deve retornar o tamanho do vetor V construdo. 160) Elabore um programa em C que receba duas matrizes qualquer e construa o produto matricial entre elas. 161) Elabore programa que armazene nmeros em uma pilha e recupere-os a ordem do usurio. 162) Monte um programa que acesse nmeros inteiros previamente armazenados em uma pilha, porm propositadamente cause um estouro inferior da pilha. Qual ser o resultado apresentado? 163) Crie uma lista de registros usando ponteiros como apontadores. 164) Faa um algoritmo/programa que leia um valor inteiro de 0 a 1000 e escreva o seu valor por extenso. Por exemplo: 279 - duzentos e setenta e nove. 165) Faa um programa escreva na tela todos os caracteres ASCII, os respectivos cdigos decimais e hexadecimais. 166) Faa um programa que coloque um caracter no centro da tela e permita o movimentao deste com o uso das setas. 167) Implemente um rastro para o caracter do programa anterior.

168) Faa uma proteo de tela do seguinte modo: Ao iniciar o programa, um caracter (ou
outro qualquer) percorra a tela em direes aleatrias apagando os caracteres de fundo. Ao se pressionar qualquer tecla o texto de fundo reaparece e o programa termina. 169) Faa um programa em C que desenhe um janela com bordas (simples ou duplas) em uma posio centralizada da tela. Pinte o interior da janela com alguma cor diferente do fundo da tela. 170) Transforme o programa anterior em uma funo com a seguinte declarao: borda(esq, sup, dir, inf, corf, corb) onde esq, sup, dir, inf so as posies das bordas, corf, corb as cores do fundo e da borda da janela respectivamente. A funo retorna 1 se
DCT/UFMS Bacharelado em Anlise de Sistemas Prof. Marcos Alves

16

Programao de Computadores I

houve algum erro na passagem dos parmetros (esq > dir, por exemplo) e 0 caso contrrio. 171) Elabore um programa em C que escreva um nome lido num arquivo. 172) Elabore um programa em C que escreva um texto digitado num arquivo. 173) Elabore um programa em C que leia um texto previamente armazenado num arquivo. 174) Elabore um programa em C que transfira os dados do arquivo DADO.DAT, no necessariamente existente, para o arquivo DADO.BAK. 175) Elabore um programa em C que crie um arquivo chamado DADO.DAT e escreva um registro neste arquivo. 176) Elabore um programa em C que exiba os dados do arquivo DADO.DAT, caso este arquivo exista. Se no existir envie mensagem Arquivo Inexistente ao operador. 177) Elabore um programa em C que altere registros anteriormente criados num arquivo chamado DADO.DAT. 178) Elabore um programa em C que liste na tela registros anteriormente criados num arquivo chamado DADO.DAT. 179) Considere o programa abaixo: main() char c, { c = A *pc = c d = &pc printf( } *pc, d ; ; ; ; %c, d ) ;

O programador deseja transferir o valor da varivel c para d usando ponteiros. O que ocorre quando executado o programa acima, simule. Corrija o programa, se necessrio. 180) Considere o programa a seguir: main() int i, k, *pi, *pk ; { i = 2 ; k = 0 ; puts( Qual ser o valor de k? ) ; *pk = i ; pk = &k ; printf( %d, k ) ; } Simule a execuo deste programa Qual o valor de k aps a execuo. Justifique. Se trocarmos *pk = i por pk = &i o que ocorreria. Caso necessrio, corrija este programa para que no seu final k ter o valor de i.

DCT/UFMS Bacharelado em Anlise de Sistemas

Prof. Marcos Alves

17

Programao de Computadores I

< nvel G >


181) O cdigo Morse foi muito usado no tempo do telgrafo para transmitir mensagens. Neste sistema cada smbolo (letra, numero ou sinal de pontuao) enviado por fio em uma serie de pulsos eltricos curtos ou longos (pontos ou traos) conforme a tabela abaixo: a .g --. m -s ... y -.-5 ..... . .-.-.b -... h .... n -. t z --.. 6 -.... ? ..--.. c -.-. i .. o --u ..1 .---7 --... , --..-d -.. j .--p .--. v ...2 ..--8 ---.. : ---... e . k -.q --.w .-3 ...-9 ----. f ..-. l .-.. r .-. x -..4 ....0 -----

Escreva um programa em C que leia uma frase digitada pelo usurio e emita pelo altofalante do PC o som correspondente a uma transmisso completa em cdigo Morse. Sugesto: Crie uma tabela cdigo[40][5] em que cada linha represente um sinal contendo os nmeros 1 (ponto), 2 (trao) ou 0 (fim do cdigo). 182) As populares calculadoras HP usam a notao RPN (Reverse Polish Notation) para o clculo de expresses numricas. Este tipo de notao torna mais fcil o clculo de expresses complexas. Cada valor digitado guardado em uma pilha de dados e cada tecla de operao efetua uma operao entre os ltimos dois valores da pilha. Por exemplo, para efetuar a expresso 2+5*3 digitamos: [5] (colocamos o primeiro valor na pilha), [enter] [3] (deslocamos 5 para a 2a posio da pilha e colocamos 3 para o 1o valor na pilha), [*] (efetuamos a multiplicao dos dois valores, o valor 15 aparece na 1a posio da pilha), [2] (deslocamos 15 para a 2a posio da pilha e colocamos 3 para o 1o valor na pilha) [+] (adicionamos 2 ao resultado, 17 aparece na 1a posio da pilha). Escreva um programa em C que simule uma calculadora RPN de 4 operaes (+,-,*,/) utilizando vetores para representar a pilha de dados. 183) Escreva um programa em C que, usando alocao dinmica de memria, construa um vetor de N elementos gerados aleatoriamente no intervalo [0,10], sendo N digitado pelo usurio. Em seguida dever remover os valores duplicados e apresentar o vetor resultante. 184) Reverse o nome de um antigo jogo de tabuleiro, que pode ser facilmente implementado em um computador: consiste de um tabuleiro de 3x3 casas, com um disco branco ou preto dispostos, inicialmente, de modo aleatrio em cada casa. [1][2][3] [4][5][6] [7][8][9]
DCT/UFMS Bacharelado em Anlise de Sistemas Prof. Marcos Alves

18

Programao de Computadores I

Ao selecionar uma das casas o jogador reverte a cor do disco daquela casa e de algumas casas vizinhas conforme o esquema acima. O objetivo do jogo reverter todas as casas para uma mesma cor. Escreva um programa em C que simule o tabuleiro do jogo de Reverse. Ao pressionar Reverte: [1] [2] [3] [4] [5] [6] [7] [8] [9] [1],[2] e [4] [2],[1] e [3] [3],[2] e [6] [4],[1] e [7] [5],[2],[4],[6] e [8] [6],[3] e [9] [7],[4] e [8] [8],[7] e [9] [9],[6] e [8]

185) Existe um problema famoso no xadrez chamado problema das 8 damas: consiste em dispor sobre o tabuleiro (de 8 x 8 casas) do jogo um conjunto de 8 damas de tal forma que nenhuma dama fique na mesma linha, coluna ou diagonal que outra. Escreva um programa em C que calcule pelo menos uma soluo deste problema. Sugesto: crie um vetor tab[8][8] contendo 0 para uma casa vazia e 1 para uma casa ocupada.

DCT/UFMS Bacharelado em Anlise de Sistemas

Prof. Marcos Alves

19

Você também pode gostar