linguagem de programação i a carlos oberdan rolim ciência da computação sistemas de...

20
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Upload: internet

Post on 18-Apr-2015

105 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Linguagem de programação I A

Carlos Oberdan Rolim

Ciência da Computação

Sistemas de Informação

Versão: 11032014_01

Page 2: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Revisão algoritmos

Page 3: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Definição

Um algoritmo é um procedimento computacional bem definido que recebe algum(ns) valor(es) como entrada (input) e produz algum(ns) valor(es) como saída (output).

Portanto, um algoritmo é uma seqüência de passos computacionais que transformam uma dada entrada na saída desejada.

Analogia:

Receita culinária

Page 4: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Definição

Um algoritmo é correto, quando para cada caso

de entrada, o programa pára com a saída correta.

Um algoritmo incorreto pode não parar quando um

dado caso de entrada é introduzido, ou ele pode

parar com uma saída que não é correta.

Page 5: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Abordagem Dividir-e-conquistar

Divide-se sucessivamente o problema dado em

subproblemas cada vez menores até que estes

possam ser resolvidos (conquistados)

Esta abordagem também é conhecida como

abordagem de refinamentos sucessivos

Exemplo: algoritmo troca de pneu

Page 6: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Linguagem algorítmica

Linguagem algorítmica

Uma linguagem para descrição de algoritmos em

linguagem natural e que usa certas convenções

próximas de uma linguagem de programação

Pseudocódigo

São os algoritmos escritos nesta linguagem

Page 7: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Variáveis

Representa, através de símbolos, o conteúdo (simbólico) de uma posição (célula) de memória.

Assim, quando se diz que uma variável x assume um valor 5, se quer na realidade dizer que existe uma posição de memória, representada simbolicamente por x, que contém o valor 5.

Atribuição de valores

x y + 2

x x + 2 x = y + 2

x = x + 2

Page 8: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Expressões

expressões aritméticas - aquelas que utilizam operações aritméticas (por exemplo, soma) e resultam em valores numéricos;

expressões relacionais - aquelas que utilizam operadores relacionais de comparação (por exemplo, “>”, “<=“, “>=“) e que resultam num valor verdadeiro ou falso; e

expressões lógicas - aquelas que utilizam conectivos lógicos (por exemplo, ou lógico) e resultam num valor verdadeiro ou falso.

E, OU, Não E, Não OU

Page 9: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Entrada e saída

Necessidade de obtenção de dados externosLeia(x1, x2, .., xn)

Atribui valor as variáveis

Mostrar saída gerada pelo algoritmoMostre(x1, x2, ..., xn)

Mostra o valor associado as variáveis

Mostre(“Resultado da operação”)

Mostra uma cadeia de caracteres

printf(“%d”, variavel);

scanf(“%d”, &variavel);

Page 10: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Estrutura do algoritmo

EndentaçãoBloco (sequência de instruções)

x 1;

enquanto (x <10) faça {

x x + 1;

escreva(x);

escreva("Bye, bye"); }

Em C um bloco é delimitado pelos caracteres { e }

x = 1;

while ( x < 10) {

x = x + 1;

printf(“%d”, x);

printf(“Bye, bye”);

}

Page 11: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Estruturas de controle

Estrutura condicional

se <condição> então <ação 1> senão <ação 2>

Exemplo:

leia(x);

se (x < 0) então

escreva("O número é negativo")

senão

escreva("O número não é negativo")

If ( ......){

......

}else{

.......

}

Page 12: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Estruturas de controle

Estrutura de repetição 1

enquanto <condição> faça <ação>

Exemplo:

leia(x);

enquanto (x <10) faça

x x + 1;

while ( .... ) {

}

Page 13: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Estruturas de controle

Estrutura de repetição 2

faça<ação> até que <condição>

Exemplo:

leia(x);

faça

x x + 1

até que (x > 10);

do {

.....

} while ( .... );

Page 14: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Estruturas de controle

Estrutura condicional 3

para <valor inicial>; até <valor final> ;<incremento> faça <ação>

Exemplo:

x 1;

para i 1, até 10, incremento 1 faça

x x + 1;

Ao contrário das estruturas de repetição 1 e 2, a estrutura de repetição 3 deve ser utilizada quando se sabe de antemão quantas vezes a ação correspondente deverá ser executada.

for ( .... ; .... ; .... ) {

....

}

Page 15: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Comentários

A boa prática de programação recomenda comentar seus códigos.

Facilidades para outros compreenderem

Facilidade para você lembrar o que fez

Em C comentários são feitos usando /* para iniciar e */ para encerrar um comentário

/* Comentario de uma linha */

/* Comentário de várias linhas Comentário de várias linhas Comentário de várias linhas */

Page 16: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Dicas

Programar é algo pessoal

Cada programa criado por você possui seu toque pessoal

Utilize a sua criatividade para resolver os problemas

Com o tempo você verá que os problemas se tornam simples de resolver

Acostume-se a usar boas práticas de programação

O que diferencia um bom programador de um mal são as “gambiarras”

Page 17: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Dicas

Utilize variáveis com nomes que façam algum sentido

X = 5 não quer dizer nada contador = 5 diz muito mais

Utilize comentários ao longo do código

O compilador é seu melhor amigo, não insulte-o...

Page 18: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Dicas

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Page 19: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Dicas

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Page 20: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01

Dicas

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...

Programe... Programe.. Programe... Programe.. Programe...