TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Academicos

Tese: Academicos. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  20/3/2013  •  Tese  •  1.028 Palavras (5 Páginas)  •  546 Visualizações

Página 1 de 5

2ºDESAFIO

Muitos programas de computador do tipo “Console” são utilizados todos os dias. Para a plataforma Linux, esta é uma afirmação quase que incorporada à estrutura do próprio Sistema Operacional (SO). No SO Windows, os aplicativos de console, que são simples em interface, mas que desempenham tarefas muitas vezes sofisticadas, não são tão comuns à experiência típica de uso do sistema. Por exemplo, pode-se citar desde programas de linha de comando como “ipconfig” que auxilia na visualização das configurações de rede de um PC, até programas como o “taskkill” que auxiliam o usuário a eliminar processos ativos na memória do computador.

O objetivo desta atividade é motivar o aluno a adquirir experiência com o ciclo completo de desenvolvimento de um pequeno aplicativo de linha de comando (Console). Este ciclo utilizará os conceitos apresentados na disciplina de algoritmos; apresentará um exemplo de organização e de documentação de código fonte; exigirá uma organização funcional do código baseado em estruturas modulares; por fim, o aluno implementará um software de linha de comando com opções de parâmetros na chamada do programa.

Esta tarefa deverá ser implementada utilizando-se a Linguagem C. Sugere-se como compilador e interface de desenvolvimento o Code::Blocks. Disponível em: <http://www/codeblocks.org>. Acesso em: 10 out. 2010.

O Problema

Esta atividade concentra esforços no desenvolvimento de um programa que permita contar linhas de código fonte desenvolvido em Linguagem C ou C++. A estrutura sugerida permitirá a sua adequação para outras linguagens. Escolheu-se este tema por se tratar de um problema de simples entendimento, deixando espaço para que o aluno concentre o desenvolvimento de suas habilidades no entendimento e prática do ciclo de criação e implementação do aplicativo.

A contagem de linhas de um arquivo texto pode ser facilmente desenvolvida em poucas linhas de código, conforme apresentado no exemplo da Listagem 1.

#include <stdio.h>

int main ()

{

FILE * pFile;

int c;

int n = 0;

pFile = fopen ("ArquivoTexto.txt", "r");

if (pFile !=NULL)

{

do { //DO

c = fgetc(pFile);

if (c == 'n') n++;

} //DO

while (c != EOF);

fclose(pFile);

printf("Número de linhas = %d.n", n);

}

return 0;

}

#include <stdio.h>

int main ()

{

FILE * pFile;

int c;

int n = 0;

pFile = fopen ("ArquivoTexto.txt", "r");

if (pFile !=NULL)

{

do { //DO

c = fgetc(pFile);

if (c == 'n') n++;

} //DO

while (c != EOF);

fclose(pFile);

printf("Número de linhas = %d.n", n);

}

return 0;

}

Listagem 1. Exemplo de programa em Linguagem C para contagem de linhas de um arquivo.

O Desafio

Partido do exemplo anterior de contagem simples de linhas de um arquivo texto, o desafio desta tarefa tem início ao se querer determinar o número de linhas do código que são comentários formatados segundo a sintaxe da Linguagem C/C++. A sintaxe prevê dois tipos de comentários: linha única começando com os caracteres “//” (barra, barra); e comentários multi-linhas começando com “/*” (barra, asterisco) e com término determinado por “*/” (asterisco, barra).

Para uma visão de um problema real, considere o exemplo de código fonte escrito em C apresentado na Listagem 2. Observe os vários trechos com comentários para ajudar a documentação do código-fonte.

Listagem 2. Exemplo real de código fonte com vários comentários.

//----------------------------------------------------------

// Exemplo de Cabeçalho

//

// Neste tipo de comentário, faz-se uma breve apresentação do conteúdo do

// módulo em linguagem C. O código apresentado a seguir é um extrato de

// desenvolvimento criado para a disciplina de Classificação e Pesquisa.

// Pede-se ao leitor identificar os tipos de linhas com comentários, em

// especial a diferenciação de comentários de uma ou de várias linhas.

//

// Autor: Marcelo Augusto Cicogna.

// Revisões:

// 22/11/2005: Criação do módulo.

// 01/11/2006: Expansão do módulo em função da lista de exercícios.

//----------------------------------------------------------

#include "TBinTree.h"

#include <stdio.h>

//----------------------------------------------------------

// Funcões de manipulação do tipo TBinTree.

//----------------------------------------------------------

TBinTree*

binTreeCreate(TData* pData)

...

Baixar como (para membros premium)  txt (7.4 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com