SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Visual g
Visual gVisual g
Visual g
Bruno Fortes
 
Apostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o VisualgApostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o Visualg
Regis Magalhães
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
diogoa21
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
André Phillip Bertoletti
 
Aula 2 - Programação 1
Aula 2 - Programação 1Aula 2 - Programação 1
Aula 2 - Programação 1
Isaac Barros
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introdução
Ricardo Fahham
 
Testes Unitários e fUnit - Felipe Nascimento
Testes Unitários e fUnit -  Felipe NascimentoTestes Unitários e fUnit -  Felipe Nascimento
Testes Unitários e fUnit - Felipe Nascimento
Tchelinux
 
Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01
André Phillip Bertoletti
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10
André Phillip Bertoletti
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02
André Phillip Bertoletti
 
Logica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoLogica Algoritmo 04 Decisao
Logica Algoritmo 04 Decisao
Regis Magalhães
 
Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1
Robson Ferreira
 

Mais procurados (12)

Visual g
Visual gVisual g
Visual g
 
Apostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o VisualgApostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o Visualg
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
 
Aula 2 - Programação 1
Aula 2 - Programação 1Aula 2 - Programação 1
Aula 2 - Programação 1
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introdução
 
Testes Unitários e fUnit - Felipe Nascimento
Testes Unitários e fUnit -  Felipe NascimentoTestes Unitários e fUnit -  Felipe Nascimento
Testes Unitários e fUnit - Felipe Nascimento
 
Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula01
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02
 
Logica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoLogica Algoritmo 04 Decisao
Logica Algoritmo 04 Decisao
 
Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1
 

Destaque

Five Minute Speech - Building a Prototype for a Lightweight Image Processing ...
Five Minute Speech - Building a Prototype for a Lightweight Image Processing ...Five Minute Speech - Building a Prototype for a Lightweight Image Processing ...
Five Minute Speech - Building a Prototype for a Lightweight Image Processing ...
Michel Alves
 
Ap1(gabarito)
Ap1(gabarito)Ap1(gabarito)
Prova cederj 2012_1
Prova cederj 2012_1Prova cederj 2012_1
Prova cederj 2012_1
Adriana Garcia
 
Revisão ap1 asi 2014 1 alunos
Revisão ap1 asi 2014 1 alunosRevisão ap1 asi 2014 1 alunos
Revisão ap1 asi 2014 1 alunos
borbaneil
 
Ap1 gabarito 2014 2 -cederj
Ap1 gabarito 2014 2 -cederjAp1 gabarito 2014 2 -cederj
Ap1 gabarito 2014 2 -cederj
Rosa Maria Santini Prado
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 

Destaque (6)

Five Minute Speech - Building a Prototype for a Lightweight Image Processing ...
Five Minute Speech - Building a Prototype for a Lightweight Image Processing ...Five Minute Speech - Building a Prototype for a Lightweight Image Processing ...
Five Minute Speech - Building a Prototype for a Lightweight Image Processing ...
 
Ap1(gabarito)
Ap1(gabarito)Ap1(gabarito)
Ap1(gabarito)
 
Prova cederj 2012_1
Prova cederj 2012_1Prova cederj 2012_1
Prova cederj 2012_1
 
Revisão ap1 asi 2014 1 alunos
Revisão ap1 asi 2014 1 alunosRevisão ap1 asi 2014 1 alunos
Revisão ap1 asi 2014 1 alunos
 
Ap1 gabarito 2014 2 -cederj
Ap1 gabarito 2014 2 -cederjAp1 gabarito 2014 2 -cederj
Ap1 gabarito 2014 2 -cederj
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 

Semelhante a Resumo computação I

Aula 3
Aula 3Aula 3
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
Adao Chiavelli
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
Evaldo Savio Araujo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
jormad
 
Introducao logica
Introducao logicaIntroducao logica
Introducao logica
Denilton Darold
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
GustavoBarrosLins1
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
Rodrigo Piovesana
 
Excel VBA: Aula 3
Excel VBA: Aula 3Excel VBA: Aula 3
Excel VBA: Aula 3
Gustavo Zimmermann
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
Professor Samuel Ribeiro
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
Rogério Fernandes da Costa
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
José Volmei Dal Prá Junior
 
02 while
02 while02 while
02 while
Leandro Barbosa
 
Visu alg ref (2)
Visu alg ref (2)Visu alg ref (2)
Visu alg ref (2)
Anderson Cirilo Valentim
 
Linguagem visualg2.0
Linguagem visualg2.0Linguagem visualg2.0
Linguagem visualg2.0
Lucas Emanuel
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04
André Phillip Bertoletti
 
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
MarceloRosenbrock1
 
Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programação
aldoirjava
 
Módulo1 aula4
Módulo1 aula4Módulo1 aula4
Módulo1 aula4
Eb 2,3 de beiriz
 
Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.
merciaregina6
 

Semelhante a Resumo computação I (20)

Aula 3
Aula 3Aula 3
Aula 3
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introducao logica
Introducao logicaIntroducao logica
Introducao logica
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Excel VBA: Aula 3
Excel VBA: Aula 3Excel VBA: Aula 3
Excel VBA: Aula 3
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
02 while
02 while02 while
02 while
 
Visu alg ref (2)
Visu alg ref (2)Visu alg ref (2)
Visu alg ref (2)
 
Linguagem visualg2.0
Linguagem visualg2.0Linguagem visualg2.0
Linguagem visualg2.0
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04
 
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
 
Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programação
 
Módulo1 aula4
Módulo1 aula4Módulo1 aula4
Módulo1 aula4
 
Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.
 

Último

Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
TomasSousa7
 
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptxPP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
LILIANPRESTESSCUDELE
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
LucianaCristina58
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
profesfrancleite
 
Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
Professor Belinaso
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
wagnermorais28
 
Dicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de cursoDicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de curso
Simone399395
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
Pastor Robson Colaço
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
DECIOMAURINARAMOS
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
WelberMerlinCardoso
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
livrosjovert
 
7133lllllllllllllllllllllllllllll67.pptx
7133lllllllllllllllllllllllllllll67.pptx7133lllllllllllllllllllllllllllll67.pptx
7133lllllllllllllllllllllllllllll67.pptx
LEANDROSPANHOL1
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
MarceloMonteiro213738
 
A Evolução da história da Física - Albert Einstein
A Evolução da história da Física - Albert EinsteinA Evolução da história da Física - Albert Einstein
A Evolução da história da Física - Albert Einstein
WelberMerlinCardoso
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 

Último (20)

Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
 
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptxPP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
 
Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
 
Dicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de cursoDicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de curso
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
 
7133lllllllllllllllllllllllllllll67.pptx
7133lllllllllllllllllllllllllllll67.pptx7133lllllllllllllllllllllllllllll67.pptx
7133lllllllllllllllllllllllllllll67.pptx
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
 
A Evolução da história da Física - Albert Einstein
A Evolução da história da Física - Albert EinsteinA Evolução da história da Física - Albert Einstein
A Evolução da história da Física - Albert Einstein
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 

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 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.
  • 3. 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.
  • 4. 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/
  • 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 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.
  • 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 do funcionamento do Computador. Declaração de variável Inteiro a Atribuição de valor a=5 Memória do computador
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. Expressões lógicas Expressões cujo valor é 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 capaz de “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 de executar repetidamente um trecho de código -Com contador -Sem contador
  • 35. Repetição - Com contador Estrutura básica: Para ( Inicialização ; Condição de parada ; Passo ) Faça /* Instrução */ Fim Para
  • 36. 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
  • 37. 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 )
  • 38. 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!)
  • 40. 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
  • 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 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
  • 44. 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.
  • 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 0 1 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 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
  • 49. 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
  • 50. 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
  • 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 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