Você está na página 1de 11

PARTE 01

Introduo Noes de Lgica e Algoritmos Introduo ao MATLAB ___________________________________________________

1.1 - Introduo O uso de computadores no nosso dia-a-dia tem sido cada vez mais frequente. Em todas as reas de estudo, pesquisa e trabalho eles so essenciais. Veja um exemplo simples que serve para ilustrar esta afirmao. Considere que desejamos fazer um levantamento para avaliar qual o melhor aluno do ano de 2004 em uma determinada Universidade. Naturalmente, poderamos pegar as cadernetas escolares de todos os alunos, calcular a mdia de suas notas e verificar qual aluno obteve a maior mdia. Isso representa um trabalho muito labosioso, pois a quantidade de informaes (dados) a serem levantados extremamente grande. Mas e se tivermos um computador? Como ele pode ser til para resolver o nosso problema? Simples. necessrio apenas garantir que todos os dados dos alunos estejam armazenados em um computador e que ns possamos usar um programa computacional para fazer os clculos desejados. Em questo de segundos poderamos ter a resposta desejada. Mas qual programa usar? Existem duas alternativas: uma comprar um programa comercial (e existem vrios) que possa ser utilizado para resolver o problema. A outra desenvolvermos o nosso prprio programa. O presente curso tem com objetivo fornecer uma base terica e prtica para permitir o aprendizado, capacitando o leitor a desenvolver programas computacionais para resolver os mais diversos problemas do nosso cotidiano, pricipalmente aqueles relacionados Engenharia.

1.1.1 - Histrico A tarefa de processamento de dados consiste em tomar certa informao, process-la e obter o resultado desejado. Desde que o homem comeou a processar dados, ele tentou construir mquinas para ajud-lo nessa tarefa. O computador digital o resultado de uma dessas tentativas que vm sendo realizadas atravs dos sculos. Ele um dos principais produtos da cincia do sculo XX. A evoluo dos computadores pode ser dividida nas seguintes etapas:

Computadores da 1 Gerao: o Utilizao circuitos eletromecnicos e vlvulas Computadores da 2 Gerao: o Utilizao de transistores (controlam a passagem de correntes) Reduo do tamanho e da potncia consumida; Dispositivos mais robustos e confiveis Computadores da 3 Gerao: o Circuitos integrados Integrao de vrios transistores em uma nica embalagem com a dimenso aproximada de um transistor; Maior potncia de clculo; Mais rpidos; Mais confiveis; Menores fisicamente Computadores da 4 Gerao: o Circuitos integrados em altissma escala Integrao de milhares de transistores em uma nica pastilha

Alm da evoluo acima, podemos destacar a evoluo das telecomunicaes usando a mesma tecnologia. Isso viabilizou o uso de recursos de telecomunicaes (internet, por exemplo) aplicados computao, possibilitando o uso distncia de um computador por um ou vrios usurios.

1.1.2 O Computador Existem dois tipos de computadores: Os analgicos e os digitais. Um termmetro um exemplo de funcionamento or analogia, pois a dilatao de mercrio anloga mudana de temperatura. O princpio da analogia utilizado tambm em uma rgua de clculo, que pode ser considerada como um computador analgico, onde as operaes de multiplicao e diviso so executadas simplesmente somando-se ou subtraindo-se a distncia medida na rgua externa quela marcada na rgua interna deslizante. Um dos primeiros computadores analgicos de grande porte foi contrudo para prever a altura das mars nos portos ingleses. Os computadores analgicos de hoje so capazes, por exemplo, de simular as foras que atuam numa represa ou as foras que atuam nas asas de um avio a partir da voltagem eltrica. Resumindo, os computadores analgicos so caracterizados por lidarem com grandezas contnuas. Neles, as variveis do problema so representadas por tenses, que so quantidades fsicas contnuas. Ao contrrio dos computadores analgicos, que trabalham com grandezas fsicas, os computadores digitais so capazes de somar, subtrair, multiplicar, dividir e comparar atravs de pulsaes eltricas que, em ltima anlise, representam os dgitos 0 (ausncia de corrente) e 1 (presena de corrente). 4

Os computadores digitais sero o foco do nosso curso.

1.1.3 A Estrutura de um Computador Digital (Arquitetura) O esquema de um computador digital dado pelo esquema da figura abaixo:
Memria

Unidade de Entrada

Unidade de Controle

Unidade de Sada

Unidade Lgica e Aritimtica CPU

Ao conjunto de circuitos eletrnicos e dispositivos mecnicos d-se o nome de hardware. Esse nome usado como referncia maquina propriamente dita, e no a sua utilizao. A seguir, so descritos cada componente do computador digital.

1.1.3.1 Unidade de Entrada Esta unidade traduz informao de uma grande variedade de dispositivos em um cdigo que a unidade central de processamento (CPU) capaz de entender. Em outras palavras, ela capaz de traduzir nmeros, letras e imagens em pulsos eltricos que so compreensveis ao computador. Alguns exemplos de unidades de entrada so o teclado, unidades de discos (disquetes e cds, por exemplo), scanners, mouse, leitores pticos, etc. As unidades de entrada tambm so conhecidas como perifricos.

1.1.3.2 Memria o local fsico capaz de armazenar os dados e tambm os programas que iro manipul-los. Tambm conhecida como memria RAM (Randon Access Memory). Geralmente, a memria de alta velocidade utilizada para armazenar, temporariamente, dados e programas que esto sendo processados, j que qualquer programa, para ser executado, tem que estar nessa memria. Alm disso, as unidades de controle e lgica e aritmtica se comunicam com cada um de seus bytes. Essa memria costuma ser chamada de memria principal.

Ao menor item de informao binria d-se o nome de bit. A palavra bit uma contrao de binary digit (dgito binrio) significando um dgito que pode assumir um dos dois valores de estados diferentes 0 ou 1, tal qual um dgito decimal pode assumir um dos dez valores 0, 1, 2, ..., 9. Os bits so agrupados de modo a possibillitar ao usurio representar os dados e programas que deseje. Denomina-se byte a um conjunto de bits. O nmero de bits que formam um byte no fixo e dependem exclusivamente da mquina considerada. O mais usual encontrar os bytes constitudos de 8 bits. A memria do computador constituda por um conjunto de bits, sendo que o byte recebe um endereo a fim de que os programas possam fazer referncia aos seus dados. A capacidade de um computador normalmente medida pelo tamanho da sua memria. Cada 1024 bytes representam 1 Kbyte (quilobyte). Cada 1024 kbytes representam 1 Mbyte (megabyte). 1024 Mbytes representam 1Gbyte (gigabyte).

1.1.3.3 Unidade de Central de Processamento (CPU) A Unidade Central de Processamento de um computador, devido a sua complexidade, normalmente dividida em duas partes: unidade lgica e aritmtica, e unidade de controle. Devido ao desenvolvimento da microeletrnica possvel construir toda uma CPU em uma nica pastilha de Silcio. Essa pastilha, ou chip, denomina-se microprocessador. Como exemplo, podemos citar INTEL PENTIUM IV, MOTOROLA 6800, INTEL CELERON , etc. Os microprocessadores so classificados pelo comprimento, em bits, da unidade de informao que so capazes de processar de uma s vez. Atualmente, os microprocessadores mais usuais so os de 32 bits. Resumindo, o microprecessador a unidade central de processamento (CPU) de um microcomputador. A seguir, so descritas as unidades que constituem a CPU.

1.1.3.3.1 Unidade Lgica e Aritimtica Nesta unidade so realizados todos os clculos aritmticos (adio, subtrao, multiplicao e diviso) e qualquer manipulao de dados (sejam eles numricos ou no).

1.1.3.3.2 Unidade de Controle a unidade responsvel pelo trfico de dados. Ela obtm dados armazenados na memria e interpreta-os. Controla a transferncia de dados da memria para a unidade lgica e aritmtica, da unidade de entrada para a mmoria e da memria para a unidade de sada.

1.1.3.4 Unidade de Sada Os dados processados so convertidos, por esta unidade, de impulsos eltricos em palavras ou nmeros que podem ser disponibilizados ao usurio final. Exemplos dessas unidades so o vdeo (monitor), impressoras, unidades de disco (disquetes e cds, por exemplo), etc. Assim como as unidades de entrada, as unidades de sada tambm so conhecidas como perifricos.

1.2 Noes de Lgica e Algoritmos Para compreeender melhor o processo de criao de programas computacionais, necessrio entender os conceitos de lgica de programao e algoritmos, que sero descritos nas sees seguintes.

1.2.1 Lgica de Programao Lgica de programao a tcnica de encadear pensamentos para atingir determinado objetivo. O aprendizado dessa tcnica necessrio para quem deseja trabalhar com o desenvolvimento de sistemas e programas computacionais.

1.2.2 Algoritmos Algoritmo uma sequncia de passos finitos cujo objetivo solucionar um determinado problema. Algoritmo no a soluo do problema. Algoritmo o conjunto de passos ou aes (caminhos) que levam soluo de um dado problema. O exemplo abaixo ilustra o uso de um algoritmo para resolver um dado problema. Exemplo 1: Problema: Deseja-se falar com algum atravs de um telefone pblico. Como proceder? Soluo: Seguir os passos descritos no telefone (algoritmo) 1 Retirar o telefone do gancho; 2 Esperar o sinal; 3 Colocar o carto;

4 Discar o nmero; 5 Falar ao telefone; 6 Colocar o telefone no gancho. O algoritmo exatamente esta sequncia de passos que foi utilizado para resolver o problema proposto. como se fosse ensinar uma mquina a fazer alguma tarefa especfica. Normalmente, existem vrios caminhos que levam soluo de um problema. Podemos concluir, ento, que existem diversos algortimos que podem ser utilizados para encontrar uma soluo. O aprendizado de algoritmos no uma tarefa muito fcil. S conseguimos utiliz-lo racionalmente atravs de muitos exerccios prticos. Exerccio 1: Algoritmo para trocar uma lmpada 1 Se a lmpada estiver fora de alcance, pegar a escada; 2 Pegar a lmpada; 3 Se a lmpada estiver quente, pegar um pano; 4 Tirar a lmpada queimada; 5 Colocar a lmpada boa. Exerccio 2: Algoritmo para o final de semana 1 Ver a previso do tempo; 2 Se fizer sol ir a praia; Seno Estudar; 3 Almoar; 4 Ver televiso; 5 Dormir. Exerccio 3: Algoritmo para fazer uma prova 1 Ler a prova; 2 Pegar a caneta; 3 Enquanto houver questo em branco e enquanto o tempo no terminou faa Se souber fazer a questo Resolv-la; Seno Pular para a prxima; 4 Entregar a prova.

1.2.3 Programa Computacional um algoritmo escrito em uma linguagem computacional (C, Fortran, Pascal, MATLAB, etc). a traduo do algoritmo para uma linguagem que ser interpretada pelo computador. O mais importante de um programa computacional a sua lgica, o raciocnio utilizado para resolver o problema (ou seja, o algoritmo).

1.2.4 Linguagem Computacional Para armazenar um algoritmo na memria do computador e para que ele possa, em seguida, comandar as operaes a serem executadas, necessrio que ele seja programado, ou seja, transcrito para uma linguagem que o computador possa entender direta ou indiretamente. Os computadores s podem executar diretamente os algoritmos expressos em linguagem de mquina, que um conjunto de instrues capazes de ativar diretamente os dispositivos eletrnicos do computador. Essa linguagem tem vrios incovenientes para os humanos: Diferente para cada tipo de computador, pois depende da sua arquitetura; Extremamente rudimentar; Expressa em forma numrica (binria ou hexadecimal), tornando-se pouco expressiva; Manipulao dos dados na memria.

Para suprir esses problemas, foram desenvolvidas linguagens em que a programao feita atravs de uma notao matemtica e de algumas palavras reservadas. As linguagens de programao so bem mais simples e podem ser facilmente entendidas e utilizadas pelos usurios do computador. Os programas escritos nessas linguagens so traduzidos para a linguagem de mquina atravs de um programa especial chamado Compilador.
Linguagem de Programao Linguagem de Mquina

Compilador

Como exemplo de linguagens de programao podemos citar o Fortran, C, C++, Pascal, Cobol, MATLAB, etc. O MATLAB, cujo detalhes sero descritos nas sees seguintes, tem uma caracterstica bem particular. Ele no s incorpora as caractersticas de uma linguagem de programao, mas tambm do compilador. Isso ser visto com mais detalhes na sequncia deste curso.

1.3 Introduo ao MATLAB O MATLAB programa que incorpora duas caractersticas bsicas essenciais. A primeira refere-se ao fato dele ser uma linguagem de programao que pode ser usada para desenvolver programas computacionais. A segunda est relacionada com o fato dele ser um programa de computao numrica, podendo ser usado para resolver no s operaes matemticas complexas, mas tambm auxiliar na soluo de problemas das mais diversas reas, incluindo a Engenharia. Este curso dar nfase ao uso do MATLAB como linguagem de programao, permitindo a construo de programas computacionais para a soluo dos mais diversos tipos de problemas. Na realidade, ser visto uma noo geral e superficial do MATLAB como um todo. Aqueles que tem um interesse maior no seu aprendizado, recomenda-se um estudo mais aprofundado das referncias indicadas.

1.3.1 Execuo do MATLAB O MATLAB possui basicamente duas reas de trabalho: a janela principal, onde realizado o gerenciamento do MATLAB (e de suas tarefas); e a janela de comandos que o principal local de interao com o programa.

1.3.2 Alguns Comandos Bsicos Comando de Espera >> Finalizao dos comandos <Enter> Exemplo 01: >> 5 * 3 + 4 ans = 19 Nota-se que o MATLAB funciona como calculadora (executa matemtica elementar). Exemplo 02: >> a = 5 >> b = 3 >> c = 4 >> a * b + c ans = 19

10

Neste exemplo, = o comando de atribuio, e a, b, e c so variveis. Esses detalhes sero vistos na prxima seo. Uso do ponto e virgula Exemplo 03: uso do ponto e vrgula >> a = 5; >> b = 3; >> c = 4; >> a*b + c ans = 19 Limpando a tela Exemplo 04: limpando a tela >> clc Esse comando no remove as variveis criadas. Elas continuam existindo. Verificao de variveis Exemplo 05: como verificar quais variveis esto sendo usadas >> who ans b a c Visualizao de variveis Exemplo 06: como visualizar os valores armazenados em cada varivel >> a a=5 Outros comandos Exemplo 07: outros comandos Usar teclas < ou >

Comentrios Usar o caracter % Exemplo 09:

11

>> % a varivel b tem valor inicial = 5 >> b = 5; Configurao de Janelas Menu View o Passo 1: Selecionar Desktop Layout / Default; o Passo 2: Desselecionar Command History. Comando Clear o Apagar uma varivel especfica; o Apagar todas as variveis. Exemplo 10: >> clear b >> b >> clear Comandos Save/Open Salvar e ler os dados e informaes digitadas. Arquivos M de Comandos So arquivos usados em problemas mais complexos. So arquivos de texto simples. O Seu processamento feito atravs da sua execuo pelo MATLAB usando, para isso, o Menu File/New (M-File). Exemplo 11: arquivo M % arquivo M exemplo a = 4; b = 5; c = 3; a*b+c Observaes importantes: Salvar no diretrio de trabalho (na janela de comandos do MATLAB); Executar: >> <nome do arquivo> ou RUN. Funes de Entrada e Sada Comandos usados para fornecer dados ao programa computacional ou imprimir resultados na tela do computador. input: Entrada de dados pelo teclado

Erro

12

Exemplo 12: >> a = input(Escreva o numero a: ); >> b = input(Entre com um nome: , s); disp: Imprime na tela um valor Exemplo 13: arquivo M a = input(a: ); b = input(b: ); c = input(c: ); d = a*b + c; disp(d); RUN

Comando sprinf Os dados que so apresentados no comando de sada disp podem ser formatados utilizando o comando sprintf. O seu formato : sprintf (<especificaes de formato para cada varivel da lista>, <lista de variveis>) Onde a especificao do formato tem a seguinte forma: % I1.I2tipo, onde I1 um nmero inteiro indicando o quanto de espao existe para escrever o nmero; I2 um nmero inteiro indicando o quanto deste espao definido por I1 ser considerado como a parte decimal; tipo assume os seguintes valores: d, i, o, u, x, X, f, e, E, g, G, c, s. Exemplos: 1) K = 5.5432; D = 890.65; Y = K * D; disp( sprintf (%2.0f %3.1f %6.3f, K, D,Y) ) 2) disp (sprintf (um grau = %5.3em radianos, pi/180)) Maiores informaes devem ser obtidas usando o comando help sprintf.

13