



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Logica de Programação e Algoritmos
Tipologia: Notas de estudo
1 / 6
Esta página não é visível na pré-visualização
Não perca as partes importantes!




SEMESTRE LETIVO
// top-down: passo 01 - identificação dos passos gerais...
#include <stdio.h>
void main(){
// capturar os dados do aluno
// calcular sua média final
// exibir algum resultado
}
// top-down: passo 02 – primeiros desdobramentos...
#include <stdio.h>
void main(){
// capturar os dados do aluno // ler um nome // ler a primeira nota // ler a segunda nota // ler a última nota
// calcular sua média final // somar as três notas e dividí-las por três
// exibir algum resultado // se média >= 6 emita aprovado (ou reprovado caso contrário) }
// top-down: passo 03 – a captura dos dados...
#include <stdio.h>
char nome[40]; float nota1, nota2, nota3;
void main(){
// capturar os dados do aluno // ler um nome printf( “Insira seu nome completo: ” ); gets( nome );
// ler a primeira nota printf( “Insira uma nota: ” ); scanf( “%f”, ¬a1 );
// ler a segunda nota printf( “Insira uma nota: ” ); scanf( “%f”, ¬a2 );
// ler a última nota printf( “Insira uma nota: ” ); scanf( “%f”, ¬a3 );
// exibir algum resultado // se média >= 6 emita aprovado (ou reprovado caso contrário) printf ( “\nAluno(a): %s”, nome ); printf ( “\nNotas parciais: [%.2f], [%.2f] e [%.2f]”, nota1, nota2, nota3 ); printf ( “\nMedia final: [%.2f]”, media ); printf ( “\nSituacao: %s”, media >= 6? “Aprovado” : “Recuperacao” ); }
// top-down: passo 06 – modularização…
#include <stdio.h> #include <conio.h> #include <alloc.h>
// área contendo os protótipos das funcoes... char* getNome( void ); void getNotas( float *parciais, int qtdNotas); float calcularMedia( float *parciais, int qtdNotas ); void exibirResultados( char nome[], float parciais, int qtdNotas ); char verificarSituacao( float media );
int main (void){ // limpar a tela clrscr();
// capturar o nome char *nome = getNome();
// vou usar alocação dinâmica de memória para ficar interessante // também poderíamos ter colocado este código em uma sub-rotina int qtd = 0; printf( "\nQuantas notas deseja inserir?" ); scanf( "%d", &qtd );
float *parciais = NULL;
if( ( parciais = (float*) malloc( qtd * sizeof(float) ) ) == NULL ){ printf( “ERRO: nao ha memoria suficiente para armazenar as notas parciais!” ); return 1; }
// capturando notas getNotas( parciais, qtd );
// exibir resultados exibirResultados( nome, parciais, qtd );
// liberando memória alocada previamente free( parciais );
getch(); return 0; }
// função que captura o nome do(a) aluno(a) char* getNome( void ){ char *nome = “Sem nome”; printf( "\nInsira seu nome completo: " ); gets( nome ); return nome; }
// procedimento que captura as notas parciais void getNotas( float *parciais, int qtdNotas ){ for( register int k = 0; k < qtdNotas; k++ ){ printf( "\nInsira uma nota: " ); scanf("%f", &parciais[ k ] ); } }
// função que retorna a média aritmética com base nas parciais float calcularMedia( float *parciais, int qtdNotas ){ float acumulador = 0; for( register int k = 0; k < qtdNotas; k++ ) acumulador += parciais[ k ]; return acumulador / qtdNotas; }
// imprime todos os resultados do programa void exibirResultados( char nome[], float *parciais, int qtdNotas ){ printf( "\nAluno(a): %s", nome ); printf( "\nNotas parciais:" );
for( register int k = 0; k < qtdNotas; k++ ) printf( " [%.2f] ", parciais[ k ] );
printf( "\nMedia final: [%.2f]", calcularMedia( parciais, qtdNotas ) ); printf( "\nSituacao: %s", verificarSituacao( calcularMedia( parciais, qtdNotas ) ) ); }
// verifica a situacao atual do aluno com base em uma média char* verificarSituacao( float media ){ return media >=6? "Aprovado" : "Reprovado"; }