Académique Documents
Professionnel Documents
Culture Documents
Campinas, 25/11/2014
1
Algoritmo e Programao
Anhanguera educacional
Campinas 2014
Sumario
1
2
Introduo............................................................................................................................3
Relatrio 1 - Conceitos Fundamentais de Programao .....................................................4
2.1 Noo de algoritimo.....................................................................................................4
2
Introduo
Este trabalho tem como objetivo mostrar a noo de programao para o curso de engenharia, neste
caso, o de engenharia mecnica. Os relatrios dirigidos como relatrios 1,2,3 e 4 so apresentados em
formas de tpicos ao longo do trabalho, apresentando a proposta pedida na atividade pratica
supervisionada. Ao fim deste, ser possvel conceber, projetar e analisar sistemas, produtos e
processos, assim como identificar, formular e resolver problemas de engenharia que envolvem
programao. Com isso ser possvel desenvolver ou utilizar ferramentas e tcnicas que sero vistas, a
3
fim de atuar em grupo para a resoluo de problemas. A programao efetuada neste trabalho foi
simulado e compilada no programa DevC++, que auxilia na formao da programao e uma
ferramenta muito til na vida acadmica do engenheiro, principalmente nas reas voltadas a
computao e produo.
Noo de algoritimo
O conceito de algoritmo frequentemente ilustrado pelo exemplo de uma receita culinria que mostra
passo a passo os procedimentos necessrios para a resoluo de uma tarefa. Ele no responde a
pergunta o que fazer?, mas sim como fazer. Em termos mais tcnicos, um algoritmo uma
sequncia lgica, finita e definida de instrues que devem ser seguidas para resolver um problema ou
executar uma tarefa.
2.2
Peseudo de Linguagem
Misture os ingredientes
Unte a forma com manteiga
Despeje a mistura numa forma
Se houver coco ralado
Ento despeje sobre a mistura
Leve a forma ao forno
Enquanto no corar
Deixe a forma no forno
Retire do forno
Deixe arrefecer
4
Notamos que desta forma explicado como fazer um bolo de forma direta resultando em um bolo
pronto, porm as explicaes so sempre feitas com um verbo iniciando as frases para indicar a ao
que deve ser executada.
2.3
Estrutura de um programa
2.4
Algoritmos criados para a realizao de tarefas de computao utilizamos variaveis para armazenar
dados como, nome, idade, altura e sexo. Cada variavel pode armazenar apenas um tipo de dado. A
variavel nome so pode armazenar texto, a variavel idade apenas numeros inteiros, a variavel altura
apenas numeros decimais e a variavel sexo apenas caractere.
2.5
Operadores aritmticos so usados para expressar operaes matemticas bsicas, estes operadores so
empregados com muita frequncia em programao. com o seu uso (muitas vezes da combinao de
vrios deles) que so feitas as tarefas mais comuns de processamento de dados.
Operadores Relacionais sao utilizados para comparar variaveis ou expressoes, dando um valor logico
(verdadeiro ou falso).
2.6
C uma linguagem de programao geral, padronizada pela ISO, foi criado no ano de 1972, por
Dennis Ritchie, para o sistema operacional Unix. A linguagem C foi criada para facilitar a criao de
programas e diminuir a margem de erros, esta linguagem possui as seguintes caractersticas:
a. Bobinas com Dimetro total externo de 1000 mm peso por metro linear
0,610: Exemplo Largura de 660 peso igual a 403 Kg;
R: 660x(1000/1000)x0,610 onde 660x1x0,610=402,60 que foi arredondado para 403 Kg.
b. Bobinas com Dimetro total externo de 1150 mm peso por metro linear
0,678: Exemplo Largura de 660 peso igual a 515 Kg;
R: 660x(1150/1000)x0,678 onde 660x1,15x0,678=514,60 que foi arredondado para 515 Kg.
c.
Bobinas com Dimetro total externo de 1200 mm peso por metro linear
0,725: Exemplo Largura de 660 peso igual a 574 Kg;
R: 660x(1200/1000)x0,725 onde 660x12x0,725= 574,20 que foi arredondado para 574 Kg.
d. Bobinas com Dimetro total externo de 1500 mm peso por metro linear
0,933: Exemplo Largura de 660 peso igual a 924 Kg.
R: 660x(1500/1000)x0,933 onde 660x15x0,933=923,67 que foi arredondado para 924 Kg.
3.1
Ao desenvolver um algoritimo usando como uma ferramenta genrica para representar asoluo de
tarefas independente do desejo de automatiz-las, estaremos associando processamento letronico de
dados, onde representa o rascunho para programas (Software).
Servir como modelo para programas, pois sua linguagem intermediria linguagemhumana e as
linguagens de programao, sendo ento, uma boa ferramenta na validao dalgica de tarefas a serem
automatizadas.
Desenvolver um algoritimo realizar uma receita para um processo computacional
que consista em uma srie de operaes primitivas, interconectadas devidamente, sobre um conjunto
de objetos.
Os objetos manipulados poressas receitas so as variveis.
4.2
4.3
Uma estrutura de repetio tambm conhecida como Loop/Lao. O primeiro tipo de loop que vamos
ver o "for". O loop "for" trabalha checando uma condio para executar um bloco de cdigo
at que essa condio seja verdadeira, no caso do loop "for" temos que em sua syntax declarar sua
inicializao, sua condio e seu incremento.
6.2
Quando um vetor de tamanho declarado, uma rea da memria, suficiente para armazenar todos os
elementos do vetor, reservada. Essa rea recebe o nome do vetor, e seus elementos podem ser
acessados atravs de um ndice entre colchetes ([]). O primeiro elemento do vetor acessado pelo
ndice 0 (zero), e o ltimo pelo ndice . O C no verifica se esses ndices so vlidos e problemas
muito srios podem acontecer caso voc tente acessar uma posio invlida do vetor (ou seja, fora do
intervalo de 0 a ). Compe-se primeiramente das definies de dado, informao, tipo abstrato de
dado, tipo de dado, e da diferenciao entre abstrao e implementao de um tipo de dado. Com o
uso destas duas vertentes, aborda em seguida os conceitos e aplicaes dos tipos estruturados de dados
fundamentais Pilha e Fila, construindo, para cada um, analogia entre verses clssicas de
implementao com estruturas de dados homogneas j fundamentadas, e provocando a discusso e a
percepo da eficcia e eficincia destas verses numa gradao da pior at a mais razovel. A partir
de ento prope a implementao das mesmas estruturas com o uso de listas encadeadas, em contraste
com o uso de estruturas de dados homogneas, redundando na discusso e na comparao dos dois
meios genericamente. Finalmente, pretende introduzir o conceito de grafo.
Estrutura de repetio nada mais que laos de repeties.
Laos de repeties permite que um conjunto de instrues seja repetido at que se faa a condio
desejada.
A linguagem C suporta aos mesmos tipos de laos que as linguagens de programaes modernas,
exemplos: For, While, Do While.
6.3
A figura abaixo pode traduzir a idia de como seria um algoritmo decomposto em mdulos:
Pelo diagrama acima pode-se observar que ele descreve uma estrutura hierrquica. O controle da
execuo do algoritmo fica sob a responsabilidade do mdulo principal e os outros mdulos
respondem por rotinas especficas do problema. Quando os mdulos de um programa respondem por
realizar rotinas especficas que contribuem para a soluo do problema diz-se que realizou-se uma
decomposio funcional, isto , o mdulo executa alguma funo especfica do problema. H outras
formas de decomposio de um algoritmo.
rvore dos diretrios de um sistema operacional no qual o diretrio principal de nvel mais alto o
diretrio raiz. O mdulo principal tambm denominado de mdulo raiz.
Caractersticas do mdulo
As seguintes caractersticas so desejveis em um mdulo:
1. deve ser pequeno. Mdulos grandes so difceis de ser compreendidos.
2. deve implementar uma nica funcionalidade.
3. deve implementar ou definir suas prprias estruturas de dados.
4. as estruturas de dados do mdulo devem ser necessrias e suficientes apenas para executar a
funcionalidade especfica do mesmo.
Benefcios
A decomposio do algoritmo em mdulos funcionais traz benefcios tais como:
1. manuteno mais simples pois a independncia do mdulo evita efeitos colaterais em outros pontos
do algoritmo.
2. o mdulo pode ser elaborado de forma independente do restante do algoritmo.
3. o mdulo pode ser elaborado em poca diferente do restante do algoritmo.
4. promove-se a diviso do trabalho onde programadores podem elaborar diferentes mdulos do
algoritmo.
5. os mdulos podem ser testados separadamente.
6. promove-se a reutilizao de cdigo pois um mdulo pode ser utilizado em outros algoritmos que
requeiram a mesma funcionalidade.
11
getch();
return 0;
return;
12
Tela de Execuo
7.2
Como as strings em C++ tm tamanho varivel, existem uma srie de funes que podem ser
utilizadas para controlar e manipular essa propriedade. Por tamanho varivel, deve-se
entender que uma string reserva uma certa quantidade de memria (sua capacidade), mas no
necessariamente utiliza toda essa memria. Caso a string cresca mais do que a sua capacidade,
ento mais memria reservada e assim por diante. A seguir apresenta-se as principais
funes:
size(): retorna o tamanho corrente da string;
capacity(): retorna a capacidade corrente da string, ou seja, quantos elementos ela poder
conter antes de necessitar mais memria;
max_size(): retorna o tamanho mximo possvel em uma string, geralmente dependente da
mquina e do compilador.
13
7.3
Definio de Estruturas
7.4
para armazenar um valor (char de tamanho maior que 8 bits permitido pela linguagem, mas
os casos so raros). Com vetores do tipo char possvel criar cadeias de caracteres (strings).
float
O tipo de dado float serve para armazenar nmeros de ponto flutuante, ou seja, com casas
decimais. O padro mais utilizado nos ltimos 10 anos o IEEE 754-1985.
double
O tipo de dado double serve para armazenar nmeros de ponto flutuante de dupla preciso,
normalmente tem o dobro do tamanho do float e portanto o dobro da capacidade. O padro
mais adotado tambm o IEEE 754-1985.
Struct
Em C podem ser usadas estruturas (chamados de registos em outras linguagens de
programao). As estruturas so grupos de variveis organizadas arbitrariamente pelo
programador. Uma estrutura pode criar um novo tipo de varivel caso typedef seja usado em
sua declarao.
7.5
8 Relatorio Final
Ns integrantes do grupo nos reunimos e discutimos todos os assuntos discutidos em aula e os textos
indicados pela ATPS e os captulos do PLT, pesquisamos e definimos todos os assuntos tpicos da
15
ATPS Noo Algoritmos, Pseudo Linguagem, Estrutura de um programa, Tipos Primitivos para
apresentao de dados Variveis, operaes Aritmticos, Lgicos e racionais e Caractersticas do
ambiente de desenvolvimento C, estruturamos a ordem para a elaborao do relatrio final junto com a
atividade proposta sobre o desafio das Bobinas, usamos nosso conhecimento j adquirido nas aulas
sobre algoritmo e formulas de processamento para representar os clculos do desafio, e finalizar o
relatrio conforme os passos pedidos na ATPS.
16