Você está na página 1de 22

ATIVIDADE PRTICA SUPERVISIONADA Algoritmos e Programao

Sumario
Resumo Pag3 Noo de algoritmos Pag4 Lgica Pag4 Variveis e ConstantesPag5 Constante Variveis Pag5 Pag5 Pag6 Pag6 Informao Pag5 Formao de Variveis Contedo de uma Varivel Tipos de Variveis Memria pag7 pag7 Pag8 Pag9 Pag9 Tipos de memria Pseudo Linguagem Descrio Narrativa Fluxograma Pag9 Pag10 Pag6

Organizao da memria

Principais representaes Grficas Pag9 Outras representaes grficas Modelo de fluxograma Pseudo Cdigos Operadores Lgicos Operadores Relacionais Tipo inteiro pag18 Pag12 Pag13 pag14 pag16 pag18 Operadores Aritmticos Pag11

Tipos Primitivos Para representao de dados

Tipo Real

pag18 pag19 pag19

Tipo Caractere: Caractere Tipo Lgico (booleano) Fontes de pesquisa pag22

Etapa dois algoritmo da bobina jumbo pag20

Resumo
Algoritmo Na lngua portuguesa , a palavra algoritmo significa operao ou processo de clculo , entre diversas definies possveis . - No computador algoritmo representado atravs de expresses simblicas que utilizam estruturas de dados de modo a descrever e executar operaes de comando que interferem diretamente no mundo real . - As estruturas de dados so formas tambm de representar digitalmente entidades , aes e objetos do mundo real e definem a parte esttica de um algoritmo . - Sendo assim podemos definir algoritmo como sendo uma seqncia lgica e finita de operaes bem claras e eficazes que , ao serem executadas por um programa produz uma soluo ou informa ao usurio que tal operao no pode ser realizada .

Noo de Algoritmo
Na lngua portuguesa, a palavra algoritmo significa operao ou processo de clculo, entre diversas definies possveis. Em nossa sociedade trabalhamos com algoritmos todo o tempo. Nosso dia a dia em si e um algoritmo que deve ser cautelosamente seguido para podermos cumprir todas as nossas metas. O processo de ir ao trabalha, de sair com os amigos de preparar a comida so representaes bsicas de algoritmos bem trabalhados para cumprir objetivos. Um programa de computador envolve a definio de um algoritmo para a resoluo de execuo de comando que atendem uma determinada necessidade.No computadoralgoritmo representado atravs de expresses simblicas que utilizam estruturas de dados de modo a descrever e executar operaes de comando que interferem diretamente no mundo real. Como exemplo de operao pode citar uma transao bancaria. As estruturas de dados so formas tambm de representar digitalmente entidades, aes e objetos do mundo real e definem a parte esttica de um algoritmo. As estruturas que dados so alteradas atravs de declaraes e instrues precisas de controles, definem a parte dinmica de um algoritmo. O conjunto de estruturas de dados e de controle e instrues constituem formalmente um algoritmo. Sendo assim podemos definir algoritmo como sendo uma seqncialgica e finita de operaes bem claras e eficazes que,ao serem executadas por um programa produz uma soluo ou informa ao usurio que tal operao no pode ser realizada.

Lgica

Lgica e a forma de relacionarmos uma coisa com a outra tem tendo em mente referencias e ocorrncia presentes em todas as partes analisadas. E abusca por sinais que criam ligaes entre eventos distintos porm que de certa forma se relacionam entre si. [5] Abaixo um exemplo de teste lgico que e aplicado em vestibulares, concursos, e provas em geral: A seqncia de palavras abaixo segue uma determinada regra: Camiseta, acetona,macaco, abacaxi, mgico Qual a prxima palavra da seqncia? Cavalo Azeite Maionese Publicao Basquete A seqncia baseada na letra C, ela se move uma casa para a direita. Logo a resposta certa e Publicao.

Variveis e Constantes
Dentro de um algoritmo podemos encontra basicamente duas classes diferentes de dados: Os constantes e as variveis.

Constante
Constante como o prprio nome diz e algo que no se altera no sofrem modificaes se mantm exatamente o mesmo di inicio ao fim de um programa e algo esttico, parado. Uma constante pode serclassificada como numrica, lgica e literal. J um dado que pode ter seu valor alterado durante a execuo do programa tratado como uma varivel.

Informao
Informao o resultado do processamento, manipulao e organizao de dados de tal forma que represente uma modificao (quantitativa ou qualitativa) no conhecimento do sistema (pessoa, animal ou mquina) que a recebe.

Variveis

Varivel e o nome dado a um valor que sofre alterao a medida que o programa ou as situaes necessitem, o ser humano em si e uma varivel, a vaga no estacionamento e uma varivel. Cada varivel corresponde a uma posio de memria, cujo contedo pode se alterado ao longo do tempo durante a execuo de um programa. Embora uma varivel possa assumir diferentes valores, ela s pode armazenar um valor a cada instante. Exemplos de variveis: a+b+c+1=D Vamos atribuir a cada letra um valor: letra a vale 1, b vale 2 e c vale 3, logo D = 7. 1+2+3+1=7 a+b+c+1=D Observe que nesse exemplo a, b, c so variveis e o valor 1 fixo, ou seja constante. Pois o valor de D vai depender dos valores que vou atribuir as demais letras + 1 (constante ).

Formao de Variveis
Uma varivel formada por uma letra ou ento por uma letra seguida de letras ou dgitos, em qualquer nmero. No permitido o uso de espaos em branco ou de qualquer outro caractere, que no seja letra ou dgito, na formao de um identificador. Na formao do nome da varivel de um nome significativo, para que se possa ter idia do seu contedo sem abri l. Se utilizar palavras para compor o nome da varivel utilize o _ underline para separar as palavras.

Contedo de uma Varivel


Dados Elementos conhecidos de um problema Informao Um conjunto estruturado de dados, transmitido conhecimento. Para fixarmos uma idia de varivel, pense em um supermercado, shopping ou um grande estacionamento. Cada vaga tem seu determinado nome, ex.: Setor B n 20, ou seja, a vaga nmero 20 pertencente ao setor B do estacionamento. Agora imagine que algum estaciona o carro ali, logo essa vaga vai estar ocupada por esse carro. O que acabamos de mostrar nada mais do que um exemplo simples e pratico de uma varivel.

Observe que a vaga nmero 20 do setor B nossa varivel que poderamos chamar de B e o carro que estaciona nela o valor que atribumos a ela, que poderamos chamar de 1. Nesse caso B = 1.

Tipos de Variveis
Considere a frmula matemtica simples de uma equao de 1 grau: 2x + 3 = 0 Onde se encontram: 1- valores que podem ser classificados como: a) valores constantes, invariantes em todas as aplicaes da frmula, no caso dos valores x e aos 2 e 3 denomina-se constantes; b) valores a serem substitudos na frmula, em cada aplicao; a representao destes valores, usualmente feita atravs de letras, que recebem o nome de variveis e tornam a frmula genrica, possvel de ser aplicada para resolver uma certa classe de problemas e no apenas um problema especfico. 2- Operaes a serem feitas sobre determinados operando (Valores), para a obteno da soluo do problema. No caso do exemplo acima, observe a aplicao das variveis 1 e 2

Memria
Do dicionrio temos a seguinte descrio: A memria a capacidade de adquirir (aquisio), armazenar (consolidao) e recuperar (evocar) [|informaes] disponveis, seja internamente, no crebro (memria biolgica), seja externamente, em dispositivos artificiais (memria artificial). Em computao compreendemos memria como espao para se armazenar arquivos e informaes.

Tipos de memria
Memria RAM: usada para armazenar os comandos de um programa em execuo que ser transmitida ao processador nesse caso chamando de memria RAM, ou memria rpida sendo que ela apenas guardar as informaes que esto a ser utilizada no momento. Memria ROM: So memrias em que as informaes gravadas ficaram guardadas para quando o usurio quiser us-las.

Memria Flash: E um tipo de memria muito parecida com a RAM sendo que o seu grande diferencial e sua capacidade de armazenar os dados por longos perodos, sem a necessidade de corrente eltrica, como e o caso dos Pen Drive, e os cartes de memria. Graas tecnologia empregada nos cartes de memria podemos ter milhares de horas de boa musica num carto de memria do tamanho de um chip de GSM. Os computadores lem as informaes contidas na memria atravs da distino do sentido de gravao da informao, que so representados por codificao binria 0 e 1, o computador atribui o valor ao fazer a leitura do sentido da imantao, a um dos sentidos ele atribui o valor 1 e a o ele atribui o valos valor 0. Os dgitos 0 e 1 so os nicos elementos do sistema de numerao de base 2, sendo ento chamados de dgitos binrios, ou abreviadamente, bit. Entenda-se por bit a unidade bsica de memria, ou seja, a menor unidade de informao que pode ser armazenada num computador.

Organizao da memria
Como o valor de um bit tem pouco significado, as memrias so estruturadas e divididas em conjuntos ordenados de bits, denominados clulas, cada uma podendo armazenar uma parte da informao. Se uma clula consiste em k bits ela pode conter uma em 2k diferente combinao de bits, sendo que todas as clulas possuem a mesma quantidade de bits. Cada clula deve ficar num local certo e sabido, ou seja, a cada clula associa-se um nmero chamado de seu endereo. S assim torna-se possvel a busca na memria exatamente do que se estiver querendo a cada momento(acesso aleatrio). Sendo assim, clula pode ser definida como a menor parte de memria enderevel. Se uma memria tem n clulas o sistema de endereamento numera as clulas seqencialmente a partir de zero at n-1, sendo que esses endereos so fixos e representados por nmeros binrios. A quantidade de bits em um endereo est relacionado a mxima quantidade de clulas endereveis. Por exemplo, se um endereo possui m bits o nmero mximo de clulas diretamente endereveis 2m. A maioria dos fabricantes de computador padronizaram o tamanho da clula em 8 bits(Byte). Bytes so agrupados em palavras, ou seja, a um grupo de bytes (2,4,6,8 Bytes) associado um endereo particular. O significado de uma palavra que a maioria das instrues opera em palavras inteiras.

Os bytes em uma palavra podem ser numerados da esquerda para direita ou da direita para esquerda. O primeiro sistema, onde a numerao comea no lado de alta ordem, chamado de computador Big Endian, e o outro de LitlleEndian. Ambas representaes so boas mas quando uma mquina de um tipo tenta enviar dados para outra, problemas de posicionamento

podem surgir. A falta de um padro para ordenar os bytes um grande problema na troca de dados entre mquinas diferentes.

Pseudo Linguagem
A Pseudo Linguagem a forma de como podemos expressar o Algoritmo numa linguagem na nativa da programao so elas: Descrio Narrativa, Fluxograma e Pseudocdigo.

Descrio Narrativa
Na Descrio Narrativa os algoritmos so expressos diretamente em linguagem natural. O enunciado do problema e, simplesmente, descrevemos a seqncia de passos em nossa lngua nativa (em nosso caso, o portugus). A vantagem de se utilizar esse procedimento que no precisamos aprender nenhum conceito novo, pois j temos domnio sobre a nossa lngua nativa. A desvantagem que a lngua natural pode ser interpretada de diferentes maneiras. Para a linguagem de programao, a linguagem natural abstrata, imprecisa e pouco confivel. Isso poderia trazer problemas na hora de transcrever o algoritmo para o programa. Uma receita de bolo e um exemplo de descrio narrativa onde se estabelece todos os passos para se chegar ao resultado, o bolo. Porm e numa certa parte da receita informa-se que o tempo de assar o bolo e de aproximadamente 35 minutos, ou seja, o tempo de preparo e impreciso e pouco confivel.

Fluxograma
Tambm existe o Fluxograma um tipo de diagrama, e pode ser entendido como uma representao esquemtica de um processo, muitas vezes feito atravs de grficos que ilustram de forma descomplicada a transio de informaes entre os elementos que o compem, ou seja, fluxograma um grfico que demonstra a seqncia operacional do desenvolvimento de um processo, o qual caracteriza: o trabalho que est sendo realizado, o tempo necessrio para sua realizao, a distncia percorrido pelos documentos, quem est realizando o trabalho e como ele flui entre os participantes deste processo. Tambm a representao grfica do algoritmo, onde formas geomtricas definem as ordens a serem tomadas, enfatizando os passos individuais e suas principaisinterconexes. So elas

Principais representaes Grficas Incio ou fim do algoritmo Indica o sentido do fluxo de execuo do algoritmo. Conecta os objetos grficos Representa a entrada de dados Indica clculos e atribuies de valores (processamento) Indica desvios ou tomadas de decises (Por exemplo: SE isso, ENTO aquilo) Representa a sada de dados, no PortugolIDE Tambm representa a sada de dados

Outras representaes grficas

Calculos

Processo Alternativo

Deciso

Entrada de dados

Processo Pr-definido

Armazenamento Interno

Sada de dados

Vrios Documentos

Terminao

Preparao

Entrada Manual

Operao Manual

Conector

Conector Fora de Pgina

Carto (Sada de dados no Potugol)

Fita Perfurada

Somador

Ou

Agrupar

Classificar

Extrair

Mesclar

Dados Armazenados

Atraso

Armazenamento de Acesso Sequencial

Disco Magntico

Armazenamento de Acesso Direto

Exibir

O grande benfico de se utilizar o fluxograma que atravs dele se torna mais fcil compreender todas as etapas que devem ser executados pelo algoritmo e o fluxo de informaes para se chegar ao resultado desejado. Outro grande benfico e que os fluxogramas obedecem a um padro mundial quanto a sua simbologia.

Pseudo Cdigos
O pseudo cdigo como o prprio nome diz e um cdigo falso, e uma forma imaginria de representar o algoritmo em uma linguagem nativa se utilizando de particularidades semelhantes a estrutura de programao, e uma forma mais direta e menos detalhada, basicamente composta de comandos que imitam linguagem de programao porm que de forma alguma so interpretados por programas reais, tais como c, c++, ou qualquer outro compilador existente no mercado. Diferente do fluxograma que se utiliza de formas grficas o pseudo se utiliza da prpria lngua, em nosso caso a lngua portuguesa onde o programador declara o que deve ser executado em cada etapa a grande vantagem e que se torna mais fcil se familiarizar com o mundo da programao sendo muito utilizado em cursos e faculdades para treinar e desenvolver a capacidade do aluno de cincias da computao. Outra grande vantagem e que por ser um cdigo livre no existem regras para determinar como cada pessoa deve desenvolver seu algoritmo, cada um escreve da sua forma sempre buscando transmitir a idia central da programao. Exemplo: --- ALGORITMO Exemplo de Pseudocdigo--VAR Count, i : inteiro; VAR Media, Soma, Num : real; INICIO Soma <- 0; Count<- 0; PARA i DE 1 AT 10 FAA Ler(Num); SE Num >= 0 ENTO Soma <- Soma + Num; Count<- Count + 1; FIM SE FIM PARA; Media <- Soma / Count Escrever(A mdia :, Media); FIM

O algoritmo escrito em pseudocdigo representa a soluo genrica do problema e para que este possa ser realmente executado precisamos convertelo para uma linguagem de programao.

Operadores Aritmticos
Operadores aritmticos so os mesmos que estudamos na escola, seguindo as mesmas regras de clculos, prioridades, e todas as regras explicitas aplicada a resoluo dos mais variados tipos de problemas, seja uma equao uma matriz complexa ou apenas uma subtrao. Menos unrio

Representao

-2

Operador

Exemplo

Estes operadores so empregados com muita freqncia em programao. com o seu uso (muitas vezes da combinao de vrios deles) que so feitas as tarefas mais comuns de processamento de dados. Entre os operadores temos: Prioridades mais altas: * , / , div, mod Prioridades mais baixas: + , OPERADOR + * / div mod OPERAO Adio Subtrao Multiplicao Diviso diviso inteira resto da diviso inteira Exemplo: Para a expresso 2*(4+2) o resultado ser 12 e no 10 que resultaria de 2*4+2. TIPOS DOS OPERANDOS Inteiro Real Inteiro Real Inteiro Real Inteiro Real Inteiro Inteiro TIPO DO RESULTADO inteiro real inteiro real inteiro real real real inteiro inteiro

Se houver uma seqncia de operadores de igual prioridade, a execuo ser na ordem com que aparecem os operadores. Ateno: o resultado da expresso [8/(4*2)] ser diferente de [8/4*2]. J no casode [3*4/2] e [3*(4/2)] O resultado ser exatamente o mesmo. Na duvida recomenda se empregar parnteses para forar a ordem de execuodesejada.

Operadores Lgicos
Prioridade mais alta: Not Prioridade media: And Prioridade mais baixa: Or, Xor. OPERADOR NOT AND OR XOR AND (&&) O resultado da expresso s verdade se e somente se todas as variveis forem iguais a TRUE. Por exemplo, considere o seguinte trecho de programa: int i = 3, j = -5; real z = 3.0; int resultado; resultado = (10 > 5) && ( i > -5) && (z != 0); printf("O resultado e vale %d.", resultado); O resultado deste trecho a impresso do valor 1, ou seja o valor correspondente a TRUE porque 10 maior que 5 E (&&) i maior que (-5) E (&&) z diferente de 0. A tabela verdade do operador && a seguinte: x1 x2 x1 AND x2 OPERAO Negao E (conjuno lgica) OU (disjuno lgica) OU exclusivo TIPOS DOS OPERANDOS lgico TIPO RESULTANTE lgico

0 0 0 0 1 0

1 0 0 1 1 1 1 1 0 OR (||) Operador lgico onde a resposta da operao verdade (1) se e somente se pelo menos uma das variveis de entrada for verdade. real x = 3.0; int n = 55; i = 0; int resultado; resultado = (i != 0) || (x == 0) || (n < 100); printf("O resultado e %d", resultado); O resultado deste trecho a impresso do valor 1, ou seja o valor correspondente a TRUE porque i no diferente de 0, x no diferente de zero mas n menor que 100. A tabela verdade do operador || OR a seguinte: x1 x2 x1 OR x2 0 0 0 0 1 1 1 0 1 1 1 1 XOR Operador lgico onde a resposta da operao verdade (1) quando as variveis assumirem valores diferentes entre si. x1 x2 x1 XOR x2 0 0 0 0 1 1 1 0 1 1 1 0

NOT(!) Operador lgico que representa a negao (inverso) da varivel atual. Se ela for verdade, torna-se falsa, e vice-versa A tabela verdade do operador! a seguinte:

x1NOT x1 01 10 Aexpresso (A>2) AND NOT (A>20)equivale a (A>2) AND (NOT (A>20).

OperadoresRelacionais
Comparador Operador OPERADOR = <> < > <= >= <= >= in < representao OPERAO Igual Diferente menor que maior que menor ou igual maior ou igual est contido Contm pertence a TIPO RESULTANTE lgico lgico lgico lgico lgico lgico lgico lgico lgico Exemplo TIPOS DOS OPERANDOS tipos atmicos (char,real,integer, etc.) compatveis, ponteiros, conjuntos, cadeias de caracteres conjuntos compatveis conjuntos compatveis esquerda: tipo ordinal direita: conj. compatvel a<5

interessante saber que o resultado de uma expresso relacional sempre lgico, ou seja, retorna verdadeiro ou falso. Analisando a equao relacional X == 7; conclumos que o resultado ser verdadeiro para X igual a 7 e falso para X diferente de 7. Algumas vezes a anlise no to simples assim. Por exemplo: X > 7; O resultado ser verdadeiro para qualquer valor real maior ou igual a 7. Quando o resultado ser falso? Alguns respondem, de primeira, quando X for menor que 7 e esquecem que quando X igual a 7 o resultado da expresso tambm falso. A resposta correta quando X for menor ou igual a 7.

Sempre que deparar com uma relao, tente identificar os conjuntos de valores que a tornam verdadeira e falsa, assim voc ter domnio maior sobre o problema.

Tipos Primitivos Para representao de dados


So os dados mais comuns achados na maioria de linguagem de programao: e so armazenados em codificao numrica. Tipos primitivos podem ser: Tipo inteiro: Toda e qualquer informao nomeada que pertence ao conjunto dos nmeros inteiros /Z/ ou seja, no abrange nmeros com parte fracionarias os valores podem ser nulo, positivo ou negativo. algarismo = 0|1|2|3|4|5|6|7|8|9

Exemplos: 2 laranjas, calado tamanho 42, 65535 gros, 0 pessoas na fila, multa de -2 pontos no campeonato Tipo Real: so nmeros que correspondem ao conjunto dos nmeros reais, aqueles que abrangem os nmeros racionaise irracionais, ou seja pode ter partes fracionarias tambm chamadas de Flutuantes devido a maneira que o computador as armazena, um nmero real pode ou no ter sinal, em seguida um conjunto de pelo menos um algarismo, um ponto decimal e depois um conjunto de pelo menos um algarismo. E importante notar que o separador entre a parte inteira e a fracionrio o ponto e no a vrgula. Os dados reais tem a seguinte forma: [+,-]algarismo {algarismo} .algarismo {algarismo}. Exemplo: litros de combustvel, saldo de R$ , C, . ,

Caractere: Caractere So os valores pertencentes ao conjunto de todos os caracteres numricos (0...9), alfabticos (a...z,A...Z) e especiais (! @ # $ % ^ & *). Esse conjunto tambm conhecido como conjunto de caracteres alfanumricos. Os caracteres alfanumricos so armazenados internamente no computador na forma numrica (binria) utilizando o padro ASCII. A seguir so apresentados alguns dos caracteres existentes (representados no padro ASCII entre o intervalo de 33 a 126): !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop qrstuvwxyz{|}~

Exemplos de informaes do tipo caractere: Joo Francisco, Rua Ismael Soares, Hotel Feliz,?. Nestes exemplos, as aspas duplas (") so usadas para indicar o incio e o fim das cadeias de caracteres, porm no fazem parte da informao contida nas mesmas. importante ressaltar que o espao em branco entre as palavras tambm um caractere.

Lgico (booleano)
O tipo lgico utilizado para representar informaes que s podem assumir dois valores, o valor verdadeiro ( ) ou o valor falso ( ). Estes valores tambm podem ser

entendidos como: ligado/desligado, 1/0, alto/baixo, fechado/aberto, etc. Exemplos de informaes que podem ser representadas utilizando o tipo lgico so: O fogo est apagado, a televiso est ligada, o porto est aberto, o produto foi encontrado.

ALGORITMO ALGORITMOBobina-jumbo VAR REAIS: BJumbo,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,lixo; Inicio Escreva (Bjumbo=2400); Leia (c1);

Se bjumbo>c1; Bjumbo = (bjumbo-c1); leia ( c2) Se bjumbo> c2; Bjumbo=(bjumbo-c2); Se no=lixo,descarte o lixo; Escreva(Bjumbo=2400); Leia (c3); Se bjumbo>c3; Bjumbo = (bjumbo-c3); Se no=lixo,descarte o lixo; Escreva(Bjumbo=2400); Leia (c4); Se bjumbo>c4; Bjumbo = (bjumbo-c4); Se no=lixo,descarte o lixo; Escreva(Bjumbo=2400); Leia(c5); Se bjumbo>c5; Bjumbo = (bjumbo-c5); Se no=lixo,descarte o lixo; Escreva(Bjumbo=2400); Leia(c6); Se bjumbo>c6; Bjumbo = (bjumbo-c6); Se no=lixo,descarte o lixo; Escreva(Bjumbo=2400); Leia(c7); Se bjumbo>c7; Bjumbo = (bjumbo-c7); Se no=lixo,descarte o lixo; Escreva(Bjumbo=2400); Leia(c8);

Se bjumbo>c8; Bjumbo = (bjumbo-c8); Se no=lixo,descarte o lixo; Escreva(Bjumbo=2400); Leia(c9); Se bjumbo>c9; Bjumbo = (bjumbo-c9); Se no=lixo,descarte o lixo; Escreva(Bjumbo=2400); Leia(c10); Se bjumbo>c10; Bjumbo = (bjumbo-c10); Se no=lixo,descarte o lixo; Fimse; Fim.

Fontes de pesquisa: http://equipe.nce.ufrj.br/adriano/c/apostila/algoritmos.htm http://pt.wikipedia.org/wiki/Algoritmo http://www.tecmundo.com.br/programacao/2082-o-que-e-algoritmo-.htm Introduo Programao de Computadores para Cursos de Engenharia e de Automao. Captulos 1 e 2: http://www.di.ubi.pt/~programacao/capitulo4.pdf

Informaes sobre memria retiradas do site de suporte da Microsoft Outras informaes obtidas em debatesdurante a aula de algoritmo e programao.

Você também pode gostar