0% acharam este documento útil (0 voto)
11 visualizações10 páginas

Linguagen Naturai Linguagen Formai: Linguagem Linguagens Naturais Formais Linguagem Natural

O documento discute as diferenças entre linguagens naturais e formais. As linguagens naturais como o português não foram projetadas e são passíveis de múltiplas interpretações, ao contrário das linguagens formais que são projetadas para evitar ambiguidade. Linguagens de programação são exemplos de linguagens formais usadas para escrever códigos de computador.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
11 visualizações10 páginas

Linguagen Naturai Linguagen Formai: Linguagem Linguagens Naturais Formais Linguagem Natural

O documento discute as diferenças entre linguagens naturais e formais. As linguagens naturais como o português não foram projetadas e são passíveis de múltiplas interpretações, ao contrário das linguagens formais que são projetadas para evitar ambiguidade. Linguagens de programação são exemplos de linguagens formais usadas para escrever códigos de computador.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 10

Linguagens Naturais e Linguagens Formais

● Linguagem - uma forma de comunicação, que utiliza símbolos e determinadas


regras para os combinar.
● Dentro deste contexto, encontram-se as linguagens naturais e as formais.
● A linguagem natural é a linguagem falada ou escrita como, por exemplo, o
português.
● As linguagens naturais não foram projetadas pelas pessoas.
● São passíveis de várias interpretações e sofrem transformações naturais ao
longo do tempo.

Linguagem Associação de formas com significado

Sintaxe Especificação da combinação das formas

Semântica Especificação dos significados

● As linguagens formais são previamente projetadas para determinados fins.


● São delineadas de modo a evitar equívocos na utilização dos termos como, por
exemplo, a Matemática e as linguagens de programação de computadores.
● Ao contrário das linguagens naturais, as formais são desenvolvidas de forma a
evitar a ambiguidade e a redundância.
● Numa linguagem formal, os termos e as regras sintáticas e semânticas são
previamente estabelecidas antes da linguagem ser usada.

Não projetadas pelas pessoas


Linguagem natural
Passível de várias interpretações

Previamente projetada para determinados fins.


Linguagem formal
Evita ambiguidades e redundância.

● Um programa de computadores é constituído:


○ por uma sucessão de instruções que permitem especificar ao
processador da máquina as ações consecutivas a executar sobre um
conjunto de dados.
● Estes programas são escritos, isto é, codificados, com recurso às linguagens de
programação.
● As linguagens de programação são projetadas para aproximá-las à linguagem
humana, isto porque as linguagens-máquina apenas manipulam dados binários,
isto é, uma sucessão dos valores lógicos 0 e 1.
● As linguagens de programação apresentam um método normalizado para a
elaboração das instruções dos programas de computadores fazendo uso do
conjunto de regras sintáticas e semânticas da linguagem em causa.
● As linguagens de programação, entendidas pelos computadores, são linguagens
construídas, isto é, do tipo formal.
Sistema de escrita formal, constituído por um
Linguagem de programação conjunto de regras para a escrita de programas
de computador

Conjunto de instruções numa linguagem de


Programa (código)
programação

Instrução Especificação ao processador da ação a executar

● A 1ª geração corresponde às linguagens de mais baixo nível, a


linguagem-máquina, enquanto as de alto nível se aproximam da compreensão
dos seres humanos,
● Cada instrução destas últimas equivale a várias instruções da
linguagem-máquina.

Algoritmos e Pseudocódigos
● Uma linguagem de programação tem como objetivo expressar um processo
que, com o auxílio de um computador, tende a resolver um problema. Para
resolver o problema é preciso criar um programa numa linguagem escolhida.
● Para efetuar a passagem do problema para o programa, convém elaborar um
algoritmo que possibilite a compreensão e a descrição do problema que seja de
fácil conversão para qualquer linguagem de programação.
● Sendo assim, um algoritmo é uma sequência finita de instruções descritas de
forma lógica, ordenada, clara e precisa a fim de resolver o problema.

Problema O que se pretende resolver



Algoritmo Sequência finita de instruções descritas de forma lógica, ordenada,
⇩ clara e precisa
Programa Algoritmo codificado numa linguagem de programação

● Um algoritmo pode ser escrito com o auxílio de uma linguagem natural,


utilizando expressões precisas.
● Mas existem outros modos de especificação:
○ fluxograma
○ pseudocódigo
● Os fluxogramas utilizam símbolos gráficos para representar o fluxo das ações
necessárias para resolver um problema.

Início ou Entrada ou Processo/ Decisão/


Conexão Linha de
fim do saída de operação comparação fluxo
algoritmo dados
● Os pseudocódigos utilizam uma representação textual (narrativa) constituída por
palavras da linguagem natural e pela sintaxe característica das linguagens de
programação estruturada.
● Não existe uma notação standard do pseudocódigo mas no quadro
apresentam-se alguns elementos presentes numa linguagem de programação
estruturada e que servem para notações em pseudocódigo.

Estrutura Elemento

Variáveis
Dados
Constantes

Números, Lógicos, Caracteres, Cadeia de Caracteres


Tipos de dados
Estruturados (array, record, string, set file)

Aritméticos
Relacionais
Operadores
Lógicos
De cadeia de caracteres

Atribuição
Instruções básicas De entrada
De saída

Sequencial
Estrutura de controle Decisão ou seleção
Repetição ou de círculos

● Para construir um algoritmo é necessário:


1. Compreender o problema (o que se pretende).
2. Identificar os dados de entrada (os dados fornecidos e a sua situação
inicial).
3. Identificar as operações de processamento (os dados resultantes do
processamento).
4. Identificar as operações de processamento (os cálculos e as restrições
para a obtenção dos dados de saída a partir dos dados de entrada).
5. Elaborar o algoritmo, definindo:
a. As variáveis necessárias para armazenar as entradas e efetuar o
processamento.
b. As instruções necessárias.
6. Testar o algoritmo.
● Numa abordagem estruturada, os programas podem ser divididos em duas
partes:
○ Na 1ª, declaram-se os dados e as variáveis;
○ Na 2ª, definem-se as instruções que concretizam as operações
necessárias.
Conceitos Fundamentais
● O computador é uma máquina constituída por hardware e software, que tem
capacidade para receber, armazenar e fornecer dados, depois de processados,
de forma automática, rápida e precisa.

Hardware Conjunto de componentes físicos

Software Conjunto de instruções (programas) que fazem funcionar o hardware

● O trabalho realizado por um computador é baseado em operações que


envolvem os seguintes componentes:
○ Processador (CPU) - que manipula os dados e utiliza instruções que se
encontram armazenados na memória principal:
○ Memória principal - armazena os dados e as instruções de um programa;
○ Entradas e saídas - controlam e executam as operações de leitura e
escrita da informação através dos periféricos (ex: disco, pen, …)
● Assim, todo o programa é inscrito dentro de um bloco principal. Fazem parte do
bloco principal do programa:
○ Cabeçalho do programa - onde se indica o nome do programa;
○ Parte declarativa - de variáveis, procedimentos e funções, entre outros
elementos;
○ Parte operativa - onde se escrevem as instruções e os comandos
necessários para a execução do programa.

Dados e Tipos de Dados


● Para definir elementos sobre os quais serão efetuadas operações, de acordo
com a sua natureza podem estar associados a diferentes tipos.
● Um determinado formato de dados está associado a um conjunto de valores.

Tipo de dados numérico Bytes ocupados

Integer (inteiro) 2

Longint (inteiro longo) 4

Shortint (inteiro curto) 1

Byte (inteiro) 1

Real (real) 6
Tipo de dado lógico Bytes ocupados Intervalo de Valores

Boolean (booleano) 1 True or False (Verdadeiro ou Falso)

Tipo de dado caracter Bytes ocupados Intervalo de Valores

Char (caracter) 1 Qualquer elemento da tabela ASCII

Tipo de dado cadeia de caracteres Valores

String (texto) Até 255 elementos da tabela ASCII

Tipo de dado estruturado Valores

Tipo identificado por um único nome.


Array (vetor) A sua estrutura é definida por vários elementos do
mesmo tipo.

Tipo formado por elementos do mesmo tipo ou


File (ficheiro)
diferente. O file é um tipo de dado em disco.

Variáveis e Constantes
● Variáveis - identificadores para designar valores que podem variar ao longo da
execução do programa. (ex: no Pascal a declaração faz-se var idade)
● O nome de uma variável deve obedecer às seguintes regras:
○ Não deve usar palavras reservadas;
○ Pode ser constituído por um ou mais caracteres;
○ Não deve ter espaços em branco;
○ O 1º caracter deve ser sempre uma letra;
○ Não deve possuir caracteres especiais.

Operadores e Expressões
● Os operadores - elementos matemáticos que atuam sobre os operandos
(variáveis e constantes). numa dada expressão.
● As expressões são uma combinação de operandos e operadores que resultam
num dado valor.
● Os Operadores Aritméticos permitem a realização de operações matemáticas
com valores do tipo numérico, cujo resultado é ainda um valor do tipo numérico.

Operador Operação Exemplo Resultado

+ Adição a = 5 + 3; a = 8:

- Subtração b = a - 4; b = 4:

* Multiplicação c = b * a; c = 32

/ Divisão n = c /2; n = 16

DIV Divisão Inteira y = 15 DIV 2; y = 7 (divisão inteira de 15 por 2)

z = 1 (resto da divisão inteira de 15


MOD Módulo z = 15 MOD 2;
por 2)

● Os Operadores Relacionais são utilizados para efetuar comparações entre


expressões, resultando sempre um dos valores lógicos, true (verdadeiro) ou
false (falso). (No quadro vamos considerar a = 12 e b = 5)

Operador Operação Exemplo Resultado

= Igual a a=b False

<> Diferente de a <> b True

< Menor que a<b False

> Maior que a>b True

<= Menor ou igual a a <= b False

>= Maior ou igual a a >= b True

● Os Operadores Lógicos realizam lógicas, devolvendo sempre um dos valores


lógicos, true (verdadeiro) ou false (falso). (No quadro vamos considerar a = 12, b = 5 e c = 2)

Operador Operação Exemplo Resultado

NOT Não [negação] NOT (a > b) False

AND E [conjunção] (a > b) AND (b > c) True

OR Ou [disjunção inclusiva] (a < b) OR (c > a) False

XOR Disjunção exclusiva (c > a) XOR (b > c) True


Propriedade dos Operadores
● Em expressões com operadores matemáticos, é necessário conhecer as regras
de prioridade para obter resultados corretos.

Prioridade Operador

1ª NOT
Tal como na matemática, o uso de parênteses
2ª *, /, DIV, MOD, AND ( ) nas expressões dá prioridade às operações
dentro destes.
3ª +, -, OR, XOR

4ª =, <>. <, <=, >=, >

Teste e Controlo de Erros em Algoritmia


● Permitem verificar se um dado algoritmo resolve o problema pretendido usa-se
a técnica do Tracing (traçagem)
○ que permite acompanhar passo a passo a execução de um algoritmo.
● O Tracing consiste em testar um algoritmo com valores de entrada, observando
o comportamento interno ao longo dos vários passos que compõem o
algoritmo.
● Para implementar esta técnica:
○ Começa-se por criar uma tabela;
○ Coloca-se na 1ª linha as variáveis, as condições ou expressões lógicas e
as operações a testar;
○ Depois vão-se enumerando os passos na 1ª coluna;
○ Preenche-se a tabela passo a passo, atribuindo às variáveis valores de
entrada, executando as operações do algoritmo.

Estruturas de Controlo
● Avaliam o desenrolar das instruções de um programa;
● Estas subdividem-se em:
○ Estrutura Sequencial;
○ Estrutura de Decisão ou Seleção;
○ Estrutura de Repetição ou Ciclos.
Estrutura Sequencial
● Neste tipo de estrutura, as instruções do programa são executadas na sequência
definida, sem que sofra alterações.
● Nos diapositivos que se seguem é apresentado um exemplo:

Cálculo do valor Total de um produto

Pseudocódigo

Algoritmo Total_produto ;
Variável quantidade : inteiro ;
total, preco : real ;
designa : texto ;

Início
Escrever (“Digite a designação do
produto”) ;
Ler (designa) ;
Escrever (“Digite o preço por uma unidade
de produto”) ;
Ler (preco) ;
total ← quantidade * preco ;
Escrever (“O valor total do produto * ,
designa, “ é “ , total) ;
Fim.

Estruturas de Decisão ou Seleção


● Permitem escolher uma opção, de entre as existentes para o desenvolvimento
do programa, executando sequências alternativas de acordo com os dados de
entrada.
● Subdividem-se em estruturas de:
○ Seleção simples;
○ Seleção composta;
○ Seleção encadeada;
○ Seleção múltipla.

Estruturas de Seleção Simples


● Com este tipo de estrutura apenas são executadas as instruções quando a
condição de seleção for avaliada com valor lógico True;
● Com o valor a False, o programa continua a execução das instruções fora da
estrutura de seleção simples;
Estruturas de Seleção Composta
● Podem existir duas opções possíveis para o desenrolar das instruções do
programa e são selecionadas de acordo com o valor lógico.

Estruturas de Seleção Encadeada


● Podem existir várias opções encadeadas para o desenrolar das instruções do
programa.
● Cada uma das opções pode ser selecionada de acordo com o valor lógico
resultante da avaliação da condição ou expressão.

Estruturas de Seleção Múltipla


● É possível selecionar uma de várias opções para o desenrolar das instruções do
programa, sendo selecionada de acordo com o valor inserido.

Estruturas de Repetição
● Permitem repetir um conjunto de instruções de um programa, controlado pelo
resultado lógico da avaliação de uma condição ou expressão:
○ Ciclo For (Para);
○ Ciclo While (Enquanto);
○ …

Ciclo For (Para)


● É um tipo de estrutura em que é inicialmente conhecido o número de vezes que
o bloco de instruções será repetido;
● Para tal, utiliza um contador automático, através do uso de uma variável do tipo
inteiro;
○ O valor desta variável vai ser incrementado (To) ou decrementado (Down
to);
○ Resulta na realização de uma contagem crescente ou decrescente do
número de repetições (indicadas no ciclo)
Ciclo While (Enquanto)
● É um tipo de estrutura em que o número de vezes a repetir o bloco de
instruções é controlado pelo resultado da avaliação de uma condição ou
expressão lógica.
● Enquanto se verificar o valor lógico verdade da condição, o bloco de instruções
é executado, quando for falso terminará a execução das ações.

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy