9

Click here to load reader

Aula 04 08- Introdução a Computação[1]

Embed Size (px)

DESCRIPTION

Informatica

Citation preview

  • INTRODUOACOMPUTAOPESCAEQUIMICA

    AULA04A08

    ALGORITIMOELINGUAGENS

    2.1Algoritmoefluxograma.2.2Instruesdeumalgoritmo.2.3Tiposdelinguagens(mquina,simblicaeautonvel)2.4programa,traduoeexecuo

    LINGUAGENSDEPROGRAMAO

    3.1Definiodeumalinguagem(PASCAL,FORTRANouBASICO)conjuntodecaracteres,palavrasreservadaseidentificadores,tiposdedadossimples.3.2Declaraodetiposimples.3.3Comandosdeentradaesada.3.4Comando

    deatribuio.3.5Operadoreseexpresses.3.6Exerccios.

    ESTRUTURASDECONTROLES

    4.1Comandosrepetitivos.4.2Comandosseletivos.4.3Exercciosemlab.

    Traduo e Compilao de Programas

    Ao contrrio do que alguns pensam o computador no uma mquina inteligente, ela precisa receber ordens (comandos) explicando exatamente como uma tarefa deve ser feita por ele. Para facilitar o trabalho dos seres humanos que lidam com computadores, foram desenvolvidas Linguagens de Programao para a criao de programas.

    Para que programas escritos em linguagens de programao possam ser executados por um computador, necessrio que o mesmo seja traduzido em para Linguagens de Mquina, que so as linguagens que o computador entende.

    Ento uma Linguagem de Programao apenas uma especificao sinttica e semntica de como usar seus comandos, palavras chaves e etc para escrever instrues para computadores, sendo que um programa escrito nessa linguagem chamado de programa-fonte. Cada linguagem precisa de um programa que faa a traduo do programa-fonte e existem trs tipos de traduo: compilao, traduo e mista. Aps este processo temos um programa executvel.

    As figuras abaixo ilustram a compilao de um programa e a esquerda a execuo de um programa.

    1

  • Algoritmos

    Algoritmos so uma sequncia finita e ordenada de comandos executveis e no ambguos, que levam a aplicao de um mtodo para a execuo de uma tarefa ou resoluo de um problema

    Exemplo 1: Algoritmo para troca de um pneu furado

    NomedoAlgoritmo

    Expressocondicional

    INICIO TrocarPneuFurado {

    SE (o estepe estiver murcho) {

    Chamar o borracheiro; }

    SENO {

    Pegar o macaco e a chave de boca;

    Afrouxar com a chave todos os parafusos da roda com o pneu furado;

    Levantar o carro com o macaco;

    Retirar todos os parafusos da roda;

    Retirar o pneu e guard-lo;

    Posicionar o estepe no lugar da antiga roda;

    Recolocar e apertar ligeiramente os parafusos;

    Baixar o carro;

    Apertar fortemente os parafusos;

    Guardar as ferramentas;

    Levar o pneu furado para o borracheiro;

    } FIM SENO

    } FIM

    Corpodo

    Algoritmo

    delim

    itad

    ope

    laschaves

    Exemplo 2: Soluo da equao do 2 grau pelo mtodo de Baskara

    Sendo A*x2 + B*x + C = 0, ento

    , lembrando que a parte

    dentro da raiz chamada de Delta.

    INICIO EquacaoGrau2 {

    VARIVEIS REAIS: a, b, c, x1, x2, delta, real, imag;

    LEIA (a, b, c);

    Delta b2 4*a*c;

    SE ( delta > = 0) {

    2

    x1

    ;

  • 3

    x2

    ;

    ESCREVA (X1 = , x1, e X2 = , x2);

    } FIM SE

    SENO {

    real b / 2*a;

    imag

    ;

    ESCREVA (X1 = (, real, ) + i (, imag,

    ) e X2 = (, real, ) i (, imag, ));

    } FIM SENO

    } FIM

    Linguagens para algoritmos

    Nos exemplos anteriores foram usadas formas de escrever muito semelhante s das linguagens de programao, quando fazemos isso dizemos que escrevemos o algoritmo usando pseudocdigo, quando o texto incorpora menos estas semelhanas dizemos que usamos portugol.

    Outra forma de escrita usando representao grfica por diagrama de blocos denominados fluxogramas. Porm ao longo da histria esta forma caiu em desuso por gerar muitas vezes um programa confuso de entender.

    Exemplo 3: O que fazer com uma lmpada que no funciona

  • Exemplo 4: Fluxograma para quando um usurio entra com dois nmeros (A e B), testa se A < B.

    Tabela de Principais smbolos de um fluxograma:

    4

  • 5

    Variveis

    Variveis correspondem aos espaos na memria principal que so usados para armazenar valores que se pretende que um computador processe. Para facilitar a programao ns damos nomes significativos para as variveis.

    Nomes de variveis:

    Podem ter qualquer tamanho mticos

    grafia usando aisculo (valor, Valor e vaLor so 3 variveis deferentes)

    nte de espao da memria, dependendo do tipo de contedo a ser arm

    ble har

    VARIAVEL TIPO

    No pode conter espao ou caracteres especiais (aqueles em cima dos nmeros no teclado), acentos, sinais de pontuao, ou smbolos mate

    Podem ser usados somente letras, nmeros, _ Devem comear com letra minscula (no podem comear com nmero ou

    _) A maioria das linguagens de programao diferencia

    minsculo e m

    Declarao de tipo

    A declarao de uma varivel faz com que o computador aloque (reserve) um lugar na memria para armazenar o valor que a varivel recebe. Porm o contedo de uma varivel pode ocupar quantidade difere

    azenado, sendo estes:

    Inteiro int Real float, dou Caractere c Frase string

    A declarao tem a seguinte sintaxe:

    : lista dos nomes das variveis deste tipo, sendo separadas por vrgula.

    Exemplo:

    INICIO Teste {

    VARIAVEIS REAL: x, y;

    VARIAVEL STRING: nome[40];

    FIM}

    atribuir valor a uma varivel use uma seta () como se valor estivesse entrando na variv

    a letra ou uma frase, sendo que no caso das duas ltimas,

    Lilian Oliveira Ramires;

    Comando de atribuio

    Parael.

    Obs: o valor que atribudo a varivel pode ser um valor numrico, o resultado de uma expresso matemtica, lgica, um

    estas devem vir entre aspas ().

    Ex: nome

    x 5.4;

    y a + b;

  • 6

    u vdeo) Comandos de entrada (teclado, scaner, cmera de foto o

    Sintaxe: LEIA (nome da varivel que vai receber o valor);

    x: LEIAE (nome);

    Comandos de sada (tela, impressora)

    Sintaxe: IMPRIMA (item 1, item 2, ... , item n);

    Cada item para impresso deve ser separado por vrgula, ou frase, este deve vir entre aspas.

    e quando o item for um caractere

    x: IMPRIMAE (Resultado final =, total);

    Estruturas de Controle

    Estrutura Condicional (SE IF) A estrutura condicional "se" (if na maioria das linguagens de programao) permite a

    tomada de decises ao longo da execuo de um programa. Por exemplo, selecionar qual

    bloco de instrues deve ser executado dependendo "se" uma condio foi (ou no) satisfeita.

    estrutura

    plo ns temos uma soluo para quando h mais de duas opes a

    Obs: entre os comandos em um SE e/ou SENO pode existir a necessidade de tomar outra deciso, nesse caso usarem

    Sintaxe2: Composto

    SE(condio){

    mandos; co

    }FIMSE

    SENO{

    coman

    }

    dos;

    FIMSENO

    Sintaxe1:Simples

    SE(cond

    c

    }

    io){

    omandos;

    FIMSE

    os um SE simples ou composto dentro daqueles. Esta chamada de IF aninhado. Exemplo 5: Ler um nmero e imprimir se ele positivo, negativo ou nulo.

    Obs: Vejam que nesse exem seguir.

  • INICIO Teste {

    VARIAVEL REAL:

    7

    num;

    LEIA (num);

    SE (num > 0) {

    IMPRIMA (Numero Positivo!);

    } FIM SE

    SENO {

    SE (num < 0) {

    IMPRIMA (Numero Negativo!);

    } FIM SE

    SENO {

    IMPRIMA (Numero Nulo!);

    NO } FIM SE

    FIM SENO }

    FIM}

    Estrutura de repetio 1: (ENQUANTO WHILE) Usado quando precisamos repetir a execuo de um trecho de cdigo, sem que se

    saiba inicialmente o nmero de repeties, ento se cria uma chave/teste para retornar a execuo

    "enquanto" (while) executa um comando (ou vrios) enquanto uma condio for verdadeira.

    xemplo 6: Algoritmo para um usurio jogar o jogo da velha contra um computador.

    para o passo seguinte aps o trecho em repetio.

    O loop

    E

    Testaseumadasopesquenocontmnenhumadasoutrasduas.

    Com isso,sobramasoutrasopesnoSENO,quedevemsertestadasnovamente.

    Sintaxe:

    ENQUANTO(condi

    comandos;

    }

    o){

    FIMENQUANTO

  • INICIO JogoDaVelha {

    EN UA

    8

    Q NTO ((existir um quadrado livre) E (ningu m perdeu/ganhou o jogo)) {

    LEIA (jogada);

    SE (existir um quadrado livre) {

    SE (centro livre) {

    Jogue no centro;

    } FIM SE

    SENO {

    SE (adversrio tem 2 quadrados em linha, com o terceiro

    e nesse quadrado desocupado;

    desocupado) {

    Jogu

    } FIM SE

    SENO

    SE (h algum canto livre)

    Jogue nesse canto;

    } FIM SE

    NO } FIM SE

    M SENO } FI

    } FIM SE

    } FIM ENQUANTO

    FIM

    EsteSE(1)englobatodososoutros

    }

    elo usurio, sendo qu rmina quando o usurio escolhe um nmero negativo.

    Exemplo 7: Algoritmo que calcula o dobro de um nmero digitado pe o programa s te

    INICIO Dobro {

    VARIAVEL INTEIRO: num;

    IMPRIMA (Este programa calcula o dobro de um numero \n);

    IMPRIMA (Quando quiser encerrar o programa digite um numero negativo\n);

    IMPRIMA (Digite um numero: );

    LEIA (num);

    ENQUANTO (num > 0) {

    IMPRIMA (\nDobro: , num * 2, \n);

    IMPRIMA (Digite um numero: );

    LEIA (num);

    } FIM ENQUANTO

  • 9

    Lgica Booleana

    Operador Matemtica Linguagem de programao

    conjuno e &&

    disjuno ou ||

    negao no !

    Tabela do oper no ! ador

    A !A

    V F

    F V

    Tabel o opera || a d dor ou

    A B Tabela do operador e &&

    A B A || B A && B V V V

    V F V

    F V V

    V V V

    V F F

    F V F F F F F F F

    INTRODUO A COMPUTAO PESCA E QUIMICAAULA 04 A 08ALGORITIMO E LINGUAGENS2.1 Algoritmo e fluxograma. 2.2 Instrues de um algoritmo. 2.3 Tipos de lin-guagens (mquina, simblica e auto nvel) 2.4 programa, traduo e execuo LINGUAGENS DE PROGRAMAO3.1 Definio de uma linguagem (PASCAL, FORTRAN ou BASICO) conjunto de caracteres, palavras reservadas e identificadores, tipos de dados simples. 3.2 Declarao de tipo simples. 3.3 Comandos de entrada e sada. 3.4 Comando de atribuio. 3.5 Operadores e expresses. 3.6 Exerccios. ESTRUTURAS DE CONTROLES4.1 Comandos repetitivos. 4.2 Comandos seletivos. 4.3 Exerccios em lab.