Primeiro Algoritmo - Curso de Algoritmos #02 - Gustavo Guanabara
Introdução aos Algoritmos Computacionais
Apresentação do Curso
- Olá! Seja bem-vindo à sua segunda aula do curso de algoritmo, apresentado por Gustavo Guanabara. O foco será em algoritmos computacionais.
Revisão da Aula Anterior
- Na aula passada, foram abordados problemas de lógica e a função dos algoritmos na vida cotidiana. Agora, o foco é entender os algoritmos computacionais.
Diferença entre Algoritmo e Algoritmo Computacional
- Um algoritmo é uma rotina executada no dia a dia (ex: ir ao trabalho), enquanto um algoritmo computacional tem um foco específico em execução por máquinas.
Definição de Algoritmos Computacionais
- "Algoritmos são passos a serem seguidos por um módulo processador e seus respectivos usuários que, quando executados na ordem correta, conseguem realizar determinada tarefa." Os termos principais incluem:
- Módulo Processador: Qualquer dispositivo capaz de processamento (computadores, tablets, smartphones).
- Usuários: Aqueles que utilizam os programas desenvolvidos.
- Realizar Tarefa: Resolver problemas ou necessidades dos usuários com o auxílio do módulo processador.
Importância dos Algoritmos no Dia a Dia
Exemplos Práticos de Algoritmos
- Sistemas antigos como gestão de locadoras e farmácias ainda são relevantes no mercado de TI.
- Acessar contas bancárias online envolve algoritmos para verificar saldos e realizar transferências.
- Redes sociais operam através de algoritmos em servidores potentes; assistir vídeos também depende deles para compressão e exibição.
- Jogos eletrônicos utilizam algoritmos tanto em computadores quanto em dispositivos portáteis.
Criação de Algoritmos Computacionais
Lógica de Programação
- Todo algoritmo começa com a criação da lógica de programação, que deve ser estruturada antes da codificação em uma linguagem específica (ex: Java, PHP). Essa lógica é fundamental para o desenvolvimento do sistema completo que o usuário utilizará.
Ferramentas para Representação da Lógica
- As ferramentas mais conhecidas para representar a lógica incluem:
- Fluxograma: Representa a lógica através do fluxo das informações.
- Diagrama Nassi-Shneiderman: Também conhecido como diagrama de Chapin; utiliza blocos para representar a lógica do programa.
Introdução ao Portugol e Lógica de Programação
O que é o Portugol?
- O Pseudocódigo, conhecido como Portugol, é uma forma de representar a lógica de programação na língua portuguesa. É utilizado para facilitar o entendimento antes da implementação em uma linguagem de programação real.
- O curso se concentrará no desenvolvimento através do Portugol, que não deve ser confundido com uma linguagem de programação, mas sim como um meio para estruturar a lógica antes da codificação.
Importância do Algoritmo
- A compreensão dos algoritmos é fundamental para aprender linguagens como PHP e Java. Sem essa base, cursos avançados podem ser ineficazes.
- Para profissionais de TI, dominar o pseudocódigo e a construção de algoritmos é um passo essencial antes de iniciar qualquer projeto.
Ferramentas Utilizadas
Visualg
- O Visualg será a ferramenta utilizada no curso. É um software desenvolvido por Claudio Morgado e outros professores para auxiliar no aprendizado de algoritmos.
- O Visualg é gratuito e pode ser baixado do site www.cursoemvideo.com. Ele oferece exercícios e apostilas que serão utilizados durante o curso.
Primeiros Passos com o Visualg
Interface do Visualg
- Ao abrir o Visualg, você verá uma tela onde pode digitar seu código. A estrutura básica começa com "início" e termina com "fimalgoritimo".
- A interface inclui áreas específicas: área de variáveis (var), corpo do algoritmo, representação da memória do computador e terminal para saídas.
Criando seu Primeiro Programa
- Um dos primeiros programas a serem criados será o famoso "Olá Mundo", considerado um rito de passagem na aprendizagem de programação.
Introdução ao Comando Escreva
Importância do Comando Escreva
- O comando
Escreva("Qualquer coisa")é fundamental, pois tudo que está entre aspas é considerado uma mensagem ou cadeia de caracteres.
- Ao usar
Escreva, deve-se colocar a mensagem entre parênteses e aspas, como emEscreva("Olá Mundo"). A acentuação pode ser ignorada por questões de compatibilidade.
Execução do Programa
- Existem três maneiras de executar o programa: pelo menu "Algoritmo", pressionando "F9" ou clicando no botão "Executar".
- Após a execução, a tela preta exibe "Olá, Mundo!" e informa sobre o fim da execução. É possível fechar a janela com "X" ou "ESC".
Reflexões sobre Aprendizado em T.I.
Estética vs. Prática
- O instrutor menciona que os primeiros passos na programação podem parecer feios, mas são essenciais para aprender.
- Comparação com crianças aprendendo a andar: os primeiros passos são desajeitados e não se deve esperar resultados perfeitos imediatamente.
Mensagens Adicionais
- Para adicionar outra mensagem, utiliza-se novamente o comando
Escreva, como emEscreva('Me livrei da maldição').
Comandos Escreva e Escreval
Diferença entre Comandos
- O comando
Escreveescreve mensagens lado a lado; já o comandoEscrevalpula para a linha seguinte após escrever.
- A sintaxe do
Escrevalé semelhante aoEscreva, mas adiciona um salto de linha.
Exemplos Práticos
- Substituindo um
Escrevapor umEscreval, as mensagens aparecem em linhas separadas durante a execução.
Introdução às Variáveis
Conceito de Variáveis
- As variáveis são descritas como espaços na memória do computador, comparadas a um armário cheio de buracos onde valores podem ser armazenados.
Exemplificação das Variáveis
- Cada espaço pode ter etiquetas que indicam que tipo de valor pode ser armazenado ali (ex.: bola ou sapato).
Entendendo Variáveis e Identificadores em Programação
Conceito de Variáveis
- As variáveis são comparadas a um armário onde se coloca objetos. Para trocar um objeto, é necessário retirar o que já está lá.
- Ao atribuir um novo valor a uma variável, o valor anterior deve ser removido, assim como ao trocar uma bola no armário.
Estrutura de Identificadores
- Os identificadores têm um formato específico: nome do objeto seguido pelo tipo (ex.: "bola: brinquedo").
- Identificadores servem para identificar variáveis e devem seguir seis regras específicas.
Regras para Nomeação de Identificadores
- O identificador deve começar com uma letra.
- Os caracteres subsequentes podem ser letras ou números; símbolos são proibidos, exceto o underline (_).
- Não pode haver espaços em branco nos identificadores.
- Letras acentuadas não são permitidas nos identificadores.
- Um identificador não pode ser uma palavra reservada da linguagem.
Exemplos de Identificadores Válidos e Inválidos
- "Nota1" é válido pois segue todas as regras estabelecidas.
- "Média" é inválido devido à presença de acento na letra E.
- "Salário Bruto" fere duas regras: contém espaço e acento, tornando-o inválido.
Análise Final dos Identificadores
- "9dade" é inválido por começar com número, violando a primeira regra.
- "Algoritmo" é inválido porque é uma palavra reservada da linguagem.
- "Inicio_Algoritmo" é válido apesar das palavras reservadas individuais, pois sua combinação não configura uma palavra reservada.
Importância das Regras
Tipos de Dados em Programação
Tipos Numéricos: Inteiro e Real
- O tipo Inteiro permite que a variável armazene apenas números inteiros, como 1, 3, -5, 198 e 0. Números inteiros não têm parte fracionária.
- Os números com parte fracionária são classificados como Reais, incluindo exemplos como 'meio', '5', '9,8' e '-77,3'. No contexto do Portugol, o número real é representado com ponto (ex: '0.5').
- É importante notar que o número '5.0' é um número real mas também pode ser considerado um inteiro. Todos os números inteiros estão contidos no conjunto dos números reais.
Tipos de Dados: Caractere e Lógico
- O tipo Caractere refere-se a qualquer sequência de caracteres entre aspas. Exemplos incluem "Olá Mundo", "Gustavo" e "123". Se "123" estiver entre aspas, é tratado como uma sequência de caracteres.
- A sequência de caracteres pode incluir acentos e símbolos sem seguir as regras de nomeação de identificadores. O tipo Lógico guarda apenas dois valores: VERDADEIRO ou FALSO.
Declaração de Variáveis no VisuAlg
- Os tipos primitivos discutidos incluem INTEIRO, REAL, CARACTERES e LÓGICO. A declaração das variáveis no VisuAlg segue a estrutura IDENTIFICADOR:TIPO.
- Um exemplo prático seria declarar uma variável chamada MSG do tipo caractere. Essa variável deve começar com uma letra e não conter espaços ou acentos.
Atribuição de Valores às Variáveis
- Ao declarar a variável MSG no VisuAlg (exemplo:
VAR MSG : caractere), o sistema aloca espaço na memória para armazenar mensagens desse tipo.
- Quando atribuímos um valor à variável MSG (por exemplo,
MSG recebe "Olá, Mundo!"), usamos o símbolo< -, que representa a atribuição da mensagem à variável.
Exibindo Mensagens na Tela
- Para exibir a mensagem armazenada na variável MSG na tela sem usar aspas (que mostrariam literalmente "MSG"), devemos usar
ESCREVA(MSG)ao invés deESCREVA("MSG").
Introdução ao Algoritmo e Variáveis
Compreendendo a Estrutura Básica
- O valor "Olá, Mundo!" é atribuído à variável MSG, que é então exibida na tela. O uso dos comandos ESCREVA e ESCREVAL no VISUALG permite a saída de dados.
- Três exemplos de uso do comando ESCREVA são apresentados:
- Com aspas:
ESCREVA "MSG"exibe o texto literal "MSG".
- Sem aspas:
ESCREVA MSGexibe o conteúdo da variável MSG.
- Múltiplos valores:
ESCREVA "mensagem", MSGmostra tanto uma string quanto o conteúdo da variável.
- A combinação de strings e variáveis no comando ESCREVA é demonstrada, mostrando como incluir um espaço entre os elementos para melhorar a legibilidade da saída.
- A importância de entender as estruturas básicas da linguagem é enfatizada, incluindo variáveis, identificadores e tipos primitivos. Isso forma a base para interações futuras com o usuário.
Interação com o Usuário
- Na próxima aula, será abordado como interagir com o usuário através de perguntas simples, como solicitar seu nome e responder adequadamente.
A Importância do Aprendizado Progressivo
Reflexões sobre o Processo de Aprendizagem
- O professor Gustavo Guanabara expressa gratidão pela presença dos alunos e destaca que esta aula foi mais extensa devido à necessidade de cobrir conceitos fundamentais.
- Ele compara aprender lógica de programação a andar de bicicleta ou dirigir; inicialmente desafiador, mas se torna automático com prática contínua.
- É aconselhado que os alunos não apressam seu aprendizado; praticar lentamente é essencial para dominar algoritmos.
Recursos Adicionais
- O professor incentiva os alunos a se inscreverem no canal Curso em Vídeo para receber atualizações sobre novas aulas e cursos disponíveis.
- Informações sobre onde acessar cursos gratuitos online são fornecidas, incluindo links diretos para conteúdos adicionais relacionados ao curso de HTML5 e outros recursos educacionais.
Encerramento da Aula
Expectativas Futuras