Prévia do material em texto
Algoritmos e Lógica de Programação Básico e Avançado - Passo a Passo Curso Completo Gratuito Capítulo 2 de Introdução à Programação desenvolvedoresfullstack.com Professor: Ricardo Ribeiro Conceitos de: • Algoritmos • Lógica de Programação • Programa de Computador • Automação • Hardware e Software O que é um Algoritmo? • É uma sequência finita de instruções para solucionar um problema. • Utilizado em diversas áreas Tecnológicas Problema: abrir um portão eletrônico de garagem Algoritmo: 1. Pegar o controle do portão eletrônico 2. Aproximar-se a uma certa distância do portão 3. Apontar o controle em direção ao portão 4. Clicar no botão de abrir 5. Esperar o portão abrir até o final 6. Entrar ou sair com o carro 7. Apontar novamente o controle na direção do portão 8. Clicar no botão de fechar 9. Esperar o portão fechar até o final O que é um Programa de Computador? • São Algoritmos executados pelo computador. Problema: abrir um portão eletrônico de garagem Algoritmo: 1. Pegar o controle do portão eletrônico 2. Aproximar-se a uma certa distância do portão 3. Apontar o controle em direção ao portão 4. Clicar no botão de abrir 5. Esperar o portão abrir até o final 6. Entrar ou sair com o carro 7. Apontar novamente o controle na direção do portão 8. Clicar no botão de fechar 9. Esperar o portão fechar até o final O que é Automação? • É o uso de máquina(s) para realizar o procedimento desejado automaticamente ou de forma semiautomática. O que os algoritmos e automação tem a ver com programação de computadores? O Computador é dividido em duas partes: • Hardware - É a parte física do computador • Monitor, Teclado, Mouse • Software - São os programas (é parte lógica) • Aplicativos - Pacote Office, Navegador web, app de áudio. • Jogos digitais • Utilitários (WinRAR, Antivírus) • E muitos outros Algoritmos tem semelhança c/ Programas • Programas são algoritmos executados pelo computador. • Podemos concluir que o computador é uma máquina que automatiza a execução de algoritmos. • Qualquer algoritmo? Não. Apenas algoritmos computacionais: -Processamento de dados -Cálculos • Conclusão: o computador é uma máquina que automatiza a execução de algoritmos computacionais de Processamento de dados Resumindo: • Algoritmos • Lógica de Programação • Programa de Computador • Automação • Hardware e Software O Que é Preciso Para Construir um Programa de Computador (Software)? Itens Necessários: 1. Linguagem de programação: É um conjunto regras Léxicas e Sintáticas para escrever um Programa ou Software. 2. IDE: É um Software usado para editar e testar o Programa. 3. Compilador: É um Software usado para transformar o Código Fonte em Código Objeto. 4. Gerador de Código ou Máquina Virtual: É um Software que permite o Programa ser executado. Conceitos de Linguagem de Programação, Léxica e Sintática. O que é uma Linguagem de Programação? • São um conjunto de regras léxicas (referente a ortografia) e sintáticas (referente a gramática), usadas para escrever os programas. O que é Léxica? • Léxica se refere à correção das palavras individualmente (ortografia). Exemplo em Português: Exemplo em Linguagem de Programação: Xadrez = Correto public = Correto Chadrez = Errado publiq = Errado O que é Sintática? • Se refere à correção das sentenças (gramática). Exemplo em Português: Exemplo em Linguagem de programação: O jogo se chama Xadrez. soma = numero1 + numero2; A jogo se chama Xadrez. soma + numero2; = numero1 Exemplo de um programinha : Informe o valor de 2 números, e depois mostre a soma deles na tela: Informe o 1º número: 4 Informe o 2º número: 6 A soma = 10 Exemplo no VisualG Exemplo em Java Exemplo em Java Exemplo em Java Quais Linguagens de Programação Aprenderemos Neste Curso? • Java • JavaScript • Python • C • C++ • C# • PHP TOTAL DE 7 LINGUGENS + VISUALG = 8 EM 1 Resumindo Linguagem de Programação: São conjunto de regras léxicas e sintáticas para se escrever um programa. Léxica = ortografia, ou seja, a escrita correta das palavras individualmente. Sintática = gramática, ou seja, a sentença como um todo. Exemplo de código escrito no VisualG Exemplo de código escrito na Linguagem Java IDE - Ambiente Integrado de Desenvolvimento Conjunto de softwares usado p/ construir os programas. Exemplos de IDE: Code Blocks: Usado nas Linguagens C e C++ Eclipse ou NetBeans: Usados na Linguagem Java Microsoft Visual Studio: Usado na Linguagem C# O que é uma IDE? Exemplo de uma IDE em Java Aplicabilidades de uma IDE: 1) Escrever e editar código fonte (indentação, autocompletar, destaque de palavras, etc.) 2) Debugar e testar o código 3) Construção do produto final (build) 4) Sugestão de modelos (templates) 5) Poderoso auxílio em seus projetos 6) Auta produtividade 7) E muitas outras funcionalidades Resumindo IDE: É um conjunto de softwares usado p/ construir os programas. Code Blocks: C / C++ Eclipse, NetBeans : Java Microsoft Visual Studio : C# Uma IDE oferece várias funcionalidades para facilitar a construção dos programas Conceitos de: •Compilação e interpretação •Código fonte e Código objeto •Máquina virtual Itens Necessários Para Criar Um Programa: 1. Linguagem de programação 2. IDE 3. Compilador 4. Máquina Virtual ou Gerador de Código Compilador • Transforma o Código Fonte em Código Objeto Máquina Virtual ou Gerador de Código • Permite o Código Objeto ser executado pelo computador Tipos de Códigos • Código Fonte • Código Objeto O que é Código fonte? • Código fonte: é o código escrito por um programador (desenvolvedor) em linguagem de programação EXEMPLO DE CÓDIGO FONTE EM JAVA Compilação • Processo que transforma o Código Fonte em Código Objeto Processo de Compilação Código fonte Código objeto Compilador: faz a Compilação Análise Léxica e Análise Sintática Execução Código Executável Geração de Código: Construção (Build) Geração de Código Interpretação Códigofonte Análise Léxica + Análise Sintática + Geração de Código SOB DEMANDA Interpretador Execução Linguagens que usam a Interpretação: • PHP • JAVASCRIPT, • PYTHON • RUBY Abordagem híbrida Código fonte Bytecode Compilador: precompilação Análise Léxica e Análise Sintática Geração de código SOB DEMANDA Máquina virtual: interpretação Execução • C# (Microsoft .NET Framework) • Java (JVM – Java Virtual Machine) Exemplos de linguagem que usam essa abordagem: Vantagens na compilação • Velocidade do programa • Auxílio do compilador antes da execução Vantagens a interpretação • Flexibilidade de manutenção do programa que está sendo criado • Expressividade na linguagem de programação • O código fonte, não precisa ser recompilado para rodar em diferentes sistemas operacionais. Vantagens que são muito bem aproveitadas na abordagem híbrida: • Auxilio do compilador antes da execução • código fonte não precisa ser recompilado pra rodar em plataformas diferentes Vantagens que são parcialmente aproveitadas pela abordagem híbrida: • Velocidade do programa • Flexibilidade de manutenção do programa que está sendo criado Código Fonte Código Fonte Código Fonte Código Executável {Específico P/ Sistema Operacional} Sistema Operacional Sistema Operacional Sistema Operacional Hardware Hardware Hardware Interpretador {Específico P/ Sistema Operacional} {Específica P/ Sistema Operacional} Bytecode {Código precompilado} Máquina Virtual C, C++ PHP, Python Java, C# Portugol e o VisualG Linguagem Portugol •É uma Linguagem simplificada, com objetivo didático para estudantes de língua portuguesa •Usada por diversos autores de livros e professores Linguagem C: double n1, n2, soma; printf ("Digite o 1º numero: "); scanf (“%lf”, %n1) ; printf ("Digite o 2º numero: "); scanf (“%lf”, %n2) ; soma <- n1 + n2 printf(“Soma = %.lf / n”, media); Linguagem Portugol: n1,n2, soma : real escreva("Digite o 1º numero: ") leia(n1) escreva("Digite o 2º numero: ") leia(n2) soma <- n1 + n2 escreva(“Soma = ", soma) Dialetos em Portugol • A sintaxe do Portugol pode variar de autor para autor (dialetos) Dialetos em Portugol • A sintaxe do Portugol pode variar de autor para autor (dialetos) • A linguagem Portugol pode ser chamada de "Português estruturado", ou "Linguagem algorítmica" Dialetos em Portugol • A sintaxe do Portugol pode variar de autor para autor (dialetos) • A linguagem Portugol pode ser chamada de "Português estruturado", ou "Linguagem algorítmica" n1, n2, soma : real escreva("Digite o 1º numero: ") leia(n1) escreva("Digite o 2º numero: ") leia(n2) soma <- (n1 + n2) escreva(“Soma = ", soma) VisualG VisualG é uma ferramenta para editar e interpretar programas em Portugol VisualG VisualG é uma ferramenta para editar e interpretar programas em Portugol Referências: http://www.apoioinformatica.inf.br/produtos/visualg Prof. Cláudio Morgado de Souza, Prof. Antonio Carlos Nicolodi http://www.apoioinformatica.inf.br/produtos/visualg VisualG VisualG é uma ferramenta para editar e interpretar programas em Portugol Referências: http://www.apoioinformatica.inf.br/produtos/visualg Prof. Cláudio Morgado de Souza, Prof. Antonio Carlos Nicolodi Observação: Portugol: É a linguagem VisualG: É a ferramenta para escrever e testar os programas feitos em Portugol http://www.apoioinformatica.inf.br/produtos/visualg Download e instalação do VisualG https://sourceforge.net/projects/visualg30/ FIM DO CAPÍTULO 2 https://sourceforge.net/projects/visualg30/