Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

linguagem de programação portugol, Notas de aula de Linguagem de Programação

O Portugol Studio é um ambiente para aprender a programar, voltado para os iniciantes em programação. Possui uma sintaxe fácil, diversos exemplos e materiais de apoio à aprendizagem. Também possibilita a criação de jogos e outras aplicações. Este material foi compilado a partir dos textos e imagens presentes no contexto da ajuda do Portugol Studio do qual nos esforçamos para mantermos o mais fiél a obra original. Objetivamos com isso apenas contribuir com o acesso a essas informações fora

Tipologia: Notas de aula

2021

Compartilhado em 13/06/2021

miguel-santos-p1k
miguel-santos-p1k 🇧🇷

1 documento

1 / 54

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Aprendizado de Algoritmos
usando o Portugol Studio
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36

Pré-visualização parcial do texto

Baixe linguagem de programação portugol e outras Notas de aula em PDF para Linguagem de Programação, somente na Docsity!

Aprendizado de Algoritmos

usando o Portugol Studio

APRESENTAÇÂO

O Portugol Studio é um ambiente para aprender a programar, voltado para os

iniciantes em programação. Possui uma sintaxe fácil, diversos exemplos e

materiais de apoio à aprendizagem. Também possibilita a criação de jogos e

outras aplicações.

Este material foi compilado a partir dos textos e imagens presentes no contexto

da ajuda do Portugol Studio do qual nos esforçamos para mantermos o mais

fiél a obra original. Objetivamos com isso apenas contribuir com o acesso a

essas informações fora do ambiente do programa para os estudantes que

usam esta excelente ferramenta.

Todos os direitos do material aqui exposto são de propriedade dos seus

criadores, aqui representados pela UNIVALI – Universidade do Vale do

Itajaí

Link para Download do Portugol Studio:

https://sourceforge.net/projects/portugolstudio/

Linguagem Portugol

Uma linguagem de programação é um método padronizado para comunicar

instruções para um computador. É um conjunto de regras sintáticas e

semânticas usadas para definir um programa de computador. Permite que um

programador especifique precisamente sobre quais dados um computador vai

atuar, como estes dados serão armazenados ou transmitidos e quais ações

devem ser tomadas sob várias circunstâncias.

O Portugol é uma representação que se assemelha bastante com a linguagem

C, porém é escrito em português. A ideia é facilitar a construção e a leitura dos

algoritmos usando uma linguagem mais fácil aos alunos.

Sintaxe e semântica do Portugol

O compilador auxilia a verificar se a sintaxe e a semântica de um programa

está correta.

Durante os tópicos da ajuda, serão apresentadas as estruturas básicas da

linguagem.

Exemplo da estrutura básica

Bibliotecas

Em todo o algoritmo que se possa elaborar, existe a possibilidade da utilização de um conjunto de funções e comandos já existentes. A estes conjuntos de funções e comandos, dá-se o nome de Bibliotecas.

As bibliotecas contém códigos e dados auxiliares, que provém serviços a programas independentes, o que permite o compartilhamento e a alteração de código e dados de forma modular. Existem diversos tipos de bibliotecas, cada uma com funções para atender a determinados problemas.

Para se utilizar uma biblioteca é necessário primeiro importa-la para o seu programa.

No portugol para importar uma biblioteca usa-se as palavras reservadas inclua biblioteca seguido do nome da biblioteca que se deseja usar, e opcionalmente pode- se atribuir um apelido a ela usando do operador "-->" sem aspas seguido do apelido.

Para usar um recurso da biblioteca deve-se escrever o nome da biblioteca (ou apelido), seguido por um ponto e o nome do recurso a ser chamado como demonstrado abaixo.

No portugol, existem as seguintes bibliotecas:

 Arquivos  Graficos  Matematica  Mouse  Sons

 Teclado  Texto  Tipos  Util

Por uma questão de convenção, é aconselhável deixar o nome da sua constante em caixa alta (todas as letras em maiúsculo)

Para melhor compreensão deste conceito, confira o exemplo abaixo.

Declaração de Função

Se lhe fosse solicitado um algoritmo para preencher uma matriz, você o resolveria correto? Porém, se ao invés de uma matriz fossem solicitadas dez matrizes? Concordamos que o algoritmo ficaria muito cansativo e repetitivo. Mas, e se pudéssemos repetir o mesmo procedimento, quantas vezes necessárias, o escrevendo apenas uma vez? Nós podemos. Para isso, usamos uma função. Função consiste em uma porção de código que resolve um problema muito específico, parte de um problema maior.

Algumas das vantagens na utilização de funções durante a programação são:

 A redução de código duplicado num programa;  A possibilidade de reutilizar o mesmo código sem grandes alterações em outros programas;  A decomposição de problemas grandes em pequenas partes;  Melhorar a interpretação visual de um programa;  Esconder ou regular uma parte de um programa, mantendo o restante código alheio às questões internas resolvidas dentro dessa função;

Os componentes de uma função são:

 O seu protótipo, que inclui os parâmetros que são passados à função na altura da invocação;  O corpo, que contém o bloco de código que resolve o problema proposto;  Um possível valor de retorno, que poderá ser utilizado imediatamente a seguir à invocação da função.

A declaração de função no Portugol é realizada da seguinte forma: Deve-se utilizar a palavra reservada funcao , seguido do tipo de retorno. Quando o tipo de retorno é ocultado, o Portugol assume que o retorno é do tipo vazio. Então, deve-se definir o nome da função seguido de abre parênteses, uma lista de parâmetros pode ser incluída antes do fecha parênteses. Para concluir a declaração deve-se criar o corpo da função. O corpo da função consiste em estruturas dentro do abre e fecha chaves. Quando uma função possui um tipo de retorno diferente de vazio, é obrigatória a presença do comando retorne no corpo da função.

A declaração dos parâmetros é similar a declaração de variável,vetor e matriz sem inicialização e devem ser separados por vírgula. Note que uma função do tipo vazio não tem retorno.

Para funções existem dois tipos de passagens de valores possíveis. São eles: por valor e por referência. A passagem de parâmetros por valor transfere para a função apenas o valor contido na variável, ou seja, a variável em si não terá seu conteúdo alterado. Já a passagem de parâmetro por referência transfere a variável como um todo, modificando a mesma de acordo com os comandos presentes no corpo da função.

A tabela a seguir ilustra uma matriz que armazena três notas de quatro alunos:

Posições 0 1 2 0 10 9 6. 1 6 8 10 2 8 7 4. 3 5.2 3.3 0.

Repare que cada linha da matriz representa um aluno que têm três notas (três colunas).

Assim como o vetor, a matriz também possui todos os elementos de um mesmo tipo. Na declaração de uma matriz temos sempre que indicar respectivamente o tipo de dado, nome da variável, número de linhas e colunas (nesta ordem) entre colchetes.

Para fazer acesso a um elemento da matriz, seja para preencher ou para consultar o valor, devemos indicar dois índices, uma para linha e outro para a coluna. O índice é um valor inteiro (pode ser constante ou uma variável) que aparece sempre entre colchetes "[ ]" após o nome do vetor.

Da mesma forma que o vetor, tentar acessar um índice fora do tamanho declarado irá gerar um erro de execução.

Para melhor compreensão deste conceito, confira o exemplo abaixo.

Declaração de Variáveis

O computador armazena os dados que são utilizados nos programas e algoritmos na memória de trabalho ou memória RAM (Random Access Memory). A memória do computador é sequencial e dividida em posições. Cada posição de memória permite

Declaração de Vetores

Armazenar a nota de um aluno é possível utilizando uma variável do tipo real. Mas para armazenar as notas de todos os alunos de uma turma? Seria necessário criar uma variável para cada aluno? E se cada turma tiver quantidade de alunos variáveis? E os nomes de cada um dos alunos? Poderíamos armazenar estes dados em variáveis, porém o controle de muitas variáveis em um programa não é uma solução prática. Ao invés disso, utiliza-se uma estrutura de dados que agrupa todos estes valores em um nome único. Esta estrutura chama-se vetor.

Um vetor pode ser visto como uma variável que possui diversas posições, e com isso armazena diversos valores, porém todos do mesmo tipo.

Assim como as variáveis, o vetor tem que ser declarado. Sua declaração é similar à declaração de variáveis, definindo primeiro o seu tipo, em seguida do seu nome e por fim a sua dimensão entre colchetes (opcional se for atribuir valores a ele na declaração)

Elementos individuais são acessados por sua posição no vetor. Como um vetor tem mais de uma posição, deve-se indicar qual posição do vetor se quer fazer acesso. Para isso é necessário usarmos um índice.

O índice é um valor inteiro que aparece sempre entre colchetes "[ ]" após o nome do vetor. Adotamos que a primeira posição do vetor tem índice zero (similar a linguagem C) e a última depende do tamanho do vetor. Em um vetor de dez elementos tem-se as posições 0,1,2,3,4,5,6,7,8,9. Já um vetor de quatro elementos tem apenas os índices 0,1,2,3.

Para melhor compreensão deste conceito, confira o exemplo abaixo.

Entrada e Saída

Entrada/saída é um termo utilizado quase que exclusivamente no ramo da computação (ou informática), indicando entrada(inserção) de dados por meio de algum código ou programa,para algum outro programa ou hardware, bem como a sua saída (obtenção de dados) ou retorno de dados, como resultado de alguma operação de algum programa,consequentemente resultado de alguma entrada.

A instrução de entrada de dados possibilita que o algoritmo capture dados provenientes do ambiente externo (fora da máquina) e armazene em variáveis. Assim um algoritmo consegue representar e realizar operações em informações que foram fornecidas por um usuário tais como: nome, idade,salário, sexo, etc. A forma mais comum de capturar dados é através do teclado do computador. Por meio dele o usuário pode digitar números, palavras, frases etc.

Note que quando queremos exibir o valor de alguma variável não utilizamos as aspas. Para exibição de várias mensagens em sequência, basta separá-las com vírgulas.

Existem duas ferramentas importantes que auxiliam a organização e visualização de textos exibidos na tela. São elas:o quebra-linha e a tabulação.

O quebra-linha é utilizado para inserir uma nova linha aos textos digitados. Sem ele, os textos seriam exibidos um ao lado do outro. Para utilizar este comando, basta inserir "\n". O comando de tabulação é utilizado para inserir espaços maiores entre os textos digitados. Para utilizar este comando, basta inserir "\t".

O exemplo a seguir ilustra em portugol o mesmo algoritmo do fluxograma acima, bem como a utilização do quebra-linha e da tabulação.

Leia

Em alguns problemas, precisamos que o usuário digite um valora ser

armazenado. Por exemplo, se quisermos elaborar um algoritmo para calcular a

média de nota dos alunos,precisaremos que o usuário informe ao algoritmo

quais as suas notas. No portugol a instrução de entrada de dados via teclado é

chamada de "leia", pois segue a ideia de que o algoritmo está lendo dados do

ambiente externo(usuário) para poder utilizá-los. O Comando leia é utilizado

quando se deseja obter informações do teclado do computador, ou seja, é um

comando de entrada de dados. Esse comando aguarda um valor a ser digitado

e o atribui diretamente na variável.

Para utilizar o comando leia, você deverá escrever este comando e entre

parênteses colocar a(s) variável (eis) que você quer que recebam os valores a

serem digitados. A sintaxe deste comando está exemplificada a seguir:

Note que para armazenar um valor em uma variável, é necessário que a

mesma já tenha sido declarada anteriormente. Assim como no comando

escreva, se quisermos que o usuário entre com dados sucessivos, basta

separar as variáveis dentro dos parênteses com vírgula.

O fluxograma abaixo ilustra um algoritmo que lê as variáveis: idade, salário,

nome, sobrenome, nota1, nota2 e nota3.

Limpa

À medida que um algoritmo está sendo executado ele exibe mensagens e

executa ações no console. Assim, em alguns casos o console fica poluído com

informações desnecessárias, que atrapalham a compreensão e visualização do

programa. Para isso, podemos usar o comando limpa. O comando limpa é

responsável por limpar o console. Nãorequer nenhum parâmetro e não tem

nenhuma saída. Sua sintaxe é simples, e está demonstrada a seguir:

Para melhor compreensão deste conceito, confira o exemplo abaixo.

Estruturas de Controle

Em determinadas situações é necessário executar ações de acordo com os

dados fornecidos pelo programa. Em alguns casos, pode ser necessário que o

programa execute uma determinada instrução repetidas vezes, por exemplo.

Sendo assim, controlar e manipular a ordem com que instruções serão

executadas em função de dados fornecidos pelo programa é essencial, e é

para isso que servem as estruturas de controle.

Estruturas de controle (ou fluxos de controle) referem-se à ordem em que

instruções, expressões e chamadas de função são executadas. Sem o uso de

estruturas de controle, o programa seria executado de cima para baixo,

instrução por instrução, dificultando assim a resolução de diversos problemas.

Nesta seção, serão abordados os seguintes tópicos:

 Desvios Condicionais

 Laços de Repetição

Desvios Condicionais

Não é só na vida que fazemos escolhas. Nos algoritmos encontramos

situações onde um conjunto de instruções deve ser executado caso uma

condição seja verdadeira. Por exemplo: sua aprovação na disciplina de

algoritmos depende da sua média final ser igual ou superior a 6. Podemos

ainda pensar em outra situação: a seleção brasileira de futebol só participa de

uma copa do mundo se for classificada nas eliminatórias, se isso não ocorrer

ficaremos sem o hexacampeonato.

Estas e outras situações podem ser representadas nos algoritmos por meio de

desvios condicionais.

Nesta seção, serão abordados os seguintes tópicos:

 se

 se-senao

 se-senao-se

 escolha-caso

Escolha Caso

Qual a melhor forma para programar um menu de, por exemplo, uma

calculadora? Esta tarefa poderia ser executada através de desvios condicionais

se e senão , porém esta solução seria complexa e demorada. Pode-se executar