Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 5ALCM – ALGORITMOS COMPUTACIONAIS 2014.1 ATIVIDADES DE SALA Os programas a seguir estão codificados na linguagem de programação C, conforme visto na aula do dia 13/03/2014. O código dos programas está disponível no arquivo 20141-5ALCM-CodigoC-1 no portal (Material associado a esta atividade, Aula do dia 13/03/2014). A indicação é que você execute-os em seu computador pessoal (tutorial disponível a seguir), ou mesmo em um dos computadores da Area1, a fim de aprimorar o seu conhecimento sobre Algoritmos. Não hesite em tentar, testar, retestar, modificar o código, para ver outras saídas, outros comportamentos etc. O aprendizado virá naturalmente com a prática! COMPILADOR DA LINGUAGEM C: Na aula, utilizamos o aplicativo DEV C++. Caso você ainda não o possua, baixe-o no endereço: http://bloodshed-dev-c.en.softonic.com/download#downloading Após efetuar o download do aplicativo e instalá-lo, crie um novo projeto C, seguindo o tutorial: http://ceng230.ceng.metu.edu.tr/Compilers/dev-cpp.html Em caso de dúvidas, movimente o fórum da disciplina no portal. Há sempre alguém disponível para ajuda-lo. ATIVIDADE: Para cada um dos programas, elabore o pseudocódigo que represente o comportamento do algoritmo. Para os programas 2, 3 e 4, elabore, além do pseudocódigo, o fluxograma. DETALHES: No cabeçalho de cada programa, há um texto (comentário em vermelho) que descreve o objetivo do programa e, eventualmente, uma descrição da estrutura utilizada na sua codificação. Atenção especial para os programas 4, 5 e 6. Estes resolvem o mesmo problema (calcular a média aritmética das notas de 3 alunos, e por fim calcular a média global), porém, utilizando estratégias distintas, isto é, cada uma das três estruturas de repetição é utilizada na codificação. BOM TRABALHO! 2 PROGRAMA 1: Calcular a média aritmética de 3 notas de um aluno. #include <stdio.h> #include <stdlib.h> /* Programa de complexidade baixa, que utiliza apenas a noção de declaração de variáveis, e entrada (LEIA, aqui representada pela função SCANF() ) e saída de dados (ESCREVA, aqui representada pela função PRINTF() ). Não fique preocupado com a sintaxe da linguagem de programação C, no momento. Isto será discutido em aulas posteriores. O objetivo aqui é demonstrar como aqueles algoritmos podem ser executados na prática, para que você tenha a noção de sua utilidade, as vezes difícil de entender apenas com atividades "em papel" (sala de aula). */ int main() { float nota1, nota2, nota3, media; printf("Informe a nota 1: "); scanf("%f",¬a1); printf("Informe a nota 2: "); scanf("%f",¬a2); printf("Informe a nota 3: "); scanf("%f",¬a3); media = (nota1 + nota2 + nota3)/3; printf("Media do aluno: %.2f",media); return 0; } PROGRAMA 2: Calcular a média aritmética de 3 notas de um aluno e exibir aprovado, caso a média seja igual ou superior a 5, ou reprovado, caso contrário. #include <stdio.h> #include <stdlib.h> /* Programa que envolve, além da entrada e saída de dados, a estrutura de seleção composta SE... ENTÃO... SENÃO, aqui (na linguagem C) representada pela estrutura do IF { }, tradução para inglês da palavra SE. O ENTAO fica implícito, com o uso do símbolo de chaves { } (lembrando que uma chave aberta DEVE OBRIGATORIAMENTE ter uma outra chave correspondente, para fechar o bloco de comandos). O SENÃO fica representado pelo operador ELSE (tradução livre do inglês para o português da palavra SENÃO). */ int main(){ float nota1, nota2, nota3, media; printf("Informe a nota 1: "); scanf("%f",¬a1); 3 printf("Informe a nota 2: "); scanf("%f",¬a2); printf("Informe a nota 3: "); scanf("%f",¬a3); media = (nota1 + nota2 + nota3)/3; if (media >= 5) { printf("A media final e: %.1f. O aluno esta aprovado!", media); } else { printf("A media final e: %.1f. O aluno esta reprovado!\n", media); } return 0; } PROGRAMA 3: Ler três números inteiros quaisquer, do teclado, determinar e imprimir o menor deles. #include <stdio.h> #include <stdlib.h> /* O programa utiliza a estrutura de repetição pós testada (Repita...Até) Assunto da Unidade 4 (Estruturas de Controle) */ int main() { int n1, n2, n3, menor, sair; do{ printf("Informe o numero 1: "); scanf("%d", &n1); printf("Informe o numero 2: "); scanf("%d", &n2); printf("Informe o numero 3: "); scanf("%d", &n3); if(n1<=n2){ if(n2<=n3){ menor = n1; } else if(n1<=n3){ menor = n1; } else{ menor = n3; } } else if(n2<=n3){ menor = n2; 4 } else{ menor = n3; } printf("O menor numero é: %d",menor); printf("\n\nPara sair do programa, digite 9999: "); scanf("%d",&sair); } while (sair!=99); /*Testa se o num. 99 (sair do programa) foi digitado*/ return 0; } PROGRAMA 4: Calcular a média aritmética de três notas, de três alunos distintos, e imprimir a informação de que cada aluno foi aprovado ou reprovado, bem como a média global da turma. Utilize a Estrutura de Repetição (Enquanto<condição>... Faça). O programa a seguir contém uma série de comentários (em C, as linhas que começam com // ou /* referem-se a comentários, que não são interpretados pelo compilador, ou seja, tudo que estiver após esses símbolos não será executado). Os comentários podem ajuda-lo a entender o funcionamento de cada operador contido no programa. #include <stdio.h> #include <stdlib.h> /* Programa para calcular a media aritmetica de tres notas, de tres alunos distintos. O programa informa a media de cada aluno, e diz se o aluno foi aprovado (media >= 5) ou reprovado, e o programa tambem informa a media dos tres alunos. O programa utiliza a estrutura de repetição pré testada (Enquanto...Faça). Assunto da Unidade 4 (Estruturas de Controle) */ int main(){ float nota1, nota2, nota3, media, somaMedias, mediaGlobal; int i; i=0; /* Inicialização da variável i, que servirá como o contador na estrutura de repetição WHILE (enquanto... faça) */ somaMedias = 0; /* Inicialização do acumulador, que servir· para somar as médias de todos os alunos, a fim de se obter a média global da turma */ while(i<3) { /* Aqui estamos coletando as notas de 3 alunos, caso haja uma quantidade maior, basta alterar este valor.*/ printf("\n\nInforme as notas do Aluno %d\n",i+1); /* Como a variável i é inicializada como o valor 0, é necessário incrementa-la em 1 unidade, para que seja exibido o valor correto, Ex: Aluno 1... Aluno 2, etc */ 5 printf("Informe a nota 1: "); scanf("%f",¬a1); // Leia a nota 1 (do teclado) printf("Informe a nota 2: "); scanf("%f",¬a2); // Leia a nota 2 printf("Informe a nota 3: "); scanf("%f",¬a3); // Leia a nota 3 media = (nota1 + nota2 + nota3)/3; if (media >= 5) printf("A media final e: %.1f. Aluno aprovado!", media); else printf("A media final e: %.1f. Aluno reprovado!\n", media); somaMedias = somaMedias + media; /* As medias individuais dos n alunos serão acumuladas na variável somaMedias */ i++; } mediaGlobal = somaMedias/i; /* Após a saída da estrutura de repetição (WHILE), o cálculo da mediaGlobal é efetuado, considerando o somatório das médias, acumulado na variável somaMedias, e dividido pela quantidade de alunos. */ printf("\n\nA media global da turma e: %.1f.",mediaGlobal); return 0; } PROGRAMA 5: Calcular a média aritmética de três notas, de três alunos distintos, e imprimir a informação de que cada aluno foi aprovado ou reprovado, bem como a média global da turma. Utilize a Estrutura de Repetição (Repita... Até<condição>) #include <stdio.h> #include <stdlib.h>/* Programa para calcular a media aritmética de três notas, de três alunos distintos. O programa informa a media de cada aluno, e diz se o aluno foi aprovado (media >= 5) ou reprovado, e o programa também informa a media dos três alunos. O programa utiliza a estrutura de repetição pós testada (Repita...Até). Assunto da Unidade 4 (Estruturas de Controle) */ int main(){ float nota1, nota2, nota3, media, somaMedias, mediaGlobal; int i; i=0; somaMedias = 0; 6 do { printf("\n\nInforme as notas do Aluno %d\n",i+1); printf("Informe a nota 1: "); scanf("%f",¬a1); printf("Informe a nota 2: "); scanf("%f",¬a2); printf("Informe a nota 3: "); scanf("%f",¬a3); media = (nota1 + nota2 + nota3)/3; if (media >= 5) printf("A media final e: %.1f. Aluno aprovado!", media); else printf("A media final e: %.1f. Aluno reprovado!\n", media); somaMedias = somaMedias + media; i++; } while(i<3); mediaGlobal = somaMedias/i; printf("\n\nA media global da turma e: %.1f.",mediaGlobal); return 0; } PROGRAMA 6: Calcular a média aritmética de três notas, de três alunos distintos, e imprimir a informação de que cada aluno foi aprovado ou reprovado, bem como a média global da turma. Utilize a Estrutura de Repetição (Para i de x a y Faça). #include <stdio.h> #include <stdlib.h> /* O programa utiliza a estrutura de repetição com variável de controle (Para... Faça). Assunto da Unidade 4 (Estruturas de Controle) int main(){ float nota1, nota2, nota3, media; float somaMedias, mediaGlobal; int i; somaMedias = 0; for( i=0 ; i<3 ; i++) { printf("\n\nValor de i: %d",i+1); printf("\n\nInforme as notas do Aluno %d\n",i); printf("Informe a nota 1: "); 7 scanf("%f",¬a1); printf("Informe a nota 2: "); scanf("%f",¬a2); printf("Informe a nota 3: "); scanf("%f",¬a3); media = (nota1 + nota2 + nota3)/3; if (media >= 5) printf("A media final e: %.1f. Aluno aprovado!", media); else printf("A media final e: %.1f. Aluno reprovado!\n", media); somaMedias = somaMedias + media; } printf("%d",i); mediaGlobal = somaMedias/i; printf("\n\nA media global da turma e: %.1f.",mediaGlobal); return 0; }
Compartilhar