Você está na página 1de 17

`

FACULDADE ANHANGUERA EDUCACIONAL


ENGENHARIA CIVIL

ATIVIDADES PRTICAS SUPERVISIONADAS


ALGORITSMOS

CUIAB
2014
FELIPE AUGUSTO PIETRICOSKI RA: 1299104024
JOO VITOR DAR COSTA RA: 2951594035
KAROLINA FERNANDES SALANDIN RA: 2951594080
WISLLANY LIMA LEITE RA: 9064417428

ATIVIDADES PRTICAS SUPERVISIONADAS


ALGORITMOS

Trabalho apresentado a Disciplina de Algoritmos e Programao


sobre a teoria de Programao, para composio
da nota do curso de Engenharia da Faculdade Anhanguera.

Prof. Leonair

CUIAB
2014

SUMRIO

INTRODUO ......................................................................................................................04

ETAPA 1
1. CONCEITOS FUNDAMENTAIS DE PROGRAMAO ...............................................05
1.1. Peso Terico ......................................................................................................................07
ETAPA 2
2. PROGRAMAO ESTRUTURADA ................................................................................08
2.1. Aproveitamento da Bobina ...............................................................................................10
ETAPA 3
3. VETORES, MATRIZES E FUNES .............................................................................12
3.1. Modularizao do Programa .............................................................................................14
ETAPA 4
4. STRINGS E TIPOS ESTRUTURADOS ..........................................................................15

5. CONCLUSO .................................................................................................................... 17

6. REFERNCIAS BIBLIOGRAFICAS...............................................................................18

INTRODUO

Este trabalho tem como objetivo mostrar a noo de programao para o curso
de engenharia. 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 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 na rea voltada a computao.

Desafio: Bobina Jumbo


1) Desenvolver uma funo matemtica que resuma o clculo do peso terico de uma bobina
filha.
a) Bobinas com Dimetro total externo de 1000 mm peso por metro linear 0,610: IV. Exemplo
Largura de 660 peso igual a 403 Kg;
Ento, 660x (1000/1000)x0,610 onde 660x1x0,610= 514,60 que foi arredondado para 515 Kg.
b) Bobinas com Dimetro total externo de 1150 mm peso por metro linear 0,678: V. Exemplo
largura de 660 peso igual a 515 Kg;
Ento, 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: VI. Exemplo
largura de 660 peso igual a 574 Kg;
Ento, 660x (1200/1000)x0,725 onde 660x 12x0,725= 574,20 que foi arredondado para 574
Kg.
d) Bobinas com Dimetro total externo de 1500 mm peso por metro linear 0,933: VII
Exemplo largura de 660 peso igual a 924 Kg;
Ento, 660x(1500/1000)x0,933 onde 660x15x0,933=923,67 que foi arredondado para 924 Kg.

1. CONCEITOS FUNDAMENTAIS DE PROGRAMAO


Um algoritmo pode ser denido como uma sequncia nita de passos
(instrues) para resolver um determinado problema. Sempre que desenvolvemos um
algoritmo estamos estabelecendo um padro de comportamento que dever ser seguido (uma
norma de execuo de aes) para alcanar o resultado de um problema.
So propriedades de algoritmos:

aes simples e bem definidas (no ambguas);


sequncia ordenada de aes;
sequncia finita de passos.

Um algoritmo quando programado num computador constitudo pelo menos


das 3 partes, sendo elas:
1. Entrada de dados;
2. Processamento de dados;
3. Sada de dados;
Na parte de entrada, so fornecidas as informaes necessrias para que o
algoritmo possa ser executado. Estas informaes podem ser fornecidas no momento em que
o programa est sendo executado ou podem estar embutidas dentro do mesmo. Na parte do
processamento so avaliadas todas as expresses algbricas, relacionais e lgicas, assim como
todas as estruturas de controle existentes no algoritmo (condio e/ou repetio). Na parte de
sada, todos os resultados do processamento (ou parte deles) so enviados para um ou mais
dispositivos de sada, como: monitor, impressora, ou at mesmo a prpria memria do
computador.
A pseudo-linguagem (ou pseudocdigo) uma maneira intermediria entre a
linguagem natural e uma linguagem de programao de representar um algoritmo. Ela utiliza
um conjunto restrito de palavras-chave, em geral na lngua nativa do programador, que tem
equivalentes nas linguagens de programao. Alm disso, a pseudo-linguagem no requer
todo a rigidez sinttica necessria numa linguagem de programao, permitindo que o
aprendiz se detenha na lgica do algoritmos e no no formalismo da sua representao. Na
medida que em se obtm mais familiaridade com os algoritmos, ento o pseudocdigo pode
ser traduzido para uma linguagem de programao.
Na rea de programao usa-se operadores aritmticos, lgicos e relacionais.
Operadores Aritmticos so utilizados na resoluo de expresses matemticas utilizando
quaisquer valores, sejam eles constantes ou variveis. Retorna um inteiro se todos os valores
so inteiros ou um real se um ou mais valores so reais.
Exemplo de operadores aritmticos:

+ soma

- subtrao

* multiplicao
6

/ diviso

mdulo: resto de uma diviso

^ potenciao

Operadores Relacionais so utilizados para estabelecer uma relao entre


operador e operando. Retorna sempre um booleano; true para uma relao verdadeira
e falsa para uma relao falsa.
Exemplo de operadores relacionais:

> maior que

< menor que

<> ou != diferente de

>= maior ou igual a

<= menor ou igual a

Operadores Lgicos so utilizados para estabelecer relao entre valores lgicos.


Retornam sempre um booleano pois sua utilizao dada quase sempre pela combinao de
operadores relacionais.
Exemplo de operadores Lgicos:

AND ou && "E"

OR ou || "Ou"

NOT ou ! "negao"

1.1. Peso Terico


Para o peso terico, temos o seguinte calculo:
7

Peso = Largura * Dimetro Externo * Peso por metro Linear / 1000


Sabendo disso, e possvel elaborar um modelo para o calculo do peso terico,
declarando os tipos de variveis que utilizaremos no restante do programa. Com isso, temos:
#include <stdio.h>
int main ( ){
float pesoteorico,largura,diametroext;float pml;
printf("Largura da Bobina: ");
scanf("%f",&largura);
printf("Diametro Externo da Bobina: ");
scanf("%f",&diametroext);
printf("Peso por metro Linear da Bobina: ");
scanf("%f",&pml);
pesoteorico=largura*diametroext*pml/1000;
printf("O Peso da Bobina e: %.2f kg \n",pesoteorico);
getchar();getchar();
return 0;
}

2. PROGRAMAO ESTRUTURADA
C uma linguagem de programao compilada de propsito geral, estruturada,
imperativa padronizada pela ISO, criada em 1972. C uma das linguagens de programao
mais populares e existem poucas arquiteturas para as quais no existem compiladores para C.
C tem influenciado muitas outras linguagens de programao, mais notavelmente C++, que
originalmente comeou como uma extenso para C.
C tem como ponto forte, a sua eficincia, e a linguagem de programao
preferida para o desenvolvimento de sistemas e softwares de base, apesar de tambm ser
usada para desenvolver programas de computador. tambm muito usada no ensino
de cincia da computao, mesmo no tendo sido projetada para estudantes e apresentando
algumas dificuldades no seu uso. Outra caracterstica importante de C, sua proximidade
8

do cdigo de mquina, que permite que um projetista seja capaz de fazer algumas previses
de como o software ir se comportar, ao ser executado.
C tem como ponto fraco, a falta de proteo que d ao programador.
Praticamente tudo que se expressa em um programa em C, pode ser executado, como por
exemplo, pedir o vigsimo membro de um vetor com apenas dez membros. Os resultados so
muitas vezes totalmente inesperados, e os erros, difceis de encontrar.
A linguagem C considerada de alto nvel em vista de outros mtodos para
implementao de algoritmos no ramo da computao. A linguagem C, apesar de muito usada,
necessita de um bom leiaute. Portanto alguns pontos so evitados pelos programadores, que
buscam deixar o programa de forma limpa e clara para que esta lendo e executando a ao.
Na linguagem C usa-se bastante a estrutura do lao para executar alguns
programas. Laos so comandos usados sempre que uma ou mais instrues tiverem de ser
repetidas enquanto uma certa condio estiver sendo satisfeita. Em C existem trs comandos
de laos:

For
While
Do-While

O lao for geralmente usado quando queremos repetir algo por um


nmero fixo de vezes. Utilizamos quando sabemos de antemo o nmero de vezes a repetir.
Utilizamos o lao while quando o lao pode ser terminado inesperadamente, por condies
desenvolvidas dentro do corpo. E por fim o lao do-while utilizado em situaes em que
necessrio executar o corpo do lao uma primeira vez, logo aps, avaliar a expresso de teste
e criar um ciclo repetido. Estes tipos de condicionamento sero visualizados ao longo do
programa a ser executado.
Outro ponto so as estruturas para tomadas de Deciso na linguagem C. Os
comandos de deciso permitem determinar qual a ao a ser tomada com base no resultado
de uma expresso condicional. Os dois comandos bsicos para tomadas de decises so: ifelse e swith-case. Alem destes podemos citar outros que nem sempre so usados, mas tambm
satisfazem esta parte, que so: break e continue, e goto.
If uma estrutura de definio que tem o objetivo de testar se a condio
9

passado verdadeira, caso seja ele entra dentro do bloco de if, e dentro do bloco de if caso no
seja ele entra dentro do bloco de else onde a deciso satisfatria.
Sintaxe:

SWITCH uma declarao de mltipla escolha, diferente do if que caso tenha


uma lista de escolha a ser montada no fica elegante e dependendo a extenso do programa
fica difcil a manuteno.
Sintaxe:

10

2.1. Aproveitamento da Bobina


Nesta parte sera apresentada uma nova parte do programa, baseado no que ja
foi desenvolvido na parte 01 do trabalho. Assim, temos:
#include<stdio.h>
main(){
int j; int i=0
float q,L,h;
printf("Digite quantidade de pedidos: ");
scanf("%i",&j);
while (i = j)
{
printf("Digite o Peso em quilos: ");
scanf("%f",&q);
printf("Digite a largura em milimetros: ");
scanf("%f",&L);}
printf("Digite a altura em milimetros: ");
scanf("%f",&h);
i++;
}

float NbobinasJumbo, perdacomercial, totalLBobinas;


NbobinasJumbo=j/pesoteorico;
printf("O numero de bobinas Jumbo com 2.450mm e %.2f: ",NbobinasJumbo);
perdacomercial = 1 - (totalLBobinas/2450);
printf("A perda comercial foi de %.2f: ",perdacomercial);

11

3. VETORES, MATRIZES E FUNES


Um vetor uma seqncia de vrios valores do mesmo tipo, armazenados
seqencialmente na memria, e fazendo uso de um mesmo nome de varivel para acessar
esses valores. Um vetor tambm pode ser entendido logicamente como uma lista de elementos
de um mesmo

tipo. Cada elemento desta seqncia pode ser acessado individualmente

atravs de um ndice dado por um nmero inteiro.


Os elementos so indexados de 0 at n-1, onde n a quantidade de elementos
do vetor. O valor de n tambm chamado de dimenso ou tamanho do vetor. A declarao de
vetores obedece mesma sintaxe da declarao de variveis. A diferena est no valor entre
colchetes, que determina quantos elementos ele armazenar, ou seja, em outras palavras,
determina o seu tamanho ou dimenso.
Por exemplo, para declarar um vetor com 10 nmeros inteiros:
int vetor [10];
Uma matriz uma estrutura de dados que pode armazenar vrios
valores do mesmo tipo. A sintaxe para declarar uma matriz :

TIPO NOME[QUANTIDADE];
onde TIPO o tipo dos dados que sero armazenados na matriz. Todos os dados colocados na
matriz devem ser deste tipo. NOME o nome a ser dado a matriz. Este nome identificar a
matriz no cdigo do programa. EQUANTIDADE a quantidade mxima de itens a ser
armazenados.
Uma das matrizes mais comuns utilizadas em C a matriz de caracteres. As
strings manipuladas em C so matrizes de caracteres.
Outro ponto importante na linguagem C a modularizacao. Exemplos de
modularizao, i.e., sistemas que so compostos por mdulos com funes bem definidas e
to independentes quanto possvel, so bem conhecidos. Por exemplo, a maior parte dos
sistemas de alta fidelidade para audifilos so compostos por mdulos: o amplificador, o
equalizador, o leitor de CD, o sintonizador, o leitor de cassetes, etc.
A diviso dum sistema em mdulos tem vrias vantagens. Para o fabricante, por um lado, a
modularizao tem a vantagem de reduzir a complexidade do problema, dividindo-o em sub12

problemas mais simples, que podem inclusivamente ser resolvidos por equipas
independentes. At sob o ponto de vista do fabrico mais simples alterar a composio de
um mdulo, por exemplo porque se desenvolveram melhores circuitos para o amplificador, do
que alterar a composio de um sistema integrado. Por outro lado, mais fcil detectar
problemas e resolv-los, pois os mdulos so, em princpio, razoavelmente independentes.
Claro que os mdulos muitas vezes no so totalmente independentes. Por exemplo, o
sistema de controlo distncia duma aparelhagem implica interao com todos os mdulos
simultaneamente.
A arte da modularizao est em identificar claramente que mdulos devem
existir no sistema, de modo a garantir que as ligaes entre os mdulos so minimizadas e que
a sua coeso interna mxima. Isto significa que, no caso dum bom sistema de alta
fidelidade, os cabos entre os mdulos so simplificados ao mximo e que os mdulos contm
apenas os circuitos que garantem que o mdulo faz a sua funo. A coeso tem portanto a ver
com as ligaes internas a um mdulo, que idealmente devem ser maximizadas.
Normalmente, um mdulo coeso se tiver uma nica funo, bem definida.
comum em programao decompor programas complexos em programas
menores e depois junt-los para compor o programa final. Essa tcnica de programao
denominada programao modular. A programao modular facilita a construo de
programas grandes e complexos, atravs de sua diviso em pequenos

mdulos, ou

subprogramas, mais simples. Estes subprogramas alem de serem mais simples de serem
construdos, so tambm mais simples de serem testados. Esta tcnica tambm possibilita o
reaproveitamento de cdigo, pois podemos utilizar um mdulo quantas vezes for necessrio
eliminando a necessidade de escrev-lo repetidamente.
Outro aspecto importante da modularizao a possibilidade de vrios
programadores trabalhem simultaneamente na soluo de um mesmo problema, atravs da
codificao separada dos mdulos. Assim, cada equipe pode trabalhar em um certo conjunto
de mdulos ou subprogramas.
H duas formas de passagem de parmetros:
- Passagem de parmetros por valor.
- Passagem de parmetros por referncia.
A passagem de parmetros por valor a forma que temos usado em todos os
exemplos at agora. Dizemos que parmetros passados por valor so parmetros de entrada.
13

O valor do argumento passado para dentro da funo atravs dos parmetros. Assim, os
parmetros recebem os valores dos argumentos. Na passagem de parmetro por referncia no
criado um novo espao de memria para o parmetro. O que acontece que o parmetro vai
usar o mesmo espao de memria usado pelo argumento. Nesse caso passado como
argumento um ponteiro para a varivel e no o seu valor.
3.1. Modularizao do Programa
Para armazenar valores, substituindo o modelo da etapa 02, utilizando vetores,
como exemplo, um numero de pedidos igual a 10, pode-se utilizar a seguinte funo:

int i, vetor [10];


printf ("Digite os valores dos pedidos: ");
for ( i=0 ; i<=10 ; i++);
scanf ( "%d", &vetor[i] );

4. STRINGS E TIPOS ESTRUTURADOS

Na linguagem C uma string um vetor de caracteres. Porm, obrigatoriamente


um dos caracteres do vetor deve ser o caractere nulo, ou seja, o '\0'. O caractere nulo sucede o
ltimo caractere vlido da string em questo. Para declarar uma string, podemos usar o
seguinte formato geral:
char nome_da_string [tamanho];

A biblioteca padro string da linguagem C contm vrias funes de


manipulao de string. Para usar essas funes, o seu programa deve incluir o arquivointerface "string.h". As cadeias de caracteres da linguagem C podem formatar um novo tipo
de dados, porm criar tipos de dados mais sofisticados no possvel nesta linguagem, as
strings em C++ so objetos da classe string, o que isso traz de novo para o tratamento de
textos em programas? A primeira coisa a notar quando criamos strings em C++ a maneira de
14

cri-las, a classe disponibiliza uma srie de construtores.


Isto torna possvel, basicamente, criar string de seis maneiras diferentes:
1. Podemos definir um objeto string vazio, para futuramente usarmos de acordo com a
necessidade;
2. Podemos criar um objeto string com uma cpia de outro;
3. Podemos criar um objeto string com uma cpia de uma poro de outra string;
4. Podemos criar um objeto string com uma cpia de uma parte de uma "char string";
5. Podemos criar um objeto string com uma cpia de uma "char string";
6. Podemos criar um objeto string preenchida com uma quantidade definida de um
determinado caractere;

A estrutura de dados array usada para conter dados do mesmo tipo junto.
Dados

de

tipos diferentes tambm

podem

ser

agregados

em

tipos

chamados

de estruturas ou registros (tipo struct em linguagem C). Primeiro, o tipo estrutura


declarado (precisamos especificar que tipos de variveis sero combinados na estrutura), e
ento variveis deste novo tipo podem ser definidas (de maneira similar que usamos para
definir variveis do tipo int ou char).
Uma declarao de estrutura declara um tipo struct. Cada tipo struct recebe
um nome (ou tag). Refere-se quele tipo pelo nome precedido pela palavra struct. Cada
unidade de dados na estrutura chamada membro e possui um nome de membro. Os membros
de uma estrutura podem ser de qualquer tipo. Declaraes de estrutura no so definies.
No alocada memria, simplesmente introduzida um novo tipo de estrutura.
Geralmente declaraes de estruturas so globais. Elas so colocadas prximas
ao topo do arquivo com o cdigo fonte do programa, assim elas so visveis por todas as
funes (embora isto dependa de como a estrutura est sendo usada).A forma padro de
declarao de uma estrutura :
struct nome-estrutura {
declarao dos membros
} definio de variveis (optional);

15

5. CONCLUSO

Com o trabalho realizado, foi possvel observar o uso da linguagem C/C++ na


rea de engenharia, a importncia desta ferramenta na engenharia, assim como a aplicao
dela na resoluo de problemas.
O trabalho desenvolvido trouxe um aprofundamento na disciplina de algoritmo
e programao, salientando o uso da programao no ambiente de trabalho atual. Assim foi
possvel ver que a programao e o conhecimento desta de grande valia na engenharia atual,
no so sendo til na engenharia da computao, mas em todas as outras em geral, sendo a
grande ferramenta do engenheiro hoje.

REFERNCIAS BIBLIOGRFICA
16

MIZRAHI, Victorine Viviane. Treinamento em Linguagem C. 1 ed. So Paulo: Pearson,


2007.

SCHILDT, Herbert. Linguagem C - Guia do Usuario. McGraw-Hill, 1986.

17