Instituto Federal de Mato Grosso do SulMarço/2023
03. Programas e Linguagens de Programação
Algoritmos 1
Prof. Rodrigo Duran
Nesta aula vamos:
-
Aprender sobre programas e linguagens de programação
Vamos aprender como as linguagens de programação diferem de linguagens naturais. Vamos praticar o uso de instruções não-ambíguas e conhecer o JavaScript. Vamos rodar o nosso primeiro programa!
Programas e Linguagens de Programação
Criando e executando programas
Por que Linguagens de Programação?
Programas devem instruir o comportamento do computador ao executar uma tarefa.
Em nossas atividades diárias, a linguagem natural é usada para descrever algoritmos. Essa abordagem só funciona pois os algoritmos são executados por humanos! Nós temos "bom-senso" e somos capazes de entender diversos passos devido ao seu contexto.
IMPORTANTE: O computador não é capaz de "interpretar o que você quis dizer"!
Você é capaz de determinar com clareza qual o sentido e o comportamento das sentenças ao lado?
“ Beltrana sentou na cadeira e quebrou o braço ”
“Ana pediu a Caio que pegasse sua carteira”
“Maria olhou a gata correndo”
“Ana encontrou o gerente da loja com o seu irmão”
“Ficou combinado que nos encontraremos no banco”
Linguagens (Artificiais) de Programação
Ao escrever programas, precisamos descrever, literalmente e em detalhe o que gostaríamos que o computador faça quando um programa é executado.
Para isso, precisamos de instruções que sejam precisas e não-ambíguas!
Uma linguagem de programação tem uma definição formal e usa apenas um pequeno conjunto bem definido de palavras e expressões (sintaxe).
Qualquer expressão aceita pela linguagem de programação deve ter um significado preciso (semântica)
Instruções LightBot
LightBot
O objetivo do LightBot é sempre levar o robô a todos os pontos acesos e "piscar" em cada um desses pontos, até chegar no último ponto.
Linguagens de Programação
Existem diversas linguagens de programação, cada um com seu propósito específico.
Não existe uma melhor linguagem de programação, mas aquela que se adequa às suas necessidades: flexibilidade, performance, facilidade de desenvolvimento, suporte da comunidade, entre vários outros fatores.
A popularidade de linguagens de programação muda com o tempo. Mas aprender uma nova linguagem não é tão difícil: a maioria dos conceitos de uma linguagem pode ser transferida para outra.
Tiobe Programming Language Index
| Posição | Linguagem | Rating | Exemplo de uso |
|---|---|---|---|
| 1 | C | 15.33% | Embarcados, S.O., drivers |
| 2 | Java | 10.45% | Mobile, Servers |
| 3 | Python | 10.31% | Machine Learning |
| 4 | C++ | 6.52% | Servers |
| 5 | C# | 4.97% | Servers, Desktop |
| 6 | Visual Basic | 4.85% | Desktop |
| 7 | JavaScript | 2.11% | Web |
| 8 | PHP | 2.07% | Web |
| 9 | Assembly | 1.97% | Embarcados |
| 10 | SQL | 1.87% | Banco de Dados |
JavaScript é uma das linguagens mais usadas do mundo: ela está em praticamente todas as páginas da Internet!
JavaScript é uma linguagem leve, interpretada, de tipagem dinâmica, que suporta funcionalidades de vários paradigmas/comportamentos.
Os padrões do JavaScript são ditados pelo ECMAScript. Diferentes navegadores podem suportar padrões diferentes. O padrão mais atual é o ECMAScript 2020.
Meu primeiro programa em JavaScript!
//Isso é um comentário. Apenas para humanos. Ignorado pelo computador
console.log("Bem-vindos estudantes de Algoritmos 1!");
console.log é uma palavra, parte do JavaScript que instrui o computador a realizar uma saída de dados através do console. Navegadores como o Chrome possuem consoles embutidos.
console.log pode mostrar qualquer coisa no console. Nesse caso estamos mostrando a frase "Bem-vindos estudantes de Algoritmos 1".
A maioria das palavras reservadas (sintaxe) do JavaScript se assemelham à palavras em Inglês. Comentários servem para nos ajudar a compreender o código, mas não tem efeito no comportamento do computador.
Ferramentas para programação
O código fonte de um programa é escrito e salvo em um editor. Você pode usar qualquer editor de texto (Bloco de Notas, Sublime, VSCode). Não é possível usar documentos do Word!
Um interpretador é o programa que converte códigos escritos por humanos, usando uma linguagem de programação, em uma forma que possa ser executada por um computador. Todos os navegadores possuem um interpretador JavaScript.
Um debugador ajuda o programador a monitorar o comportamento de um programa sendo executado. Muito útil quando queremos detectar o erro em um programa. Mais sobre estratégias de debug em próximas aulas!
Plataformas integradas, como o REPL.it integram um editor, interpretador e outras ferramentas como um console. Podem ser facilmente compartilhadas e não precisam de instalação!
Editando seu primeiro programa!
Acesse o link da nossa REPL. Você vai clonar a minha REPL e criar a sua própria.
Sua missão: editar o código desse programa para apresentar como saída o seu nome completo!
JavaScript e a Web (HTML e CSS)
JavaScript e a Web (HTML e CSS)
"Fuçando" em alguns programas ...
Sua missão: editar o código e tentar alterar o seu comportamento. O que você consegue entender desses programas?
