• Nenhum resultado encontrado

Comentário sobre os exercícios desta semana ...

N/A
N/A
Protected

Academic year: 2022

Share "Comentário sobre os exercícios desta semana ..."

Copied!
10
0
0

Texto

(1)

27/09/2015

Comentário sobre os exercícios desta semana ...

Linguagem de Programação Estruturada Prof. Leandro Carlos Fernandes

2º semestre 2015

Exercício #0

0) Faça um programa que opere um dispenser de notas em um caixa eletrônico. Para isso leia um valor inteiro correspondente ao valor monetário que o usuário deseja sacar e em seguida calcule a menor quantidade de notas necessárias, exibindo a quantidade de cada um dos tipos devem ser entregues.

Considere as cédulas de reais que temos em circulação, ou seja, notas de R$100.00, R$50.00, R$20.00,

R$10.00, R$5.00 e R$2.00

(2)

27/09/2015

#include <stdio.h>

#include <stdlib.h>

intmain() { intvalor;

/* Coletando dados do usuário */

printf("Qual o valor que deseja sacar?\n");

printf("R$ "); scanf("%d", &valor);

/* Calculando a qtde de cada uma das notas */

printf("Qtde de notas de 100 = %d\n", valor/100);

valor= valor% 100;

printf("Qtde de notas de 50 = %d\n", valor/50);

valor= valor% 50;

printf("Qtde de notas de 20 = %d\n", valor/20);

valor= valor% 20;

printf("Qtde de notas de 10 = %d\n", valor/10);

valor= valor% 10;

printf("Qtde de notas de 5 = %d\n", valor/5);

valor= valor% 5;

printf("Qtde de notas de 2 = %d\n", valor/2);

valor= valor% 2;

if(valor!= 0)

printf("... e mais algumas moedas :)");

return0;

}

Exercício #1

1) Faça um programa que escreva na tela a tabuada do valor dado pelo usuário. Por exemplo, se for informado o número 2 o programa deverá escrever:

2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 ...2 x 10 = 20

(3)

27/09/2015

#include <stdio.h>

#include <stdlib.h>

int main() { int n,i;

printf("-:: Tabuada ::-\n");

printf("Informe qual tabuada você deseja exibir: ");

scanf("%d", &n);

for(i = 1; i <= 10; i++)

printf("%d x %d = %d\n", n, i, (n*i));

return 0;

}

Exercício #2

2) Modifique o programa anterior para que escreva na tela as tabuadas do 1 ao 10, de modo que as do 1 ao 5 fique na metade superior da tela e as do 6 ao 10 na metade de baixo

1 x 1 = 1 2 x 1 = 2 ... 5 x 1 = 1 1 x 2 = 2 2 x 2 = 4 ... 5 x 2 = 10 1 x 3 = 6 2 x 3 = 6 ... 5 x 3 = 15

... ... ... ...

1 x 10 = 10 2 x 10 = 10 ... 5 x 10 = 50

(4)

27/09/2015

7

#include <stdio.h>

#include <stdlib.h>

int main() {

int tab, /* corresponde ao número da tabuada */

linha; /* corresponde a linha da tabuada */

/* Uma frase para apresentar o programa */

printf(“\t\t---:: Tabuadas ::---\n\n");

/* Neste laço mais externo, estamos construindo cada uma das dez linhas necessárias ao 1º conjunto de tabuladas */

for(linha = 1; linha <= 10; linha++) { /* Cada linha tem cinco tabuadas ... */

for(tab = 1; tab <= 5; tab++) {

printf("%d x %d = %d\t", tab, linha, (tab*linha));

}/* e, no fim, quebramos a linha */

printf("\n");

}

(5)

27/09/2015

/* Para que o conjunto superior não se misture com o segundo, vamos pular uma linha para separar os conjuntos */

printf("\n");

/* O segundo conjunto segue a mesma lógica :) */

for(linha = 1; linha <= 10; linha++) { for(tab = 6; tab <= 10; tab++)

printf("%d x %d = %d"\n, tab, linha, (tab*linha));

printf("\n");

}

return 0;

}

Exercícios #3 e #4

3) Faça um programa que calcule o fatorial de um valor dado pelo usuário.

4) Faça um programa que calcule o n-ésimo termo da sequencia de Fibonacci, sabendo que ela é dada por:

Fibo: 1 1 2 3 5 8 13 21 34 ...

(6)

27/09/2015

#include <stdio.h>

#include <stdlib.h>

int main() { int n;

long int fat = 1;

/* Apresentando o programa e coletando os dados do usr */

printf("-:: Fatorial ::-\n");

printf("Informe o valor para o qual deseja calcular: ");

scanf("%d", &n);

/* Calculando o fatorial do número n */

for(i = n; i >= 1; i--) fat = fat * i;

/* e apresentando o resultado ao usuário */

printf("O fatorial de %d é %d.", n, fat);

return 0;

}

#include <stdio.h>

#include <stdlib.h>

int main() {

int n, /* posição do termo a ser calculado */

i, /* contador para controle de laço */

fiboAtual, /* valor do Fibonacci */

fiboUltimo, /* valor anterior ao fiboAtual */

fiboPenultimo; /* duas posições antes ao fiboAtual */

/* Apresentando o programa */

printf(".:: Fibonacci ::.\n");

printf("Este programa calcula o valor do n-ésimo termo da sequência de Fibonacci.\n");

printf("Qual é o termo que deseja calcular? Ex: 5 (quinto)\n");

/* Coletando as informações para a execução */

printf("Termo: "); scanf("%d", &n);

(7)

27/09/2015

/* Se o for o 1º ou o 2º está pronto */

if ((n == 1) || (n == 2))

printf("O %dº termo da sequência é 1\n", n);

/* Senão teremos que calcular cada termo até o n-ésimo */

else {

fiboPenultimo = 1;

fiboUltimo = 1;

for(i = 3; i <= n; i++) {

fiboAtual = fiboUltimo + fiboPenultimo;

fiboPenultimo = fiboUltimo;

fiboUltimo = fiboAtual;

}

printf("O %dº termo da sequência é %d\n", n,

fiboAtual);

}

return 0;

}

Exercícios #5

5) Faça um programa que calcule o valor de com base na série:

= 4 −4 3 +4

5 −4 7 +4

9 − 4 11 + 4

13 + ⋯

até que alcançar uma precisão de 0.0001. Ao término, o programa deve exibir o valor calculado de e a quantidade de termos necessárias para encontrá-lo

(8)

27/09/2015

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

intmain()

{ float pi, /* é o valor calculado através da série */

termo; /* cada elemento (fração) da série */

int qtdeTermos, /* quantidade de termos calculada */

denominador; /* número abaixo da fração no termo */

/* Apresentando o programa para o usuário */

printf("---:: Calculando o valor de PI ::---\n");

printf("\n");

printf("Este programa calcula o valor da constante matemática\n");

printf("pi como uma aproximação dada pela seguinte série:\n");

printf(" 4 4 4 4 4 \n");

printf("PI = 4 - --- + --- - --- + --- - --- + ... \n");

printf(" 3 5 7 9 11 \n");

printf("O objetivo é calcular quantos termos forem necessários\n");

printf("até que uma precisão de 0.001 seja alcançada. Ao término\n");

printf("o valor calculado para PI e a quantidade de termos são\n");

printf("apresentadas ao usuário.\n");

printf("\n\n");

pi = 0; /* acumulador */

qtdeTermos = 1;

denominador = 1;

do {

/* Determinando a fração, que varia a cada iteração */

termo = (qtdeTermos%2 != 0) ? 4.0/denominador :

-4.0/denominador;

pi = pi + termo;

denominador += 2;

qtdeTermos++;

/* enquanto a precisão, que é dada pelo módulo da diferença, não alcance o valor desejado devemos calcular mais um termo. */

} while ( fabs(M_PI - pi) >= 0.0001 );

/* Apresentando os resultados */

printf("O valor calculado é: %f\n", pi);

printf("Computado a partir de %d termos da série.\n", qtdeTermos);

return 0;

}

(9)

27/09/2015

Exercícios #6

6) Um fazendeiro de Goiás, entusiasta de astronomia, descobriu um site que contém as coordenadas de queda de todos os meteoritos em cada noite. Encontrando você fazendo um curso de computação, lhe pede para que faça um programa que compute quantos meteoritos caíram na área da sua fazenda. Para isso, você deverá ler as

coordenadas superior direita e inferior esquerda que delimitam a fazenda. Em seguida, ler as coordenadas de cada queda e avaliar se correspondem a uma posição dentro da fazenda. Como não se sabe quantas quedas podem ocorrer numa noite, repita o processo enquanto houverem informações a serem processadas.

18

x1

y1

x2 y2

mx my

(10)

27/09/2015

#include <stdio.h>

#include <stdlib.h>

int main() {

int x1, y1, /* Coordenada canto superior esquerdo */

x2, y2, /* Coordenada canto inferior direito */

mx, my; /* Coordenada do meteorito */

char continua; /* Continua? Sim ou Não */

int qtdeNaFazenda, /* Qtde de metoritos que cairam na fazenda */

qtdeTotal; /* Qtde total de metoritos na noite */

printf("Determine a área da fazenda, informando as coordenadas dos cantos:\n");

printf("Superior esquerdo: "); scanf("%d,%d", &x1, &y1);

printf("Inferior direito: "); scanf("%d,%d", &x2, &y2);

printf("\n");

printf("Houveram quedas de metoritos nesta noite? (S)im ou (N)ão:

");

scanf("%c ", &continua);

printf("\n");

qtdeNaFazenda = 0;

qtdeTotal = 0;

while ((continua == 'S') || (continua == 's')) { printf("Quais as coordenadas da queda? ");

scanf("%d,%d", &mx, &my);

if ((x1 <= mx) && (mx <= x2) && (y2 <= my) && (my <= y1)) { qtdeNaFazenda++;

}qtdeTotal++;

printf("Houve outra queda nesta noite? (S)im ou (N)ão: ");

scanf("%c ", &continua);

}

printf("\n");

printf("Hovueram %d quedas de meteoritos nesta noite, dos quais

%d cairam na área da fazenda.\n", qtdeTotal, qtdeNaFazenda);

return 0;

}

Referências

Documentos relacionados

É primeiramente no plano clínico que a noção de inconscien- te começa a se impor, antes que as dificuldades conceituais envolvi- das na sua formulação comecem a ser

Gabinetes Modelo : BP1009 Small Form Factor (SFF) ou SLIM Desk (Y7301) disponíveis nas cores Preto/Prata, Preto, ou Cool Gray; Opção para Tool-Free (não requer uso de

Pela sociedade do nosso tempo: para que as pessoas não se deixem vencer pela tentação do ateísmo, do consumismo e do hedonismo, mas se esforcem por construir a vida de

A Faculdade de Medicina de Marília, torna pública a abertura de inscrições para seleção de candidatos ao Programa de Aprimoramento Profissional da Secretaria de

É perceptível, desta forma, o constante aumento do aprofundamento dos personagens: os “príncipes” têm agora não só nome e falas, mas personalidades bem desenvolvidas,

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

O candidato poderá obter informações e orientações sobre o Simulado Virtual, tais como Editais, processo de inscrição, horário de prova, gabaritos, ranking e resultados

Neo Decapeptyl pode ser usado como tratamento alternativo quando a orquiectomia (retirada dos testículos) ou a administração de estrógenos não são indicados ou não são aceitos