Trabalho teorico

13

Click here to load reader

description

 

Transcript of Trabalho teorico

Page 1: Trabalho teorico

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS

GERAIS

FERNANDO FREITAS

LAURA DE OLIVEIRA RIBEIRO

TRABALHO TEÓRICO – PROGRAMAÇÃO DE COMPUTADORES I

BELO HORIZONTE

02 DE SETEMBRO DE 2013

Page 2: Trabalho teorico

ÍNDICE

INTRODUÇÃO ______________________________________

FUNDAMENTAÇÃO TEÓRICA ________________________

DESENVOLVIMENTO ________________________________

RESULTADOS APRESENTADOS _______________________

CONCLUSÃO ________________________________________

REFERENCIAS BIBLIOGRÁFICAS ______________________

Page 3: Trabalho teorico

INTRODUÇÃO

A evolução humana é um aspecto tanto que curioso de se abordar. Com o passar do

anos a sociedade sempre apresentou certas necessidades de adaptação ao meio que sempre

foram significativas, pois é graças a necessidade de adaptação que foram desenvolvidas

tecnologias e ferramentas para que otimizassem a produtividade humana.

Considerando esse pequeno trecho como assunto norteador, foi desenvolvido um

software que auxiliasse no cadastro e busca de clientes e filmes para uma locadora buscando

organização e otimização do tempo que seria gasto caso o trabalho fosse manual. Este

software foi desenvolvido baseado nas aulas teóricas da disciplina de Programação de

computadores em ‘C’, tendo como auxilio bibliotecas, laços, funções, structs, arquivos na

construção.

Como resultado, foi obtido um código extenso porém de bastante ajuda na otimização

do trabalho e organização, proporcionando assim rápido acesso as informações que seriam

necessárias ao comerciante e ao contratante, que será detalhado ao longo do trabalho.

Page 4: Trabalho teorico

FUNDAMENTAÇÃO TEÓRICA

Para construção do software foram usados diversos artifícios, entre eles estão:

- Bibliotecas de acesso;

- Laços;

- Funções;

- Structs e;

- Arquivos

Bibliotecas: No trabalho utilizamos 3 bibliotecas: #include <stdio.h>,#include

<stdlib.h> e #include <string.h> .

Em cada uma dessas bibliotecas existem tipos padrões, que são acessados pelo

programa para facilitar o uso de muitas funções.

Para melhor explicação, foi construída uma tabela com as funções de cada biblioteca:

<stdio.h> Standard Input Output (entradas e saídas padrão): este cabeçalho

contém a definição da estrutura FILE, usada para todas as entradas

(input) e saídas (output), além das definições de todas as funções que

lidam com a abertura, fechamento, etc de arquivos. A famosa

função printf também é definida aqui, juntamente com sprintf, fprintf e

toda a família de funções relacionadas.

<stdlib.h> Standard library functions (funções da biblioteca padrão): Contém abort

(término anormal do programa), exit (término normal), atoi, itoa (conversão

de texto para inteiro), malloc, calloc, free (módulo de memória dinâmica),

rand, srand (números randômicos), putenv, getenv (administração do

ambiente), qsort (ordenação), strtod, strtol (conversão de string para

double/long), sleep (suspender a execução por um certo período de tempo)

<string.h> Manipulação de strings: aqui são definidas todas as funções que lidam com a

representação padrão de como as strings são usadas em C. Temos strcmp

(comparação de strings), strlen (obtenção do comprimento de uma string),

strcpy (cópia de uma string para outra), strcat (concatenação de strings), strstr

(substring numa string), memset (atribuição de uma região RAM para um

caracter), memcpy (copiar memória), memmove (copiar memória cuidando

da região de sobreposição).

Page 5: Trabalho teorico

Funções: Uma função é um bloco de código de programa que pode ser usado diversas vezes emsua execução. O uso de funções permite que o programa fique mais legível, mais bem estruturado. Um programa em C consiste, no fundo, de várias funções colocadas juntas. Essas funções possuem argumentos que são as entradas que a função recebe. É através dos argumentos que passamos parâmetros para a função. Muitas vezes é necessário fazer com que uma função retorne um valor ou então ela pode ser do tipo void, que não retorna nenhum valor. As funções normalmente retornam o número 0. Pode-se especificar um tipo de retorno indicando-o antes do nome da função. Mas para dizer ao C o que será retornado será preciso o uso da palavra reservada return.

Forma geral

tipo_de_retorno nome_da_função (lista_de_argumentos){código_da_função}

Structs: Uma estrutura agrupa várias variáveis numa só. A estrutura serve para agrupar um conjunto de dados não similares, formando um novo tipo de dados. Essas estruturas podem também ter qualquer tipo de dados válidos em C como por exemplo, ponteiros, strings, vetores, etc. Para acessar os elementos de uma structs é necessário utilizar-se o (.) (ponto). (Ex: Variavel.membro).

struct nome_do_tipo_da_estrutura{tipo_1 nome_1;tipo_2 nome_2;...tipo_n nome_n;} variáveis_estrutura;

Arquivos: Os arquivos são vistos pela linguagem C como sequencias de bytes sem qualquer

formato especial, pois são elementos externos e independentes de qualquer programa. Por isso

é necessária uma variável do tipo FILE* para que tenham uma boa representação. Os arquivos

permitem gravar os dados de um programa de forma permanente em mídia digital.

Vantagens de utilizar arquivos:

Armazenamento permanente de dados: as informações permanecem disponíveis mesmo que o programa que as gravou tenha sido encerrado, ou seja, podem ser consultadas a qualquer momento.

Grande quantidade dados pode ser armazenada: A quantidade de dados que pode ser armazenada depende apenas da capacidade disponível da mídia de armazenamento. Normalmente a capacidade da mídia é muito maior do que a capacidade disponível na memória RAM.

Page 6: Trabalho teorico

Acesso concorrente: Vários programas podem acessar um arquivo de forma concorrente.

A linguagem C trata os arquivos como uma sequência de bytes. Esta sequência pode ser manipulada de várias formas e para tanto, existem funções em C para criar, ler e escrever o conteúdo de arquivos independente de quais sejam os dados armazenados.

Em linguagem C existem dois tipos de arquivos:

1) Arquivo texto: Armazena caracteres que podem ser mostrados diretamente na tela ou modificados por um editor de texto.

Exemplos de arquivos texto: documentos de texto, código fonte C, páginas XHTML.

2) Arquivo binário é uma sequência de bits que obedece regras do programa que o gerou.

Exemplos: Executáveis, documentos do Word, arquivos compactados.

Modo Significado"r" Abre um arquivo texto para leitura. O arquivo deve existir antes de ser aberto."w" Abrir um arquivo texto para gravaçao. Se o arquivo não existir, ele será criado. Se já existir, o conteúdo anterior será destruído.

"a" Abrir um arquivo texto para gravação. Os dados serão adicionados no fim do arquivo ("append"), se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente.

"rb" Abre um arquivo binário para leitura. Igual ao modo "r" anterior, só que o arquivo é binário."wb" Cria um arquivo binário para escrita, como no modo "w" anterior, só que o arquivo é binário."ab" Acrescenta dados binários no fim do arquivo, como no modo "a" anterior, só que o arquivo é binário.."r+" Abre um arquivo texto para leitura e gravação. O arquivo deve existir e pode ser modificado.

"w+" Cria um arquivo texto para leitura e gravação Se o arquivo existir, o conteúdo anterior será destruído. Se não existir, será criado.

"a+" Abre um arquivo texto para gravação e leitura. Os dados serão adicionados no fim do arquivo se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente.

"r+b" Abre um arquivo binário para leitura e escrita. O mesmo que "r+" acima, só que o arquivo é binário"w+b" Cria um arquivo binário para leitura e escrita. O mesmo que "w+" acima, só que o arquivo é binário."a+b" Acrescenta dados ou cria uma arquivo binário para leitura e escrita. O mesmo que "a+" acima, só que o arquivo é binário.

Page 7: Trabalho teorico

DESENVOLVIMENTO

Como ferramenta construtiva para a otimização de algum tipo de trabalho na sociedade, são desenvolvido por programadores softwares de grande ajuda no dia a dia. O software aqui construído foi desenvolvido com objetivo puramente acadêmico. O software contém em suas linhas de código subdivisões que podemos associar as matérias aprendidas no curso.

Inicialmente, foram usadas as bibliotecas que contém funções que serão utilizadas para algum fim.

IMAGEM BIBLIOTECAS

Em seguida, foram definidas estruturas (entidades) para que fosse possível o acesso de informações que seriam úteis no cadastro e busca (de pessoas ou filmes). Essas estruturas agrupam dados que serão necessários que o usuário digite, para cadastro ou busca. O código feito possui quatro (4) entidades. São elas: Clientes; Filmes; Preços; e Funcionários.

Essas entidades são escritas utilizando-se o recurso das estruturas, também conhecidas como structs.

Deve-se lembrar Deve-se lembrar que é importante considerar a organização do código e a identação, para que nenhum transtorno ocorra caso haja má interpretação de quem receberá o código para análise ou até mesmo para compreensão de outros programadores, etc.

Após a definição das entidades a serem usadas, foram adicionadas as funções que serão usadas no código. Funções com o tipo void, ou seja, não retornam um valor específico. São funções que normalmente são chamadas de procedimentos.

Essas funções estão localizadas no fim do código, após o main(){}, mas estão declaradas após as entidades, pois normalmente são indicadas abaixo das bibliotecas definidas.

As funções que foram declaradas seguem a proposta do trabalho que instrui a criar um programa que seja útil no cadastro, busca e afins.

Abaixo estão algumas das funções declaradas no código:

IMAGEM FUNÇÕES DECLARADAS E IMAGEM DE UMA FUNÇÃO NO FIM DO CÓDIGO.

Page 8: Trabalho teorico

Os menus definidos no código facilitam o acesso que o usuário terá quando fizer o uso pratico do software. A linguagem utilizada foi simples para que o software fosse de acesso a qualquer pessoa. Inicialmente são oferecidas cinco (5) opções para o usuário:

1- Clientes 2- Filmes3- Preços 4- Funcionários5- Sair

Então deve-se escolher a opção desejada. Para qualquer uma das opções escolhidas, novas opções apareceriam na tela que promove a interação com o usuário do programa. Essas opções envolvem o cadastro, busca, exclusão* e mostra dos dados requeridos.

Os arquivos foram abertos no desktop do computador, o sistema operacional usado foi o Windows 7 (visto que há diferença entre o Windows e o Linux no diretório de busca).

A utilização de arquivos no código deve-se ao fato de existir a possibilidade de gravar os dados que são solicitados, podendo assim ser acessado posteriormente.

MOSTRAR MODO DE ABERTURA DE UM ARQUIVO DENTRO DE UM DO.

Para que o programa rodasse sem algum problema, podendo ser cadastrado mais de um usuário por vezes, foram utilizados laços que só seriam parados caso o usuário quisesse, entrando com o numero correspondente a “Sair” no menu.

As funções que já haviam sido declaradas foram colocadas após o main(), tem como corpo de função arquivos que gravarão o que será o argumento dessa função e o que ela faz no software. Além disso, laços também são utilizados para que exista uma continuidade no cadastro do usuário, e no depois, quando deverá-se mostrar o que foi cadastrado, caso o usuário solicite uma busca dos componentes de algumas das entidades.

MOSTRAR PROTOTIPO DA FUNÇÃO

*Nota: A função excluir apresentou erro por má implementação, portanto foi desconsiderada do código para que o software funcionasse perfeitamente.

Page 9: Trabalho teorico

RESULTADOS

Os resultados apresentados foram satisfatórios. Embora o código do software tenha ficado extenso, o projeto final, que era exatamente construir um software para uma locadora cadastrar, buscar filmes e clientes, obteve êxito. A facilidade de acesso, a linguagem da interface do programa é totalmente condizente com a realidade de hoje em dia, na qual precisamos aperfeiçoar e aproveitar ao máximo o tempo para que proporcione um conforto ao cliente e ao usuário direto do programa.

Como deixado ao longo do desenvolvimento, a função que deveria excluir os usuários ou filmes cadastrados apresentou má implementação. Portanto foi desconsiderada no código, como avisado ao Professor Orientador na apresentação oral do software.

Abaixo estão algumas telas mostrando o sucesso ao se implementar o programa.

Page 10: Trabalho teorico

CONCLUSÃO

Para construção do software foi colocado como objetivo principal fazer um software simples

para que a utilização não fosse complicada para o usuário. Desse modo foi construído de

forma objetiva e com palavras de conhecimento que são básicas no nosso cotidiano. As

implementações de funções, arquivos, serviram para que o código se estruturasse de forma a

consolidar os dados que seriam introduzidos no software. Para que o software melhorasse

tanto no código quanto no entendimento do cliente, para descomplicar muitos quesitos,

poderiam ser adicionadas outras entidades que auxiliassem para que não houvesse, por

exemplo, algum engano que pudesse vir a ocorrer com nomes ou títulos de filmes

equivalentes. Enfim, após analise da fundamentação teórica, desenvolvimento do trabalho e

resultados obtidos concluímos que houve total êxito no cumprimento dos objetivos do

trabalho.

Page 11: Trabalho teorico

REFERENCIAS BIBLIOGRÁFICAS

DAMAS, Luís. Linguagem C. LTC, 10 ed. Rio de Janeiro, 2007.

Curso de C, ministrado via Internet pela UFMG. <http://ead1.eee.ufmg.br/curso/C>

Site da Internet < http://www.numaboa.com.br/informatica/tutos/c/1002-c-bibliotecas-tipos?showall=&limitstart=>