53
Computação I - CEDERJ (Introdução a lógica de programação) Tutor Érick Barbosa (Material não oficial)

Resumo computação I

Embed Size (px)

Citation preview

Page 1: Resumo computação I

Computação I - CEDERJ(Introdução a lógica de programação)

Tutor Érick Barbosa

(Material não oficial)

Page 2: Resumo computação I

Informações

Material feito para os alunos do CEDERJ, disciplina Computação I do curso de Engenharia de Produção.

A principal referência deste material é a apostila oficial da disciplina.

Page 3: Resumo computação I

Dicas

Serão apontados os principais tópicos da ementa da disciplina, ou seja, este material não substitui a apostila. Não espere aprender por completo uma disciplina, rica em detalhes, em menos de 50 slides.

É extremamente importante a realização dos exercícios da apostila.

Page 4: Resumo computação I

Dicas

Se os conceitos aqui abordados são estranhos a você, tente começar os estudos através da ferramenta Scratch.

Link do scratch: https://scratch.mit.edu/

Page 5: Resumo computação I

Primeira Parte

1 - Algoritmo

2 - Sintaxe básica

3 - Expressões lógicas

4 - Desvio condicional

5 - Repetição

Page 6: Resumo computação I

AlgoritmoDefinição:

Conjunto finito de passos bem definidos para resolver um problema.

Exemplos:

● Somar todos os números inteiros de 1 a 1000.● Somar todos os números inteiros, e múltiplos de 3, de 1 a 1000.● Dado um número inteiro, dizer se ele é par ou ímpar.

Page 7: Resumo computação I

Sintaxe básica

Estrutura básica

Variáveis

Impressão

Comando de leitura

Page 8: Resumo computação I

Sintaxe básica - Estrutura Básica

Algoritmo nome_do_algoritmo( )

Início

/* corpo */

Fim

Algoritmo olaMundo( )

Início

Imprimir “Olá Mundo”

Fim

Page 9: Resumo computação I

Sintaxe básica - Variáveis

Os principais tipos são: Inteiro, Real, Texto, Lógico

Exemplos:

Inteiro -> Ex: 0, -5, 10, -20, 30

Real -> Ex: 1.2, -2.8, 4.63, 5.0

Texto -> Ex: ‘Computação I’, ‘Engenharia’

Lógico -> Ex: Verdadeiro, Falso

Page 10: Resumo computação I

Sintaxe básica - Impressão

Algoritmo olaMundo( )Início //Impressão de variável texto Imprimir “2+2”Fim

Saída do programa:

2 + 2

Algoritmo olaMundo( )Início //Impressão de variável numérica( Inteiro ou Real ) Imprimir 2+2Fim

Saída do programa:

4

Page 11: Resumo computação I

Sintaxe básica - Variáveis

Declaração de variáveis, exemplo:Algoritmo declaracao( )Início

Inteiro numnum = 2Imprimir num

Fim

Page 12: Resumo computação I

Sintaxe básica - Comando de leitura

Exemplo de utilização de comando de leitura:Algoritmo exemploLeitura( )Início

Inteiro numLer numImprimir num

Fim

Page 13: Resumo computação I

Uma abstração do funcionamento do Computador.

Declaração de variável

Inteiro a

Atribuição de valor

a=5

Memória do computador

Page 14: Resumo computação I

Uma abstração do funcionamento do Computador.

Declaração de variável

Inteiro a

Atribuição de valor

a=5 a

Memória do computador

Page 15: Resumo computação I

Uma abstração do funcionamento do Computador.

Declaração de variável

Inteiro a

Atribuição de valor

a=5 a

Memória do computador

5

Page 16: Resumo computação I

Uma abstração do funcionamento do Computador. Operação de soma.

Inteiro a, b, ca=5b=3c=a+bImprimir “O valor de c é : ” + c

Memória do computador

Page 17: Resumo computação I

Uma abstração do funcionamento do Computador. Operação de soma.

Inteiro a, b, ca=5b=3c=a+bImprimir “O valor de c é : ” + c a b c

Memória do computador

Page 18: Resumo computação I

Uma abstração do funcionamento do Computador. Operação de soma.

Inteiro a, b, ca=5b=3c=a+bImprimir “O valor de c é : ” + c a b c

Memória do computador

5 3

Page 19: Resumo computação I

Uma abstração do funcionamento do Computador. Operação de soma.

Inteiro a, b, ca=5b=3c=a+bImprimir “O valor de c é : ” + c a b c

Memória do computador

5 3 8

Page 20: Resumo computação I

Expressões lógicas

Expressões cujo valor é do tipo lógico ( Verdadeiro ou Falso )

-Expressões simples

-Negação(!), Conjunção(&), Disjunção(|)

Page 21: Resumo computação I

Expressões lógicas - Expressões simples

Operador Exemplo Verdadeira quando?

== a == b a é igual a b

!= a != b a é diferente de b

> a > b a é maior que b

< a < b a é menor que b

>= a >= b a é maior ou igual a b

<= a <= b a é menor ou igual a b

Page 22: Resumo computação I

Expressões lógicas - Expressões simples

Exemplos:

2 == 3 … Falso

2!=3 … Verdadeiro

1>3 … Falso

1<3 … Verdadeiro

Page 23: Resumo computação I

Expressões lógicas - Negação(!)

Inverte o retorno da expressão

Expressão !Expressão

Verdadeiro Falso

Falso Verdadeiro

Page 24: Resumo computação I

Expressões lógicas - Negação(!)

Exemplo:

4 > 2 resulta em Verdadeiro

!( 4 > 2 ) resulta em Falso

Page 25: Resumo computação I

Expressões lógicas - Conjunção(&)

Retorna Verdadeiro se as duas expressões são Verdadeiras

Expressão 1 Expressão 2 Expressão 1 & Expressão 2

Falso Falso Falso

Falso Verdadeiro Falso

Verdadeiro Falso Falso

Verdadeiro Verdadeiro Verdadeiro

Page 26: Resumo computação I

Expressões lógicas - Conjunção(&)

Exemplos:

2>1 & 1<2 … Verdadeiro

2>1 & 1>2 … Falso

5==5 & 1==1 … Verdadeiro

Page 27: Resumo computação I

Expressões lógicas - Disjunção (|)

Retorna Verdadeiro se uma das duas expressões é Verdadeira

Expressão 1 Expressão 2 Expressão 1 | Expressão 2

Falso Falso Falso

Falso Verdadeiro Verdadeiro

Verdadeiro Falso Verdadeiro

Verdadeiro Verdadeiro Verdadeiro

Page 28: Resumo computação I

Expressões lógicas - Disjunção(|)

Exemplos:

2>1 | 1<2 … Verdadeiro

2>1 | 1>2 … Verdadeiro

5==5 | 1==1 … Verdadeiro

3!=3 | 4<1 … Falso

Page 29: Resumo computação I

Desvio condicional

Estrutura capaz de “desviar” o fluxo de execução do programa através de uma condição( expressão lógica )

-Desvio simples

-Desvio composto

Page 30: Resumo computação I

Desvio condicional - Desvio simples

Executa Código 1 caso Expressão seja verdadeira

Se ( Expressão ) Faça

/* Código 1 */

Fim Se

Page 31: Resumo computação I

Desvio condicional - Desvio simples

Exemplo:

Se ( 1 < 2 ) Faça

Imprimir “1 é menor que 2”

Fim Se

Page 32: Resumo computação I

Desvio condicional - Desvio composto

Executa Código 1 caso a Expressão seja verdadeira, Código 2 caso contrário

Se ( Expressão ) Faça

/* Código 1 */

Senão

/* Código 2 */

Fim Se

Page 33: Resumo computação I

Desvio condicional - Desvio composto

Exemplo:

Se ( 1 < 2 ) FaçaImprimir “1 é menor que 2”

SenãoImprimir “1 é maior que 2”

Fim Se

Page 34: Resumo computação I

Repetição

Estrutura capaz de executar repetidamente um trecho de código

-Com contador

-Sem contador

Page 35: Resumo computação I

Repetição - Com contador

Estrutura básica:

Para ( Inicialização ; Condição de parada ; Passo ) Faça

/* Instrução */

Fim Para

Page 36: Resumo computação I

Repetição - Com contador

Exemplo:

Inteiro iImprimir “Início”Para ( i = 0 ; i <= 5 ; i = i + 1 ) Faça

Imprimir iFim ParaImprimir “Fim”

Saída do programa

Início12345Fim

Page 37: Resumo computação I

Repetição - Sem contador

Controle no início Controle no fim

Enquanto ( Expressão ) Faça

/* Instruções */

Fim Enquanto

Faça

/* Instruções */

Enquanto ( Expressão )

Page 38: Resumo computação I

Repetição - Sem contador

Certo Errado!

Inteiro i = 0

Enquanto ( i <= 5 ) Faça

Imprimir “Repetição” + i

i = i + 1

Fim Enquanto

Enquanto ( 1<2 ) Faça

Imprimir “Repetição”

Fim Enquanto

(Loop infinito!)

Page 39: Resumo computação I

Segunda Parte

-Vetores

-Matrizes

-Funções e procedimentos

-Recursão

Page 40: Resumo computação I

Vetores

Definição: Conjunto identificável de posições de memória capaz de armazenar dados de um determinado tipo.

-Declaração

-Alocação

-Acesso

Exemplo de vetor com 5 posições

Page 41: Resumo computação I

Vetores - Declaração

Declaração:

tipo [ ] identificador

Exemplo: Armazenar dados de alunos de uma sala de aula

Inteiro [ ] idade

Real [ ] altura, nota

Page 42: Resumo computação I

Vetores - Alocação

Alocação:

tipo [ ] identificador = tipo[N]

Exemplo: A mesma sala de aula tem 30 alunos, logo:

Inteiro [ ] idade = Inteiro[30]

Real [ ] nota

nota = Real[30]

Page 43: Resumo computação I

Vetores - Acesso

Exemplo de declaração, alocação e acesso:Inteiro [ ] idade = Inteiro[5]idade[0] = 17idade[1] = 15 idade[2] = 20idade[3] = 19idade[4] = 18 Representação do vetor

idade

Posição do vetor 0 1 2 3 4

Dado armazenado 17 15 20 19 18

Page 44: Resumo computação I

Matriz

Definição: Conjunto identificável de posições de memória capaz de armazenar dados de um determinado tipo. Difere dos vetores pelo tipo de indexação.

-Declaração

-Alocação

-Acesso

Exemplo de matriz de 2 dimensões e 9 posições.

Page 45: Resumo computação I

Matriz - Declaração

Declaração:

tipo [ ][ ] identificador

Exemplo: Armazenar número de vendas por comprador e dia do mês

Inteiro [ ][ ] vendas

Page 46: Resumo computação I

Matriz - Alocação

Alocação:

tipo [ ][ ] identificador = tipo[M][N]

Exemplo: Registro de vendas de uma equipe de 3 vendedores em 5 dias

Inteiro [ ][ ] vendas = Inteiro[3][5]

ou

Inteiro [ ][ ] vendas = Inteiro[5][3]

Page 47: Resumo computação I

Matriz - Acesso

vendas

0 1 2 3 4

0 13 15 11 8 25

1 10 8 12 18 21

2 2 2 12 25 30

Page 48: Resumo computação I

Funções e procedimentos

Permitem escrever códigos mais organizados e com menos repetições.

Função Procedimento

tipo nome(<parâmetros>)Início /* Instruções */Fim

Procedimento nome(<parâmetros>)Início /* Instruções */Fim

Page 49: Resumo computação I

Funções

Escreva um programa que converta minutos em segundos utilizando função.

Inteiro segundos( Inteiro minutos )Início Retorne ( 60*minutos )Fim

Algoritmo tempo( )Início Inteiro min, sec Imprimir “Tempo da exp. em minutos” Ler min sec = segundos(min) Imprimir “O tempo em segundos é” + secFim

Page 50: Resumo computação I

Procedimentos

Escreva um procedimento que informe se o parâmetro de entrada é par ou ímpar. Utilize-o num algoritmo.

Procedimento teste( Inteiro a )Início Se ( a % 2 == 0 ) Então Imprimir “O número é par” Senão Imprimir “O número é ímpar” Fim SeFim

Algoritmo numero( )Início Inteiro num Imprimir “Digite um valor” Ler num teste(num)Fim

Page 51: Resumo computação I

Recursão

Exemplo:

Definição do fatorial

n! = 1 se n ∈ [0,1] ( Caso base )

n! = n*(n-1)! c.c. ( Caso recursivo )

Page 52: Resumo computação I

Recursão

Exemplo:

Definição do fatorial

n! = 1 se n ∈ [0,1] ( Caso base )

n! = n*(n-1)! c.c. ( Caso recursivo )

Função que calcula fatorial de n

Inteiro fatorial( Inteiro n )Início Se ( n == 0 I n == 1 ) Retorne 1 Senão Retorne n * fatorial( n-1 ) Fim SeFim

Page 53: Resumo computação I

Obrigado pela sua atenção!

Espero que ter ajudado na compreensão dos principais conceitos de lógica de programação.

Dúvidas ou sugestões?

[email protected]