Buscar

Aula 3 - Algoritmos e Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

FUNDAÇÃO EDUCACIONAL DE CARATINGA – FUNEC 
CENTRO UNIVERSITÁRIO DE CARATINGA – UNEC 
NÚCLEO DE ENSINO A DISTÂNCIA - NEAD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ALGORITMOS E PROGRAMAÇÃO 
LINA 
Talles Penini 
ENGENHARIA 
 
 
CENTRO UNIVERSITÁRIO DE CARATINGA GRADUAÇÃO 
UNEC / EAD ALGORITMOS E PROGRAMAÇÃO 
 
 
NÚCLEO DE ENSINO A DISTÂNCIA - NEAD Página | 2 
Professor: Talles Penini – sistemadeinformacaoead@funec.br 
3. Linguagem de programação 
 
As linguagens de programação possibilita a comunicação entre uma pessoa e um 
computador. Assim como a linguagem natural, as linguagens de programação 
possuem regras que possibilitam o entendimento. Apesar de uma linguagem natural 
ser mais tolerante a erros, as linguagens de programação não permite isso, basta à 
falta de um ponto-e-vírgula para que o computador seja incapaz de compreender o 
que foi descrito. 
 
Ao escrever um algoritmo é necessário seguir a gramática imposta pela linguagem 
de programação utilizada, assim, o compilador conseguirá interpretar o código. Ao 
executar um algoritmo o compilador traduz a linguagem de programação utilizada 
para a linguagem de máquina. 
 
 
3.1 Níveis das Linguagens de Programação 
 
As informações manipuladas pelos computadores são representadas através de dois 
estados. A representação desses estados decorre do fato de que os componentes 
eletrônicos em sua maioria assumem apenas dois estados “ligado” ou “desligado”, 
por exemplo, um circuito elétrico pode estar ligado ou não, ou, um capacitor pode 
estar “carregado” ou “descarregado”, esse sistema de representação é denominado 
sistema binário. 
 
Os algarismos “0” e “1” são utilizados na representação binária. Esses valores 
representam os possíveis valores que um bit (menor unidade de informação 
processada por um computador) pode assumir, esses valores estão associados aos 
valores de tensão presentes nos circuitos elétricos do computador. 
 
Para um ser humano trabalhar com combinações de zeros e uns não seria uma 
tarefa fácil. Imagine como seria escrever um algoritmo utilizando somente 
representações binárias, seria de uma dificuldade enorme realizar esta tarefa. 
Abaixo temos uma representação hipotética de um pseudocódigo que calcula a 
média de duas notas lidas através de uma entrada e sua versão em código binário. 
 
 
Algoritmo em pseudocódigo 
ALGORITMO 
DECLARE valor1, 
 valor2, 
 N : NUMÉRICO 
LEIA valor1 
LEIA valor2 
 
CENTRO UNIVERSITÁRIO DE CARATINGA GRADUAÇÃO 
UNEC / EAD ALGORITMOS E PROGRAMAÇÃO 
 
 
NÚCLEO DE ENSINO A DISTÂNCIA - NEAD Página | 3 
Professor: Talles Penini – sistemadeinformacaoead@funec.br 
N <= (valor1+ valor2) / 2 
FIM_ALGORITMO. 
 
Simulação de conversão de um código escrito em pseudocódigo para código 
binário. 
 
10101001 
10101011 10011001 
 10011010 
 10110011 11001001 
10110100 10110001 
10110100 10110010 
10110011 11100011 10011001 11100001 10011010 11100010 00100010 
10110010 
 
As linguagens de programação foram criadas com o intuito de facilitar, estão mais 
próximas das linguagens naturais, com isso, a programação de computadores se 
torna menos suscetível a erros. Conjuntos de palavras chave e símbolos 
estabelecem comandos e instruções que são utilizados por programadores na 
construção de programas de computador. 
 
As linguagens com essas características são chamadas de linguagens de alto nível, 
já as linguagens que se aproximam da linguagem de máquina (representação 
binária) são denominadas como linguagens de baixo nível. São alguns exemplos de 
linguagem de alto nível: Java, Pascal, Python e C++. Como exemplo de linguagem 
de baixo nível, temos a linguagem Assembly. 
. 
 
3.2 Tradutores e Interpretadores 
 
As linguagens de programação facilitaram o trabalho dos programadores, por outro 
lado impossibilitaram que computadores sejam capazes de compreendê-las, pelo 
fato de que eles conseguem somente manipular códigos binários. 
 
 
Existem dois softwares que são responsáveis para realizar a tradução de uma 
linguagem: os tradutores e os interpretadores. Os tradutores são classificados como 
montadores e compiladores. Ao converter um programa com nível de linguagem de 
montagem (representação simbólica da linguagem de máquina, ex: Asssembly) para 
a linguagem de máquina, o tradutor utilizado é o montador. Já na tradução de 
linguagens de alto nível para a linguagem de montagem o compilador é utilizado. 
Perceba que não existe tradução direta da linguagem de alto nível para a linguagem 
de máquina. Para isso, são executados alguns passos intermediários, sendo um 
deles a tradução para a linguagem de montagem. 
 
CENTRO UNIVERSITÁRIO DE CARATINGA GRADUAÇÃO 
UNEC / EAD ALGORITMOS E PROGRAMAÇÃO 
 
 
NÚCLEO DE ENSINO A DISTÂNCIA - NEAD Página | 4 
Professor: Talles Penini – sistemadeinformacaoead@funec.br 
3.3 Memória e Variáveis 
 
A memória principal do computador ou memória RAM possui componentes 
eletrônicos que são capazes de armazenar dados. Um digito binário (0 ou 1) ocupa 
na memória espaços que são chamados de bit, um conjunto de 8 bits equivalem a 
um byte. A memória é dividida em espaços de um byte de tamanho, cada espaço 
alocado pode ser acessado através de um número único que os identifica. Esses 
números são chamados de endereços de memória e são utilizados para identificar 
onde cada dado está armazenado. 
 
Na programação utilizamos símbolos para representar uma variável, essa por sua 
vez, possui uma posição de memória ou um conteúdo de uma célula. Como 
exemplo, se uma variável de nome y possui valor 20, isto quer dizer que, a posição 
de memória representada pelo símbolo y armazena o valor 20. 
 
Endereço Variável Valor 
0 x 200 
1 y 30,5 
2 z Curso 
... ... ... 
n var -1850,23 
 
 
As variáveis podem conter nomes diversos, desde símbolos conhecidos na 
matemática, como no caso das variáveis x, y e z, até nomes como cpf, endereço, 
var, etc. As variáveis podem armazenar diversos tipos de valores, assim como, a 
variável x armazena um valor inteiro, a z armazena um conjunto de caracteres, as y 
e z armazenam valores fracionários. 
 
 
3.3.1 Identificadores 
 
Os nomes que damos às variáveis, rotinas, constantes e demais componentes num 
programa escrito numa dada linguagem de programação são chamados de 
identificadores. Na seção anterior, por exemplo, utilizamos os identificadores x, y, z 
e var para dar nome às variáveis da Figura 2.4 [18]. As palavras que possuem 
significado especial nas linguagens de programação, como é o caso dos nomes 
dados às estruturas de controle (for, while, if, etc.), tipos de variáveis, dentre outros, 
são chamadas de palavras-chave. 
 
 
Os identificadores são nomes que damos às rotinas, variáveis, constantes e outros 
componentes de uma linguagem de programação. As variáveis utilizadas 
 
CENTRO UNIVERSITÁRIO DE CARATINGA GRADUAÇÃO 
UNEC / EAD ALGORITMOS E PROGRAMAÇÃO 
 
 
NÚCLEO DE ENSINO A DISTÂNCIA - NEAD Página | 5 
Professor: Talles Penini – sistemadeinformacaoead@funec.br 
anteriormente x, y, z e var são identificadores criados por um programador. Existem 
palavras reservadas em linguagens de programação que são palavras-chave e que 
definem tipos de variáveis, estruturas de controle (while, for, if, etc.), dentre outros. 
 
Os identificadores possuem regras básicas em suas formações, que são: 
 
• Os caracteres utilizados são números, letras minúsculas, maiúsculas e o caractere 
sublinha (_); 
 
• O primeiro caractere deve ser uma letra ou o sublinha; 
 
• Não são permitidos espaços em branco; 
 
• Não é permitido utilizar palavras reservadas como identificadores. 
 
 
Veja alguns exemplos de identificadores válidos, abaixo: 
Aa 
Y2 
programacao 
PROGRAMACAO 
valor1 
valor_2 
RG 
cpf 
 
Identificadores inválidos: 
 
3A -> Não pode começar com número. 
Y 2 -> Não pode conter espaço em branco. 
Programacao -> Não é permitido utilizar o caractere cedilha. 
PROGRAMACÃO -> Caracteres especiais como o til (~) não são permitidos. 
for -> for é uma palavra reservada. 
function -> function também é uma palavra reservada. 
 
3.3.2 Tipos primitivos 
 
 
Vimos anteriormente que as variáveis podem armazenar valores de diversos tipos, 
tais como números inteiros, fracionários e um conjunto de caracteres. Os tipos de 
dados ou tipo de variáveis são representados de forma diferente em cada linguagem 
de programação, algumas dando suporte a mais tipos que outras. Embora haja certa 
variação de uma linguagem para outra, a maioria delas dá suporte a 
um grupo de tipos básicos, incorporados na própria linguagem, chamados de tipos 
primitivos. Em C há a possibilidade da criação, por parte do programador, de tipos 
particulares, denominados de tipos derivados. Estudaremos as formas de definirmos 
 
CENTRO UNIVERSITÁRIO DE CARATINGA GRADUAÇÃO 
UNEC / EAD ALGORITMOS E PROGRAMAÇÃO 
 
 
NÚCLEO DE ENSINO A DISTÂNCIA - NEAD Página | 6 
Professor: Talles Penini – sistemadeinformacaoead@funec.br 
tipos derivados no Capítulo 5. Existem três tipos primitivos na linguagem C: números 
inteiros, números de ponto flutuante (números fracionários) e caracteres. Os 
números fracionários são chamados de números de ponto flutuante devido à forma 
como eles são armazenados no computador. Portanto, sempre que você ouvir o 
termo 
ponto flutuante tenha em mente que o tipo de dados em questão diz respeito aos 
números fracionários. 
 
As variáveis podem armazenar vários tipos de dados, como um conjunto de 
caracteres, números fracionários ou inteiros, dentre outros. Cada linguagem de 
programação possui uma forma específica de representar os tipos das variáveis. 
Apesar de algumas diferenças entre as linguagens, a grande maioria delas dá 
suporte a um grupo básico de tipos, que são chamados de tipos primitivos. Abaixo 
temos exemplos de tipos primitivos na linguagem Pascal. 
 
 INTEGER 
 REAL 
 CHAR 
 BOOLEAN 
 STRING[ ] (em que é o tamanho da String) 
 
 
 
3.3.3 Declaração de variáveis 
 
Para que uma variável possa ser utilizada ela necessita ter sido declarada 
anteriormente. Ao definir um identificador e o tipo da variável chamamos isto de 
declaração de variáveis. 
 
Ao declarar uma variável é estabelecida uma relação sobre a quantidade de bits 
necessários para a utilização e é alocado um espaço de memória correspondente ao 
tamanho de bits. 
 
Os tipos das variáveis tem uma relação muito próxima com a função que elas 
exercem em um programa. Caso precisemos armazenar e realizar cálculos sobre a 
idade de alguém, deveremos declarar a variável idade como INTEGER, visto que a 
idade corresponde a um número inteiro positivo. 
Do mesmo modo, como sabemos que a altura de uma pessoa é um número 
fracionário (ex.: 1,80 m), devemos declarar a variável altura como sendo do tipo 
REAL. Variáveis do mesmo tipo podem ser declaradas em uma mesma linha, sendo 
separadas por vírgulas, como na declaração das variáveis dia, mês e ano do 
exemplo anterior. Já variáveis de tipos diferentes devem ser declaradas 
obrigatoriamente de forma separada. 
O tipo CHAR é um tipo simples predefinido padrão que consiste de todos os valores 
do conjunto de caracteres disponível na sua instalação. As variáveis deste tipo 
conterão sempre um único caractere em cada instante. 
O tipo BOOLEAN é um tipo simples predefinido padrão que é definido como um 
 
CENTRO UNIVERSITÁRIO DE CARATINGA GRADUAÇÃO 
UNEC / EAD ALGORITMOS E PROGRAMAÇÃO 
 
 
NÚCLEO DE ENSINO A DISTÂNCIA - NEAD Página | 7 
Professor: Talles Penini – sistemadeinformacaoead@funec.br 
escalar simples cujos valores são FALSE (falso) e TRUE (verdadeiro). As variáveis 
do tipo BOOLEAN assumirão apenas um desses valores em cada instante e serão 
utilizadas em comandos condicionais para direcionar o fluxo do processamento. 
 
A linguagem PASCAL oferece várias opções de tipos para manipulação de dados. 
As três categorias básicas de tipos de dados em PASCAL são: 
 
1) os tipos simples, conhecidos igualmente por tipos escalares e por tipos 
elementares, que tanto podem ser predefinidos (tais como INTEGER, REAL, 
BOOLEAN e CHAR) como podem ser definidos pelo próprio usuário (tipos subfaixa 
e escalar enumerado); 
 
2) os tipos estruturados: ARRAY, STRING, SET, RECORD, FILE e TEXT; 
 
3) o tipo apontador. 
 
 
Exemplos: 
 
var 
 x, y: integer; 
 w, z: real; 
 letra1: char; 
 terminou: boolean; 
 
 
3.4 Fluxo de execução de um programa 
 
Adotamos a linguagem Pascal, pois acreditamos que esta é a melhor linguagem de 
programação para iniciantes. Pascal é uma linguagem que tem os requisitos que 
achamos importantes: é uma linguagem fortemente tipada, com sintaxe 
relativamente simples, possui vários compiladores para diversos sistemas 
operacionais e, finalmente, este compilador apresenta mensagens de erro 
relativamente simples de serem compreendidas. 
 
Um programa em Pascal contém obrigatoriamente um cabeçalho e um programa 
principal. 
 
program exemplo1; 
begin 
 comando 1; 
 comando 2; 
 comando 3; 
end. 
 
O cabeçalho deste programa é a linha contendo a palavra reservada program 
 
CENTRO UNIVERSITÁRIO DE CARATINGA GRADUAÇÃO 
UNEC / EAD ALGORITMOS E PROGRAMAÇÃO 
 
 
NÚCLEO DE ENSINO A DISTÂNCIA - NEAD Página | 8 
Professor: Talles Penini – sistemadeinformacaoead@funec.br 
seguido de um identificador que é o nome deste programa, no caso exemplo1, 
terminado por um símbolo de ponto-e-vírgula (;). 
 
O programa principal é tudo o que está entre as palavras reservadas begin e end, 
terminada em um ponto final (.). Aqui mostramos três “comandos" fictícios, para fins 
desta apresentação. Queremos dizer que o programa vai executar três comandos 
quaisquer. Observe que todos os comandos em Pascal são terminados com um 
ponto-e-vírgula (;). 
 
O importante é que o fluxo de execução do programa obedece a seguinte ordem: 
primeiro executa o comando 1, depois de terminado, executa o comando 2, depois 
de terminado executa o comando 3. Quando este termina, o programa encontra o 
end. e encerra o programa. Na medida em que os conceitos fundamentais forem 
sendo apresentados iremos detalhar melhor os elementos do cabeçalho. 
 
 
 
CENTRO UNIVERSITÁRIO DE CARATINGA GRADUAÇÃO 
UNEC / EAD ALGORITMOS E PROGRAMAÇÃO 
 
 
NÚCLEO DE ENSINO A DISTÂNCIA - NEAD Página | 9 
Professor: Talles Penini – sistemadeinformacaoead@funec.br 
Referências 
 
DE SOUZA, Bruno Jefferson; JÚNIOR, José Jorge Lima Dias; FORMIGA, Andrei de 
Araújo. Introdução a Programação. João Pessoa: UFPB, 2014. 
VASCONCELOS, José; REIS, Luís Paulo. Introdução à Algoritmia e Estrutura de 
Dados. Universidade Fernando Pessoa, 2002. 
CASTILHO, Marcos; SILVA, Fabiano; WEINGAERTNER, Daniel. Algoritmos e 
Estruturas de Dados I, 2020. 
DAURICIO, Juliana Schiavetto. Algoritmos e lógica de programação. Londrina: 
Editora e Distribuidora Educacional S.A., 2015. 
Puga, Sandra; Rissetti, Gerson. Lógica de Programação e Estruturas de Dados. 
São Paulo: Pearson, 2016. 
 
	3. Linguagem de programação
	As linguagens de programação possibilita a comunicação entre uma pessoa e um computador. Assim como a linguagem natural, as linguagens de programação possuem regras que possibilitam o entendimento. Apesar de uma linguagem natural ser mais tolerante a...
	3.1 Níveis das Linguagens de Programação
	Algoritmo em pseudocódigo
	ALGORITMO
	DECLARE valor1,
	valor2,
	N : NUMÉRICO
	LEIA valor1
	LEIA valor2
	N <= (valor1+ valor2) / 2
	FIM_ALGORITMO.
	3.2 Tradutores e Interpretadores3.3 Memória e Variáveis
	A memória principal do computador ou memória RAM possui componentes eletrônicos que são capazes de armazenar dados. Um digito binário (0 ou 1) ocupa na memória espaços que são chamados de bit, um conjunto de 8 bits equivalem a um byte. A memória é div...
	3.3.1 Identificadores
	3.3.2 Tipos primitivos
	3.3.3 Declaração de variáveis
	3.4 Fluxo de execução de um programa

Continue navegando

Outros materiais