Buscar

4 PROJETO PIM IV

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais