Upload
erick-barbosa-de-souza
View
376
Download
0
Embed Size (px)
Citation preview
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
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.
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+2Fim
Saída do programa:
4
Sintaxe básica - Variáveis
Declaração de variáveis, exemplo:Algoritmo declaracao( )Início
Inteiro numnum = 2Imprimir num
Fim
Sintaxe básica - Comando de leitura
Exemplo de utilização de comando de leitura:Algoritmo exemploLeitura( )Início
Inteiro numLer numImprimir 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, ca=5b=3c=a+bImprimir “O valor de c é : ” + c
Memória do computador
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
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
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
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çaImprimir “1 é menor que 2”
SenãoImprimir “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 iImprimir “Início”Para ( i = 0 ; i <= 5 ; i = i + 1 ) Faça
Imprimir iFim ParaImprimir “Fim”
Saída do programa
Início12345Fim
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] = 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
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 é” + secFim
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
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 SeFim
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?