Computação I - CEDERJ
(Introdução a lógica de programação)
Tutor Érick Barbosa
(Material não oficial)
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.
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.
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/
Primeira Parte
1 - Algoritmo
2 - Sintaxe básica
3 - Expressões lógicas
4 - Desvio condicional
5 - Repetição
Algoritmo
Definiçã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.
Sintaxe básica
Estrutura básica
Variáveis
Impressão
Comando de leitura
Sintaxe básica - Estrutura Básica
Algoritmo nome_do_algoritmo( )
Início
/* corpo */
Fim
Algoritmo olaMundo( )
Início
Imprimir “Olá Mundo”
Fim
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
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+2
Fim
Saída do programa:
4
Sintaxe básica - Variáveis
Declaração de variáveis, exemplo:
Algoritmo declaracao( )
Início
Inteiro num
num = 2
Imprimir num
Fim
Sintaxe básica - Comando de leitura
Exemplo de utilização de comando de leitura:
Algoritmo exemploLeitura( )
Início
Inteiro num
Ler num
Imprimir num
Fim
Uma abstração do funcionamento do
Computador.
Declaração de variável
Inteiro a
Atribuição de valor
a=5
Memória do computador
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
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
Uma abstração do funcionamento do
Computador. Operação de soma.
Inteiro a, b, c
a=5
b=3
c=a+b
Imprimir “O valor de c é : ” + c
Memória do computador
Uma abstração do funcionamento do
Computador. Operação de soma.
Inteiro a, b, c
a=5
b=3
c=a+b
Imprimir “O valor de c é : ” + c
a b c
Memória do computador
Uma abstração do funcionamento do
Computador. Operação de soma.
Inteiro a, b, c
a=5
b=3
c=a+b
Imprimir “O valor de c é : ” + c
a b c
Memória do computador
5 3
Uma abstração do funcionamento do
Computador. Operação de soma.
Inteiro a, b, c
a=5
b=3
c=a+b
Imprimir “O valor de c é : ” + c
a b c
Memória do computador
5 3 8
Expressões lógicas
Expressões cujo valor é do tipo lógico ( Verdadeiro ou Falso )
-Expressões simples
-Negação(!), Conjunção(&), Disjunção(|)
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
Expressões lógicas - Expressões simples
Exemplos:
2 == 3 … Falso
2!=3 … Verdadeiro
1>3 … Falso
1<3 … Verdadeiro
Expressões lógicas - Negação(!)
Inverte o retorno da expressão
Expressão !Expressão
Verdadeiro Falso
Falso Verdadeiro
Expressões lógicas - Negação(!)
Exemplo:
4 > 2 resulta em Verdadeiro
!( 4 > 2 ) resulta em Falso
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
Expressões lógicas - Conjunção(&)
Exemplos:
2>1 & 1<2 … Verdadeiro
2>1 & 1>2 … Falso
5==5 & 1==1 … Verdadeiro
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
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
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
Desvio condicional - Desvio simples
Executa Código 1 caso Expressão seja verdadeira
Se ( Expressão ) Faça
/* Código 1 */
Fim Se
Desvio condicional - Desvio simples
Exemplo:
Se ( 1 < 2 ) Faça
Imprimir “1 é menor que 2”
Fim Se
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
Desvio condicional - Desvio composto
Exemplo:
Se ( 1 < 2 ) Faça
Imprimir “1 é menor que 2”
Senão
Imprimir “1 é maior que 2”
Fim Se
Repetição
Estrutura capaz de executar repetidamente um trecho de código
-Com contador
-Sem contador
Repetição - Com contador
Estrutura básica:
Para ( Inicialização ; Condição de parada ; Passo ) Faça
/* Instrução */
Fim Para
Repetição - Com contador
Exemplo:
Inteiro i
Imprimir “Início”
Para ( i = 0 ; i <= 5 ; i = i + 1 ) Faça
Imprimir i
Fim Para
Imprimir “Fim”
Saída do programa
Início
1
2
3
4
5
Fim
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 )
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!)
Segunda Parte
-Vetores
-Matrizes
-Funções e procedimentos
-Recursão
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
Vetores - Declaração
Declaração:
tipo [ ] identificador
Exemplo: Armazenar dados de alunos de uma sala de aula
Inteiro [ ] idade
Real [ ] altura, nota
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]
Vetores - Acesso
Exemplo de declaração, alocação e acesso:
Inteiro [ ] idade = Inteiro[5]
idade[0] = 17
idade[1] = 15
idade[2] = 20
idade[3] = 19
idade[4] = 18
Representação do vetor
idade
Posição do vetor 0 1 2 3 4
Dado armazenado 17 15 20 19 18
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.
Matriz - Declaração
Declaração:
tipo [ ][ ] identificador
Exemplo: Armazenar número de vendas por comprador e dia do mês
Inteiro [ ][ ] vendas
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]
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
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
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
é” + sec
Fim
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 Se
Fim
Algoritmo numero( )
Início
Inteiro num
Imprimir “Digite um valor”
Ler num
teste(num)
Fim
Recursão
Exemplo:
Definição do fatorial
n! = 1 se n ∈ [0,1] ( Caso base )
n! = n*(n-1)! c.c. ( Caso recursivo )
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 Se
Fim
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?
ebsouza07@gmail.com

Resumo computação I

  • 1.
    Computação I -CEDERJ (Introdução a lógica de programação) Tutor Érick Barbosa (Material não oficial)
  • 2.
    Informações Material feito paraos 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.
  • 3.
    Dicas Serão apontados osprincipais 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.
  • 4.
    Dicas Se os conceitosaqui abordados são estranhos a você, tente começar os estudos através da ferramenta Scratch. Link do scratch: https://scratch.mit.edu/
  • 5.
    Primeira Parte 1 -Algoritmo 2 - Sintaxe básica 3 - Expressões lógicas 4 - Desvio condicional 5 - Repetição
  • 6.
    Algoritmo Definição: Conjunto finito depassos 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.
  • 7.
  • 8.
    Sintaxe básica -Estrutura Básica Algoritmo nome_do_algoritmo( ) Início /* corpo */ Fim Algoritmo olaMundo( ) Início Imprimir “Olá Mundo” Fim
  • 9.
    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
  • 10.
    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+2 Fim Saída do programa: 4
  • 11.
    Sintaxe básica -Variáveis Declaração de variáveis, exemplo: Algoritmo declaracao( ) Início Inteiro num num = 2 Imprimir num Fim
  • 12.
    Sintaxe básica -Comando de leitura Exemplo de utilização de comando de leitura: Algoritmo exemploLeitura( ) Início Inteiro num Ler num Imprimir num Fim
  • 13.
    Uma abstração dofuncionamento do Computador. Declaração de variável Inteiro a Atribuição de valor a=5 Memória do computador
  • 14.
    Uma abstração dofuncionamento do Computador. Declaração de variável Inteiro a Atribuição de valor a=5 a Memória do computador
  • 15.
    Uma abstração dofuncionamento do Computador. Declaração de variável Inteiro a Atribuição de valor a=5 a Memória do computador 5
  • 16.
    Uma abstração dofuncionamento do Computador. Operação de soma. Inteiro a, b, c a=5 b=3 c=a+b Imprimir “O valor de c é : ” + c Memória do computador
  • 17.
    Uma abstração dofuncionamento do Computador. Operação de soma. Inteiro a, b, c a=5 b=3 c=a+b Imprimir “O valor de c é : ” + c a b c Memória do computador
  • 18.
    Uma abstração dofuncionamento do Computador. Operação de soma. Inteiro a, b, c a=5 b=3 c=a+b Imprimir “O valor de c é : ” + c a b c Memória do computador 5 3
  • 19.
    Uma abstração dofuncionamento do Computador. Operação de soma. Inteiro a, b, c a=5 b=3 c=a+b Imprimir “O valor de c é : ” + c a b c Memória do computador 5 3 8
  • 20.
    Expressões lógicas Expressões cujovalor é do tipo lógico ( Verdadeiro ou Falso ) -Expressões simples -Negação(!), Conjunção(&), Disjunção(|)
  • 21.
    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
  • 22.
    Expressões lógicas -Expressões simples Exemplos: 2 == 3 … Falso 2!=3 … Verdadeiro 1>3 … Falso 1<3 … Verdadeiro
  • 23.
    Expressões lógicas -Negação(!) Inverte o retorno da expressão Expressão !Expressão Verdadeiro Falso Falso Verdadeiro
  • 24.
    Expressões lógicas -Negação(!) Exemplo: 4 > 2 resulta em Verdadeiro !( 4 > 2 ) resulta em Falso
  • 25.
    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
  • 26.
    Expressões lógicas -Conjunção(&) Exemplos: 2>1 & 1<2 … Verdadeiro 2>1 & 1>2 … Falso 5==5 & 1==1 … Verdadeiro
  • 27.
    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
  • 28.
    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
  • 29.
    Desvio condicional Estrutura capazde “desviar” o fluxo de execução do programa através de uma condição( expressão lógica ) -Desvio simples -Desvio composto
  • 30.
    Desvio condicional -Desvio simples Executa Código 1 caso Expressão seja verdadeira Se ( Expressão ) Faça /* Código 1 */ Fim Se
  • 31.
    Desvio condicional -Desvio simples Exemplo: Se ( 1 < 2 ) Faça Imprimir “1 é menor que 2” Fim Se
  • 32.
    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
  • 33.
    Desvio condicional -Desvio composto Exemplo: Se ( 1 < 2 ) Faça Imprimir “1 é menor que 2” Senão Imprimir “1 é maior que 2” Fim Se
  • 34.
    Repetição Estrutura capaz deexecutar repetidamente um trecho de código -Com contador -Sem contador
  • 35.
    Repetição - Comcontador Estrutura básica: Para ( Inicialização ; Condição de parada ; Passo ) Faça /* Instrução */ Fim Para
  • 36.
    Repetição - Comcontador Exemplo: Inteiro i Imprimir “Início” Para ( i = 0 ; i <= 5 ; i = i + 1 ) Faça Imprimir i Fim Para Imprimir “Fim” Saída do programa Início 1 2 3 4 5 Fim
  • 37.
    Repetição - Semcontador Controle no início Controle no fim Enquanto ( Expressão ) Faça /* Instruções */ Fim Enquanto Faça /* Instruções */ Enquanto ( Expressão )
  • 38.
    Repetição - Semcontador 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!)
  • 39.
  • 40.
    Vetores Definição: Conjunto identificávelde 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
  • 41.
    Vetores - Declaração Declaração: tipo[ ] identificador Exemplo: Armazenar dados de alunos de uma sala de aula Inteiro [ ] idade Real [ ] altura, nota
  • 42.
    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]
  • 43.
    Vetores - Acesso Exemplode declaração, alocação e acesso: Inteiro [ ] idade = Inteiro[5] idade[0] = 17 idade[1] = 15 idade[2] = 20 idade[3] = 19 idade[4] = 18 Representação do vetor idade Posição do vetor 0 1 2 3 4 Dado armazenado 17 15 20 19 18
  • 44.
    Matriz Definição: Conjunto identificávelde 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.
  • 45.
    Matriz - Declaração Declaração: tipo[ ][ ] identificador Exemplo: Armazenar número de vendas por comprador e dia do mês Inteiro [ ][ ] vendas
  • 46.
    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]
  • 47.
    Matriz - Acesso vendas 01 2 3 4 0 13 15 11 8 25 1 10 8 12 18 21 2 2 2 12 25 30
  • 48.
    Funções e procedimentos Permitemescrever 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
  • 49.
    Funções Escreva um programaque 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 é” + sec Fim
  • 50.
    Procedimentos Escreva um procedimentoque 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 Se Fim Algoritmo numero( ) Início Inteiro num Imprimir “Digite um valor” Ler num teste(num) Fim
  • 51.
    Recursão Exemplo: Definição do fatorial n!= 1 se n ∈ [0,1] ( Caso base ) n! = n*(n-1)! c.c. ( Caso recursivo )
  • 52.
    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 Se Fim
  • 53.
    Obrigado pela suaatenção! Espero que ter ajudado na compreensão dos principais conceitos de lógica de programação. Dúvidas ou sugestões? ebsouza07@gmail.com