obtido inicializando j com uma unidade maior do que o valor de i. /*Programa para gerar um conjunto de subconjuntos de um conjunto*/ #include main() { int n, i, j; printf("Digite o numero de el<strong>em</strong>entos do conjunto: "); scanf("%d", &n); printf("{"); for (i = 1; i
float Num, Soma, Media; Soma = 0; printf("\n Digite os el<strong>em</strong>entos(-1 para encerrar):"); scanf("%d", &Num); Cont = 0; while (Num != -1) { Soma = Soma + Num; Cont = Cont + 1; scanf("%f", &Num); } Media = Soma/Cont; printf("Media = %f", Media); } 8. Na seção 1.6 apresentamos o algoritmo de Euclides para a determinação do máximo divisor comum de dois números dados. Para rel<strong>em</strong>brar, vejamos como calcular o máximo divisor comum de 204 e 84. 2 2 3 204 84 36 12 O algoritmo é o seguinte: divide-se 204 por 84 obtendo-se resto 36; a partir daí repete-se divisões até que o resto seja zero, sendo o dividendo da divisão atual o divisor da divisão anterior e o divisor da divisão atual o resto da divisão anterior. O último divisor é o máximo divisor procurado. Escrever este algoritmo numa linguag<strong>em</strong> de programação é muito simples, pois uma estrutura de repetição e comandos de atribuição permit<strong>em</strong> que se obtenha facilmente a sequência de divisões desejadas, “atualizando” o dividendo, o divisor e o resto. /*Programa para determinar o máximo divisor comum de dois números positivos*/ #include main() { int x, y, Dividendo, Divisor, Mdc, Resto; printf("Digite os dois numeros \n"); scanf("%d %d", &x, &y); Dividendo = x; Divisor = y; Resto = Dividendo % Divisor; while (Resto != 0) { Dividendo = Divisor; Divisor = Resto; Resto = Dividendo % Divisor; } Mdc = Dividendo; printf("mdc(%d, %d) = %d \n", x, y, Mdc); } Note a necessidade da utilização das variáveis Dividendo e Divisor. Além de facilitar<strong>em</strong> a compreensão do algoritmo, elas são utilizadas no processamento e terão seus conteúdos alterados durante a execução do programa. Se usáss<strong>em</strong>os as variáveis x e y, os valores dos dados de entrada seriam perdidos o que, evident<strong>em</strong>ente, não deve ocorrer. No capítulo 5, quando estudarmos funções, estas variáveis terão outra conotação. À primeira vista, o programa deveria inicialmente determinar o maior dos números x e y, armazenando-o <strong>em</strong> a. O quadro seguinte mostra que isto não é necessário, apresentando a simulação da execução do programa para x = 68 e y = 148.
- Page 1 and 2:
Jaime Evaristo Aprendendo a Program
- Page 3 and 4:
Aos meus netos Mateus, Vitor e Luca
- Page 5 and 6:
5.5 Passagem de parâmetros por ref
- Page 7 and 8:
O código ASCII Para que haja a pos
- Page 9 and 10:
a ser resolvido. O exemplo anterior
- Page 11 and 12: instruções 3.1 e 3.2. Como veremo
- Page 13 and 14: algoritmo para a determinação do
- Page 15 and 16: aluno do ensino médio e a relaçã
- Page 17 and 18: transforma o "computador" num poder
- Page 19 and 20: 2. Introdução à Linguagem C 2.1
- Page 21 and 22: tipo Por exemplo, um programa para
- Page 23 and 24: 2.6 Estrutura de um programa em C E
- Page 25 and 26: onde as digitações do caractere q
- Page 27 and 28: execução da função printf() exi
- Page 29 and 30: formatação. Quando a constante é
- Page 31 and 32: * Programa que fornece a parte frac
- Page 33 and 34: int Num, Unidades; printf("Digite u
- Page 35 and 36: x = y; y = Aux; printf("Saida x = %
- Page 37 and 38: (exemplo: o maior múltiplo de 7 me
- Page 39 and 40: if (b > a) Maior = b; printf("O mai
- Page 41 and 42: puts("Digite o instante final"); sc
- Page 43 and 44: y = z; z = Aux; } printf("Numeros o
- Page 45 and 46: #include main() { float SAtual, SN
- Page 47 and 48: Valor do quadruplo de 3: 12 Valor d
- Page 49 and 50: Dias31 = Mes/2; else Dias31 = (Mes
- Page 51 and 52: 4. Estruturas de repetição 4.1 Pa
- Page 53 and 54: { int i; for (i = 11; i
- Page 55 and 56: encontrado, o que, evidentemente, v
- Page 57 and 58: Repetindo a execução de um progra
- Page 59 and 60: scanf("%d", &Mes); if ((Mes < 1) ||
- Page 61: main() { int Num, i; printf("Digite
- Page 65 and 66: que o anterior. A ideia é a seguin
- Page 67 and 68: 5. Funções e ponteiros 5.1 O que
- Page 69 and 70: com uma função em relação àque
- Page 71 and 72: { float Aux; Aux = a; a = b; b = Au
- Page 73 and 74: *Verifica se um ano é bissexto (re
- Page 75 and 76: Temos então um programa - certamen
- Page 77 and 78: } while (Sim != 's'); printf("Outro
- Page 79 and 80: 5 - Após a ativação de Fat(1) Fa
- Page 81 and 82: Resto = a % b; while (Resto != 0) {
- Page 83 and 84: while (n > 1) { m = 0; while (n % d
- Page 85 and 86: Nome Categoria 1 Instituição 2 Cu
- Page 87 and 88: inteiro. Por exemplo, a sequência
- Page 89 and 90: int i; float Soma; Soma = 0; for (i
- Page 91 and 92: fato também é indicado no vetor N
- Page 93 and 94: DiasMeses da seguinte forma: int Di
- Page 95 and 96: ⎛ 1 0 0⎞ ⎜ ⎟ I 3 = ⎜ 0 1
- Page 97 and 98: Equipe1[0] = 0; Equipe2[0] = 0; Saq
- Page 99 and 100: sua condição em relação à apro
- Page 101 and 102: 7 Pesquisa e ordenação 7.1 Introd
- Page 103 and 104: ordem crescente, o "primeiro maior
- Page 105 and 106: 7.5 Exercícios propostos 1. Alguma
- Page 107 and 108: #include main() { char Cad[100], S
- Page 109 and 110: char *Str1 = "Logica de Programacao
- Page 111 and 112: int i, d, m, a, Verifica; char Dia[
- Page 113 and 114:
aiar é palíndroma. Escreva um pro
- Page 115 and 116:
Na verdade, ao se definir struct TE
- Page 117 and 118:
SomaIdade = SomaIdade + v[i].Idade;
- Page 119 and 120:
#include struct TRegistro { char M
- Page 121 and 122:
{ FILE *p; p = fopen(s, "rb"); if (
- Page 123 and 124:
utilizando como exemplo isto poderi
- Page 125 and 126:
} else printf("\n Registro ja cadas
- Page 127 and 128:
sistema e a impressora conectada ao
- Page 129 and 130:
*Função para exibir o cardápio*/
- Page 131 and 132:
10 Noções básicas de alocação
- Page 133 and 134:
gets(Coef); if (strcmp(Coef, "fim")
- Page 135 and 136:
} 10.4 Exercícios propostos 1. Esc
- Page 137 and 138:
Índice remissivo A Algoritmo de Eu
- Page 139:
Variáveis locais..................