Академический Документы
Профессиональный Документы
Культура Документы
Aprenda a programar #1: Voc pode programar para alcanar inmeros objetivos, como por exemplo, desenvolver um software, para automatizar tarefas, quem sabe vende-lo e ficar rico! ou melhor ainda, j pensou em criar um jogo de computador? ficar famoso e. rico! Voc tambm pode programar para web, desenvolver aplicativos e se fizer sucesso, hmm pode ficar rico! rsrs Sim, a rea de tecnologia um mercado em constante crescimento e com salrios iniciais relativamente altos. Se voc tem uma paixo em especial por computadores, por que no entender sua linguagem e se comunicar melhor com eles ^^
Ouvi dizer, que existem linguagens de baixo e alto nvel, qual a diferena?
Resumidamente, as linguagens de baixo nvel, so aquelas que possuem contato direto com o ,hardware do computador, geralmente linguagens compiladas, como por exemplo C, C++, Assembly Enquanto as linguagens de alto nvel o contato com o software, exemplos so linguagens interpretadas como Python, PHP, JavaScript, Pascal Aprenda a programar #2 | O que um Algoritmo: O algoritmo, uma instruo, ou uma ordem que voc dar ao computador, para que ele realize determinada tarefa. Ao contrrio do que a maioria das pessoas pensam, o computador no inteligente, quem inteligente, o programador! Em nossa linguagem, se eu fosse criar um algoritmo explicando o que acontece quando acordo at o momento que saio de casa seria mais ou menos o seguinte:
Inicio Diogo Rocha desperta abre os olhos Desliga o despertador Olha as horas Agradece a Deus por esse dia senta na cama coloca o primeiro p no cho pe o segundo fica de p tira o colete cala o chinelo anda at o banheiro entra no banheiro escova os dentes penteia o cabelo troca de roupa pega a mochila FIM iremos aprender a programar em uma pseudo-linguagem, conhecida como Portugol ou Portugus Estruturado. Aprenda a programar #3 | Variveis: Mostra o que so variveis, os tipos de variveis e as palavras reservadas do Portugol. ] sa
Variveis
Ou seja, toda varivel tem um nome, valor e tipo. Mas voc no falou de tipo, o que isso? As variveis, podem sem classificadas em: numrica (numeros reais ou inteiros); caracteres (sequncias de texto); booleanas (verdadeiro ou falso); Em portugol, temos os tipos: real, inteiro, caractere e logico
: O primeiro caractere de sua varivel, deve ser necessariamente letra ou underline _. No pode comear em nmeros Nomes de variveis no podem ter espaos em branco. Nada de Coca Cola por exemplo. Uma varivel correta seria CocaCola, tudo junto e sem espaos. Essa aqui chega a ser difcil No permitido variveis com mais de 127 caracteres (pasmem! quem criaria uma varivel desse tamanho?) E por fim, em Portugol, diferente de outras linguagens de programao, as variveis no so case sensivity, ou seja, elas no diferenciam maisculas de minsculas. Logo, DiOgO = diogo
Aprenda a programar #4 | Primeiro Programa: Como a estrutura de um algoritmo, como feita a declarao de variveis e finalmente o primeiro programa (Ol Mundo!). e a partir de agora ser necessrio para um melhor acompanhamento, que todos j tenham o VisualG instalado na mquina.
Estrutura do portugol
Todo e qualquer algoritmo, ter sempre um Nome, Declarao de variveis, Incio e Fim. Na estrutura abaixo: Algoritmo nome-do-seu-algoritmo VAR nome-da-var: tipo nome-da-var2: tipo INICIO | | | | FIMALGORITMO
Na estrutura do Portugol, dentro da seo VAR, declaramos a varivel da seguinte maneira: Nome-da-var: tipo ex: meunome: caractere
fimalgoritmo
Entendendo o algoritmo
Foi declarado a varivel num, como inteiro. Ou seja, poder receber qualquer nmero nofracionrio (-2, -3, -20, 0, 1, 2, 40, 18) Em seguida, o algoritmo ir solicitar ao usurio que digite um nmero, escrevendo na tela a seguinte frase: Digite um nmero: Se vocs notarem, h um espao aps os : e antes da , isso necessrio para que o cursor d o espao desejado. Como falei em um post anterior da srie, o computador no inteligente, ou seja, voc tem que explicar tudo a ele, passo a passo. o leia(num) ir aguardar com o cursor na tela at que o usurio digite um nmero inteiro e tecle enter. O num a varivel que declaramos no incio do algoritmo, lembram? E finalmente, o resultado. escreva(O nmero digitado : , num) importante notar, que no escreva, tudo o que estiver entre aspas, vai ser tratado como um texto qualquer, ento para retornarmos o contedo de uma varivel, fechamos primeiro as aspas, colocamos uma vrgula e digitamos o nome da varivel, para s ento fechar o parenteses.
LER NOME E IDADE var nome: caractere idade: inteiro inicio // Seo de comandos escreva ("Digite o nome da pessoa:") leia (nome) escreva ("Digite a idade da pessoa:") leia (idade) escreva ("O nome da pessoa :", nome, " e sua idade :", idade "anos" )
fimalgoritmo SOMAR DOIS NUMEROS var num1: inteiro num2: inteiro inicio // Seo de comandos escreva ("Digite o primeiro numero:") leia (num1) escreva ("Digite o segundo numero:") leia (num2) escreva ("A soma dos dois numeros :", num1+num2)
fimalgoritmo
ALGORITMO LER NOME, IDADE E ANO NASCIMENTO var nome: caractere idade: inteiro ano: inteiro inicio // Seo de comandos escreva ("Digite o nome da pessoa:") leia (nome) escreva ("Digite a sua idade:") leia (idade) escreva ("Digite o seu ano de nascimento:") leia (ano) escreva ("O nome da pessoa " ,nome, "sua idade ", idade,"e seu ano de nascimento :" ,ano)
fimalgoritmo
LER DATA DE NASCIMENTO algoritmo "datadenacimento" var dia: inteiro mes: literal ano: inteiro
inicio escreva ("Digite o dia do seu nascimento:") leia (dia) escreva ("Escreva o mes que voce nasceu:") leia (mes) escreva ("Digite o seu ano de nascimento:") leia (ano) escreva ("O dia " ,dia, "o mes ", mes,"e seu ano de nascimento :" ,ano)
fimalgoritmo
algoritmo "EscrevaNomeIdade" var nome: literal idade: inteiro inicio escreva ("Digite o seu nome:") leia (nome) escreva ("sua idade:") leia (idade) escreva ("seu nome " ,nome, "sua idade ", idade) fimalgoritmo
Aprenda a programar #5 | Operadores Aritmticos: O explica como atribuir valores variveis e mostra quais so os operadores aritmticos.
Atribuio
Utilizaremos este smbolo/sinal/setinha, para atribuir um valor a uma varivel: <Exemplo: numero <- 10 id <- 18 e tambm, podemos atribuir a uma varivel, o valor de outra varivel. A questo que eu quero atribuir a varivel id, o valor da varivel x como seria? simples id <- x .
Operadores aritmticos
em uma frmula matemtica, teramos que passar tudo para uma linha apenas. o que chamamos de linearizao.
//Faa um programa que leia 2 notas e mostre a mdia delas. Sendo que deve possuir a seguinte interao: //Digite a 1 nota: //Difite a 2 nota: //A mdia : algoritmo "Media" var nota1: inteiro nota2: inteiro media: real inicio escreva ("Digite a 1 nota:") leia (nota1) escreva ("Digite a 2 nota:") leia (nota2) media:= (nota1+nota2)/2; escreva ("A media " ,nota1, "+", nota2, "/2", "=", media)
fimalgoritmo
Aprenda a programar #6 | Operadores Lgicos e Relacionais: Esse post fala sobre os operadores relacionais e lgicos, alm de falar um pouco da tabela verdade. ^
Operadores relacionais
Os operadores relacionais, servem para realizar a comparao entre duas expresses, e resultam apenas um valor Verdadeiro ou Falso.
Os operadores lgicos
2 + 2 < 5) e (18 <> 18) resulta FALSO, pois como podemos observar na tabela verdade acima, Verdadeiro e Falso resulta Falso. .
algoritmo "Media" var nv1: real nv2: real nvt: real media: real inicio escreva ("Digite a nota da V1:") leia (nv1) escreva ("Digite a nota da V2:") leia (nv2) escreva ("Digite a nota da VT:") leia (nvt) media:= ((nv1*2)+(nv2*2)+nvt)/5)); escreva ("A media , nota da V1:" ,nv1," peso 2 + nota da V2:", nv2, " peso 2+ nota da Vt:" ,nvt, " Tudo dividido por 5") escreva (" Sua media = ", media)
fimalgoritmo /
Estrutura condicional
Vejamos Se o Flamengo vencer entao . ele ser campeo da libertadores fimse ento, poderia basicamente dizer que em um algoritmo a sintaxe seria a seguinte: se <condio> entao . <aes a serem realizadas se a condio for verdadeira> //pode ser uma ou mais fimse
sei que o computador no entenderia se eu colocasse simplesmente ele ser campeo da libertadores, ento como ficaria isso em um algoritmo?
Esse foi um exemplo bem didtico, mas em portugol, seria mais ou menos o seguinte: se (vencedor = Flamengo) entao . escreva(Flamengo ser o campeo da Libertadores!!!) fimse
e a segunda opo, que bem melhor e de mais agradvel leitura 1. 2. 3. 4. 5. 6. 7. se dinheiro >= 30 entao . ir_ao_cinema <- verdadeiro . assistir_tv <- falso senao . ir_ao_cinema <- falso . assistir_tv <- verdadeiro fimse //dinheiro variavel //ir_ao_cinema uma variavel // assistir_tv varivavel
Observem que agora na linha quatro, apareceu uma palavrinha nova para ns O senao O senao
algoritmo "Calcula area do circulo" var area: real raio: real inicio escreva ("Entre com o raio do circulo:") leia (raio) se raio > 0 entao area <- PI*(raio^2) // EXPONENCIACAO escreva ("A area do circulo de raio:", raio, "", area) fimse
se raio <= 0 entao escreva ("Raio nao pode ser nulo ou negativo!") fimse
fimalgoritmo 1 2 Faa um algoritmo que receba um nmero e mostre uma mensagem caso este nmero seja maior que 10. Faa um algoritmo que receba um nmero, e informe se este nmero est no intervalo de 100 a 200.
algoritmo "Faa um algoritmo que receba um nmero e mostre uma mensagem caso este nmero seja maior que 10." // Funo : // Autor : // Data : 10/5/2013 // Seo de Declaraes var num: inteiro inicio escreva("Digite um nmero: ") leia(num) se num > 10 entao escreva ("verdadeiro") escreva (" o numero e mesmo maior q 10 ele :", num) senao escreva("Falso o numero digitado menor que dez !!") fimse fimalgoritmo
algoritmo "Faa um algoritmo que receba um nmero, e informe se este nmero est no intervalo de 100 a 200." var num: inteiro inicio escreva ("Digite um numero:") leia (num) se (num >=100) e (num <= 200) entao escreva ("ok, este numero esta entre 100 e 200")
ESCOLHA... CASO...
aprendemos sobre estrutura condicional, quando e como utilizar o operador SEENTAO-SENAO, porm, dependendo da ocasio, quando se h muitas escolhas diferentes, nosso cdigo pode ficar grande, e de difcil leitura Nesse caso, entra mais uma funo em nosso querido algoritmo, o ESCOLHA CASO CASO OUTROCASO =)
Comentrios
Em portugol, nossos comentrios so tudo aquilo precedido por // (duas barras)
E finalmente o Algoritmo
algoritmo "Classificao de Atletas" var nome: literal categoria: literal idade: inteiro inicio escreva ("Digite o nome do atleta: ") leia(nome) escreva ("Informe a idade do atleta: ")
leia(idade) // At aqui tudo bem, ele pede o nome e idade, l os valores e joga nas respectivas variveis escolha idade // A funo escolha ir interpretar os casos abaixo em cima da varivel idade caso 5,6,7,8,9,10 // Caso a varivel idade receba os valores de 5 a 10, ir atribuir na varivel categoria o valor: infantil categoria <- "infantil" caso 11,12,13,14,15 // Caso a varivel idade receba os valores de 11 a 15, ir atribuir na varivel categoria o valor: juvenil categoria <- "juvenil" caso 16,17,18,19,20 // Caso a varivel idade receba os valores de 16 a 20, ir atribuir na varivel categoria o valor: junior categoria <- "junior" caso 21,22,23,24,25 // Caso a varivel idade receba os valores de 21 a 25, ir atribuir na varivel categoria o valor: profissional categoria <- "profissional" outrocaso // E se a varivel idade no receber nenhum dos valores acima mencionados, vamos atribuir a varivel categoria o valor: invlido categoria <- "INVALIDO" fimescolha // O fimescolha finaliza a funo que abrimos anteriormente escreva("Categoria: ",categoria) // E este ltimo escreva, serve para que possamos mostrar o resultado ao usurio
fimalgoritmo algoritmo "Verificar disponiblidade" var marca, dispo: literal tamanho: inteiro inicio escreva("Digite o marca do tnis: ") leia(marca) escreva("Digite o tamanho desejado: ") leia(tamanho) escolha marca caso "Nike","Mizuno","All Star" escolha tamanho caso 38,39,40,41 dispo <- "diponvel" outrocaso dispo <- "indisponvel" fimescolha caso "Rainha","Kildare","Umbro","Penalty" escolha tamanho caso 40,41,42 dispo <- "Disponvel" outrocaso dispo <- "indisponvel" fimescolha outrocaso dispo <- "indisponvel" fimescolha
ESTRUTURAS DE REPETIO As estruturas de repetio, iro repetir determinados comandos, at que uma comparao lgica se torne verdadeira ou falsa.
Na estrutura repita ate, todos os comandos sero executados e, ao final, haver uma expresso lgica, para que avalie a repetio, esta que somente ir cessar quando essa expresso for verdadeira
// sintaxe da estrutura de repetio repita <comandos> ate <expresso lgica/relacional> Agora um exemplo didtico 1 algoritmo "DemonstraRepeticao" 2 3 var 4 i: inteiro 5 6 inicio 7 8 i <- 1 9 repita escreva(i) 10 i <- i + 1 11 12 ate i > 10 13 14 fimalgoritmo Este algoritmo ir retornar na tela do usurio os nmeros: 1 2 3 4 5 6 7 8 9 10
Mais porqu?
Primeiramente foi declarado a varivel i como inteiro, logo em seguida utilizamos uma estrutura de repetio, o repita-ate, pedimos para escrever o valor de i e acrescentamos ao seu valor mais uma unidade, ou seja, i + 1. e at quando isso ser repetido? At que o valor de i seja maior que 10 Ento quando o valor de i chegou a 11, ele perguntou se i era maior que 10, como a resposta foi verdadeira, ele encerrou a repetio e foi para o prximo comando Como no temos mais nada, encerramos nosso algoritmo.
Algoritmo "MediaHarmonica"
var a, b, c, MH, i: real NOME: caractere inicio i <- 1 Repita escreva("Entre com o nome do aluno: ") leia(nome) escreval ("Entre com as notas das trs provas") escreva("Digite a primeira nota: ") leia(a) escreva("Digite a segunda nota: ") leia(b) escreva("Digite a terceira nota: ") leia(c) MH <- 3/(1/a + 1/b +1/c) escreval("A mdia harmnica do aluno: ", NOME, " ", MH) i <- i + 1 ate i > 40 FimAlgoritmo
algoritmo "Media Harmonica" var a,b,c, mh,i: real nome: literal inicio i <- 1 repita escreval("Digite o nome do aluno: ") leia(nome) escreval("============================ ") escreval("Informe a nota de 3 provas do aluno: ") escreval("============================ ") escreval("Informe a primeira nota : ") leia(a) escreval("============================ ") escreval("Informe a segunda nota : ")
leia(b) escreval("============================ ") escreval("Informe a terceira nota : ") leia(c) escreval("============================ ") se (mh = 7) e (mh <= 10) entao escreval("Aluno aprovado") senao escreval("Aluno em recuperacao") fimse escreval("A media harmonica do aluno : ", nome, " e ", mh:2:2) escreval("============================ ") ate i > 10 fimalgoritmo
Diferentemente do repita-ate, onde todos os comandos so interpretados, para s ento haver uma expresso lgica verificando se deve ou no continuar a repetio, o enquanto-faca ir avaliar uma expresso lgica e, enquanto esta for verdadeira, ir executar os comandos Sintaxe do Enquanto .. faca 1 enquanto <expresso lgica ou relacional> faca <comandos> 2 3 fimenquanto
=)
Exemplo 1
Neste exemplo, vou criar um algoritmo utilizando o repita-ate e depois o mesmo algoritmo, s que dessa vez utilizando a estrutura enquanto faca, explicando passo-a-passo a vocs, para que possam entender a diferena entre ambos. Faa um algoritmo que solicite que o usurio digite um nmero, e informe se este nmero maior que 10. O programa s pode parar de solicitar o nmero quando este for igual a 0 (zero)
repita escreva ("Digite um numero:") leia (numero) limpatela // limpa a tela se (numero > 10) entao escreva ("ok, este numero e maior q 10") senao escreva ("numero menor q 10") fimse ate (numero =0) fimalgoritmo
enquanto numero <> 0 faca escreva("Digite um nmero: ") leia(numero) limpatela se (numero > 10) entao escreval("O nmero ",numero," maior que 10") senao escreval("O nmero ",numero," menor que 10") fimse fimenquanto fimalgoritmo
Nesse exemplo, comeamos nosso algoritmo atribuindo o valor 1 a varivel nmero, para que possamos comear a utilizar nossa estrutura de repetio, conforme podem ver na linha 9; E na linha 10, nossa condio para que o lao continue sendo executado, ou seja, enquanto a varivel numero for diferente de 0 (zero), continuaremos executando o programa, e o usurio digitando nmeros para descobrir se maior ou menor que zero (como se fosse necessrio um
programa para isso rsrsrs) claro, claro, apenas um exemplo didtico Mas que tal ver se realmente aprendeu? Deixo aqui ento um desafio a vocs
Deixo aqui ento um desafio a vocs 1. Crie dois algoritmos, um utilizando a estrutura de repetio repita .. ate e outro utilizando o enquanto .. faca. 2. Uma loja est vendendo trs modelos de carro, o algoritmo deve ler o nome e o valor (R$) dos seguinte automveis: GOL, PALIO, CORSA 3. Ao final, informar quantos carros de cada modelo foram vendidos e o valor total arrecadado em reais. 4. O programa s pode encerrar quando o valor do veculo for igual a zero. Good Luck
algoritmo Conta carros var carro: literal soma: real valor: real gol: real palio: real corsa: real
inicio valor <- 1 gol <- 0 // quantidades de gol corsa <- 0 // quantidade de corsas palio <- 0 // quantidade de palios soma <- 0 // soma dos valores enquanto valor <> 0 faca escreval("Vendomos:")
escreval ("GOL:R$ 33790 ; PALIO:R$ 34290 ; CORSA:R$ 32436.") escreva ("Qual a sua escolha ? ou 0 para sair:") leia ( carro ) se ( carro = "0") entao valor <- 0 senao escreva ("Insira o valor do automovel:") leia (valor) fimse limpatela escolha carro caso "GOL" gol <- gol +1 caso "PALIO" palio <- palio +1 caso "CORSA" corsa <- corsa +1 outrocaso escreva ("Nao temos esse carro!!") fimescolha soma <- soma + valor fimenquanto escreval ("---------------VENDAS-----------") escreval("GOLs vendidos: ",gol) escreval("PALIOs vendidos: ",palio) escreval("CORSAs vendidos: ",corsa) escreval("Valor total arrecadado com as vendas: R$",soma) fimalgoritmo // linha 23 valor nao pode ser 0 senao encerra