Primeiro Algoritmo - Curso de Algoritmos #02 - Gustavo Guanabara

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 em Escreva("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 em Escreva('Me livrei da maldição').

Comandos Escreva e Escreval

Diferença entre Comandos

  • O comando Escreve escreve mensagens lado a lado; já o comando Escreval pula para a linha seguinte após escrever.
  • A sintaxe do Escreval é semelhante ao Escreva, mas adiciona um salto de linha.

Exemplos Práticos

  • Substituindo um Escreva por um Escreval, 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

  1. O identificador deve começar com uma letra.
  1. Os caracteres subsequentes podem ser letras ou números; símbolos são proibidos, exceto o underline (_).
  1. Não pode haver espaços em branco nos identificadores.
  1. Letras acentuadas não são permitidas nos identificadores.
  1. 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 de ESCREVA("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 MSG exibe o conteúdo da variável MSG.
  • Múltiplos valores: ESCREVA "mensagem", MSG mostra 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

Video description

Aula do Curso de Algoritmos criado pelo professor Gustavo Guanabara para o portal CursoemVideo.com. Download de pacotes e curso com certificado GRÁTIS: http://cursoemvideo.com/course/curso-de-algoritmos/ Curso em Vídeo Site: http://www.cursoemvideo.com YouTube: http://www.youtube.com/cursosemvideo Facebook: http://www.facebook.com/cursosemvideo Twitter: http://twitter.com/cursosemvideo Google+: http://plus.google.com/112666558837414979080 Patrocínio HOSTNET: http://www.hostnet.com.br