Baixe o app para aproveitar ainda mais
Prévia do material em texto
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ãoVetores 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
Compartilhar