Baixe o app para aproveitar ainda mais
Prévia do material em texto
6 UNIP INTERATIVA PROJETO INTEGRADO MULTIDISCIPLINAR CURSO ANÁLISE E DESENVOLVIMENTO DE SISTEMA PROJETO INTEGRADO MULTIDISCIPLINAR PIM IV DESENVOLVIMENTO DE UM SISTEMA PARA ESTACIONAMENTO DE VEICULO EM LINGUAGEM C UNIP INTERATIVA – POLO COARI 2015 UNIP INTERATIVA PROJETO INTEGRADO MULTIDISCIPLINAR CURSO ANÁLISE E DESENVOLVIMENTO DE SISTEMA DESENVOLVIMENTO DE UM SISTEMA PARA ESTACIONAMENTO DE VEICULO EM LINGUAGEM C Nome: Ericlis Erikson Caetano Coelho RA: 1413662 Erifran Elias Pereira RA: 1406152 Gilder Gonçalves de Vasque RA:1404505 Idelbrando Davila Pereira RA: 1406382 Leandro da Silva Monteiro RA: 1420275 Myrla Cordeiro de Oliveira RA: 1434239 Neila de Assunção Vilena RA: 1407686 UNIP INTERATIVA – POLO COARI 2015 RESUMO O presente projeto desenvolveremos um sistema para estacionamento de Carros em linguagem C, usaremos a ferramenta de desenvolvimento DEV C++ que proverá de uma tabela de tarifação com um determinado valor para a primeira hora e outro valor para as demais horas. Quando o cliente entrar no estacionamento, o sistema deverá emitir um recibo com a data e a hora de entrada e a placa do veículo. Da mesma forma, quando o cliente retirar o veículo do estacionamento, o sistema deverá emitir um recibo com a data e a hora de entrada, a data e a hora de saída, a placa do carro e o valor a ser pago. O sistema deverá informar quando o estacionamento estiver cheio e não aceitar mais veículos até que uma vaga seja liberada. Deverá também fazer a gestão do caixa, isto é, informar no fechamento do caixa todas as movimentações do dia e o saldo do fechamento. Adotaremos um modelo de ciclo de vida do sistema de estacionamento e apresentaremos as justificativas para escolha de tal modelo. Também mostraremos a legibilidade, organização e comentários do código-fonte, acurácia, completude, telas do programa e utilização de diversos recursos e métodos do sistema em linguagem C. Palavra-chave: Sistema de Estacionamento, Linguagem C. Abstract The objective of this work is to develop a project that will provide the adoption of computers in teaching elementary school , which is very important contribution to the strengthening of the Brazilian education, the computer at school can provide a revolution in the teaching learning process and their use is essential on the various changes in society , the contact between student , computer and its educational applications can enable the school environment becomes fun and interesting , can awaken greater attention from students and allowing a higher concentration in the classroom and can boost self -esteem student , able to transform into the information produced by the media in knowledge to take full advantage of this technology. We present a brief knowledge of the various hardware resources and software architectures and their striking and characteristic, because this understanding will be required to develop the project. In the study show the ProInfo is the national program for Educational Technology and its software applications come with various features and educational content and the platform used. Keyword: Computer Teaching. SUMÁRIO 1. INTRODUÇÃO........................................................................................ 06 2. DESENVOLVIMENTO............................................................................ 07 2.1 DEVIC C++............................................................................................... 07 2.2 OPERADORES LÓLICO......................................................................... 08 2.3 ALGORITMO............................................................................................ 10 2.4 PSEUDOCÓDIGO.................................................................................... 10 3. MODELO DE CICLO DE VIDA............................................................. 11 3.1 CÓDIGO FONTE...................................................................................... 12 3.2 TELAS DO SISTEMA.............................................................................. 14 3.3 FLUXOGRAMA................................................................................... 17 4 CONCLUÇÃO.......................................................................................... 18 5 REFERENCIA........................................................................................... 19 6 1. INTRODUÇÃO No projeto mostraremos técnica de desenvolvimento de sistema e apresentaremos um sistema de estacionamento de veiculo utilizando a linguagem C, o computador é totalmente irracional, incapaz de executar qualquer tarefa se não houver algo ou alguém que o instrua quanto aos passos para efetuá-la. Ao mesmo tempo, é extremamente fiel: a máquina obedecerá às suas ordens exatamente da maneira que foram expressas. Por um lado, essa obediência é muito louvável, mas, por outro, isso significa que uma ordem maldada será executada fielmente, da maneira que foi instruído. Um outro problema é o fato de o computador entender poucas palavras, significando que existe a possibilidade de uma ordem nossa não estar no vocabulário dele, portanto devemos ensinar-lhe novas palavras. Essa falta de vocabulário, a princípio, pode parecer um problema sério, porém é uma vantagem, pois, apesar da necessidade de um texto maior, evita a dupla interpretação. Com o vocabulário limitado é necessário fazer programas que tornem amigável a experiência de uma pessoa leiga ao utilizar o computador. Nossa função ao fazer este projeto é montar programas, sistemas que permitam ao usuário leigo a possibilidade de trabalhar com o computador sem a necessidade de conhecer os detalhes da máquina. Apresentar soluções computacionais sem uma intervenção nossa. Dessa forma, este projeto apresenta o conhecimento mínimo para o desenvolvimento de pequenos programas. 7 2. DESENVOLVIMENTO 2.1 DEVIC C++ O C++ foi inicialmente desenvolvido por Bjarne Stroustrup dos Bell Labs durante a década de 1980 com o objectivo de melhorar a linguagem de programação C ainda que mantendo máxima compatibilidade. Stroustrup percebeu que a linguagem Simula possuía características bastante úteis para o desenvolvimento de software, mas era muito lenta para uso prático. Por outro lado, a linguagem BCPL era rápida, mas possuía demasiado baixo nível, dificultando sua utilização em desenvolvimento de aplicações. Durante seu período na Bell Labs, ele enfrentou o problema de analisar o kernel UNIX com respeito à computação distribuída. A partir de sua experiência de doutorado, começou a acrescentar elementos do Simula no C. O C foi escolhido como base de desenvolvimento da nova linguagem pois possuía uma proposta de uso genérico, era rápido e também portável para diversas plataformas. Algumas outras linguagens que também serviram de inspiração para o cientista da computação foram ALGOL 68, Ada, CLU e ML. Ainda em 1983 o nome da linguagem foi alterado de C with Classes para C++. Novas características foram adicionadas, como funções virtuais, sobrecarga de operadores e funções, referências, constantes, gerenciamento manual de memória, melhorias na verificação de tipo de dado e estilo de comentário de código de uma linha (//). Em 1985 foi lançada a primeira edição do livro The C++ ProgrammingLanguage, contendo referências para a utilização da linguagem, já que ainda não era uma norma oficial. A primeira versão comercial foi lançada em outubro do mesmo ano. Em 1989 a segunda versão foi lançada, contendo novas características como herança múltipla, classes abstratas, métodos estáticos, métodos constantes e membros protegidos, incrementando o suporte a orientação a objeto. Em 1990 foi lançado o livro The Annotated C++ Reference Manual, que tornou-se base para o futuro padrão. Outras adições na linguagem incluem templates, tratamento de exceções, espaço de nomes, conversão segura de tipo de dado e o tipo booleano. Assim como a linguagem, sua biblioteca padrão também sofreu melhorias ao longo do tempo. Sua primeira adição foi a biblioteca de E/S, e posteriormente a Standard Template Library (STL); ambas tornaram-se algumas das principais funcionalidades que distanciaram a linguagem em relação a C. Criada primordialmente na HP por Alexander Stepanov no início da década de 1990 para explorar os potenciais da programação genérica, a STL foi apresentada a um comitê unificado ANSI e ISO em 1993 à convite de Andrew Koenig. Após uma proposta formal na reunião do ano seguinte, a biblioteca recebe o aval do comitê. Depois de anos de trabalho, o mesmo comitê ANSI/ISO padronizou o C++ em 1998 (ISO/IEC 14882:1998). Após alguns anos foram reportados defeitos e imprecisões no documento, e uma correção foi lançada em 2003. Durante sua fase inicial de desenvolvimento, a linguagem era chamada "novo C" ou ainda "C com classes". O termo "C++" é creditado a Rick Mascitti[6], e foi utilizado pela primeira vez em dezembro de 1983. Ele é uma referência ao operador de incremento ++, significando um acréscimo (uma evolução) à linguagem C. Em tom humorado, desenvolvedores software e especialistas em informática no início da década de 1990 costumavam relacionar o ++ do nome à grande insistência dos programadores em utilizar o C++ da mesma forma que a linguagem C, não usufruindo das novas facilidades que a linguagem poderia fornecer. Assim como o ++ estava sendo aplicado de maneira pós-fixa à letra C, a linguagem C++ era uma evolução do C pós-fixada, que só tornar-se-ia realidade em algum futuro remoto, não naquele momento. 9 2.2 OPERADORES LÓLICO Os operadores lógicos são usados para representar situações lógicas que não podem ser representadas por operadores aritméticos. Também são chamados conectivos lógicos por unirem duas expressões simples numa composta. Podem ser operadores binários, que operam em duas sentenças ou expressões, ou unário que opera numa sentença só. O primeiro deles é o operador binário de conjunção e lógico, representado por AND. Quando duas expressões são unidas por este operador, a expressão resultante só é verdadeira se ambas expressões constituintes também são. Por exemplo ``chove e venta'' só é verdadeiro se as duas coisas forem verdadeiras, ``chove'' e também ``venta''. Se uma das sentenças não ocorrer, a sentença como um todo é falsa. O segundo operador é o operador binário de disjunção lógico, representado por OR. Neste caso, se qualquer uma das expressões constituintes for verdadeira, a expressão completa também será. Por exemplo, ``vou à praia ou vou ao campo'' é um sentença verdadeira caso qualquer uma das duas ações acontecer, ou ambas. É verdadeira, se eu for a praia e não ao campo, se eu for ao campo e não a praia e se eu for a ambos. Para o caso em que deve-se garantir que somente uma das sentenças aconteça, define-se o operador ou-exclusivo, cujo símbolo é XOR. Como o nome diz, é semelhante ao operador ou com exclusividade na veracidade dos operandos, isto é, somente um dos operandos pode ser verdadeiro. No exemplo anterior, se o conectivo fosse o ou-exclusivo, a sentença composta só seria verdadeira se fosse à praia ou ao campo, mas não ambos. O último dos operadores é o operador unário não lógico, representado por. Sua função é simplesmente inverter valor lógico da expressão a qual se aplica. Tanto a parte como são verdadeiras, logo a expressão completa também é. A primeira parte é verdadeira e a segunda é verdadeira, logo toda a expressão é verdadeira. Na linguagem natural não damos tanta importância para a diferença entre e e ou. Se uma das partes fosse falsa, toda a expressão, ligadas por e, seria falsa. 2.3 ALGORITMO Os operadores lógicos são de suma importância para muitas estruturas algorítmicas, principalmente, as estruturas base de programação como são as estruturas seletivas e as estruturas de repetição. Basicamente, os operadores lógicos se baseiam em tabelas chamadas de tabelas verdade que mostram o resultado booleano (verdadeiro ou falso) de acordo com as comparações ou combinações. Os símbolos de comparações variam um pouco de linguagem para linguagem, mas podemos destacar dois grandes grupos - as linguagens baseadas em C e as linguagens baseadas em Visual Basic - embora suas funções são sempre as mesmas. Conjunto finito de regras sobre as quais se pode dar execução a um dado processo. Ex: ordenação de um conjunto, pesquisa numa base de dados. Atributos que deve possuir: Ser finito, inteligível, exequível, caracterizável. Formas de representação Narrativa, Fluxograma, Pseudocódigo, Linguagens de programação. 2.4 PSEUDOCÓDIGO O pseudocódigo é uma maneira intermediária entre a linguagem natural e uma linguagem de programação de representar um algoritmo. Ela utiliza um conjunto restrito de palavras-chave, em geral na língua nativa do programador, que tem equivalentes nas linguagens de programação. Além disso, o pseudocódigo não requer todo a rigidez sintática necessária numa linguagem de programação, permitindo que o aprendiz se detenha na lógica do algoritmos e não no formalismo da sua representação. Na medida em que se obtém mais familiaridade com os algoritmos, então o pseudocódigo pode ser traduzido para uma linguagem de programação. 3. MODELO DE CICLO DE VIDA Existem três possíveis estados para um aplicativo: não estar em execução, estar em execução ou estar suspenso. A transição de não execução para execução é chamada de ativação. Ela marca o início do ciclo de vida do aplicativo. Quando um aplicativo está em execução, ele poderá ser suspenso se o usuário for para outro aplicativo ou se o sistema operacional entrar em um estado de baixa energia. Enquanto o aplicativo está suspenso, ele permanece na memória para que o usuário possa rapidamente alternar de volta para ele. Nenhum código extra é necessário para lidar com a transição entre suspensão e retomada. No entanto, o sistema operacional também pode fechar um aplicativo suspenso a qualquer momento para liberar a memória ou para economizar energia. Quando seu aplicativo for encerrado, ele será descarregado da memória e entrará em um estado de não execução. Quando o usuário reinicia o aplicativo, o sistema deve ativá-lo, e isso pode significar o recarregamento dos dados do aplicativo e dos dados do usuário. Quando o usuário fecha um aplicativo pressionando Alt+F4 ou usando o gesto de fechar, o aplicativo é suspenso por 10 segundos e fechado em seguida. O sistema operacional notifica o seu aplicativo antes de suspendê-lo, mas não antes de encerrá-lo. Você manipula o evento OnSuspended para salvar o estado e liberar recursos e identificadores de arquivo. Quando o aplicativo for ativado, você manipulará o evento OnLaunched para restaurar o estado e fazê-lo parecer ao usuário que o aplicativo nunca teve sua execução interrompida. 3.1 CÓDIGOFONTE Declarando as bibliotecas e variáveis Contador de vetores Aqui o código deixa os caracteres em maiúscula Nesta parte do código fonte testa as entradas da placa do veiculo se faltar algum digito mostraremos uma mensagem e volta ao inicio. Nesta parte do código podemos cadastrar veiculo se não houver vagar para estacionar o sistema mostrará uma mensagem e volta ao inicio. 3.1 TELAS DO SISTEMA Tela principal do sistema de estacionamento onde a opção feita para cada tipo de serviço na hora de cadastrar. Tela de cadastro de veículo, onde é feito a entrada da placa, modelo, marca e cor do veículo feito o procedimento volta para a tela inicial e gera um arquivo em txt para imprimi o cadastro do carro. Comprovante de cadastro do carro Essa tela mostra os carros cadastrados no sistema e só pressionar enter para voltar à tela principal 3.2 FLUXOGRAMA Fluxogramas têm o mesmo objetivo dos pseudocódigos, a única diferença é que os fluxogramas são representações gráficas. A vantagem principal dos fluxogramas é que, diferentemente dos pseudocódigos, eles são padronizados. Ou seja, cada símbolo representa uma ação específica e sempre representará. CONCLUSÃO O desenvolvimento desse projeto foi importante para compreendermos o quanto cada assunto abordado nas disciplinas de Linguagem e Técnicas de Programação, Engenharia de Software I., é necessário para o desenvolvimento de um sistema. O sistema implementado também comprova que é possível desenvolvermos um sistema para o gerenciamento de um estacionamento de grande ou pequeno porte. Por tanto o projeto depende muito de uma adequada construção dos fluxogramas e a criação de bom código fonte para um bom funcionamento e execução do sistema. A qualidade do produto final depende muito das ferramentas de desenvolvimento, pois, este projeto o qual foi desenvolvido de acordo com as exigências do cliente, dando-lhe um programa com uma interface dinâmica, de fácil entendimento e clareza para os usuários, desta forma o projeto realizado permitira a organização e gerenciar do estacionamento. REFERÊNCIAS Livro de Linguagem e Técnicas de Programação Livro de Engenharia de Software I. https://www.inf.pucrs.br/~flash/cbp/algoprogC.pdf http://www.ebah.com.br/content/ABAAAAzu0AE/algoritmos-programacao-exercicios- logica-resolvidos-c https://br.answers.yahoo.com/question/index?qid=20071129052057AAjjdhP http://pt.slideshare.net/leandrogynprof/algoritmos-cc-aula-01-1092506 https://msdn.microsoft.com/pt-br/library/windows/apps/dn263169.aspx https://msdn.microsoft.com/pt-pt/library/windows/apps/dn263169.aspx http://www.macoratti.net/proc_sw1.htm http://www.devmedia.com.br/processos-de-software/21977 http://www.rioinfo.com.br/cria/o-que-e-pseudocodigo/ http://www.cristiancechinel.pro.br/my_files/algorithms/bookhtml/node21.html
Compartilhar