Você está na página 1de 9

DOMÍNIO 1: Introdução à Programação

INTRODUÇÃO
1.1 Linguagens Naturais e Linguagens Formais
Linguagem Natural
- Linguagem falada/escrita
- Não foi projetada pelas pessoas
- Passível de várias interpretações
- Sofre transformações naturais ao longo do tempo
- Os termos e as regras sintáticas e semânticas utilizados surgem depois e têm
como objetivo a sistematização e a organização da linguagem

Linguagem Formal
- Previamente projetada para determinados fins
- Desenvolvidas de modo a evitar equívocos, ambiguidade e redundância
- Os termos e as regras sintáticas e semânticas são previamente estabelecidos
antes da linguagem ser usada

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.
Linguagem de Programação - Sistema de escrita formal: apresenta um método
normalizado para a elaboração das instruções dos programas de computadores,
fazendo uso do conjunto de regras semânticas e sintáticas da linguagem em causa.
Programa (código) - Conjunto de instruções numa linguagem de programação
Instrução - Especificação ao processador da ação a executar
NOTA: Existem milhares de linguagens de programação, ex: #C

1.2 Algoritmos e Pseudocódigos


Uma linguagem de programação tem como objetivo expressar um processo que, com o
auxílio do computador, tende a resolver um problema. Para resolver o problema é
preciso criar um programa numa linguagem escolhida. No entanto, 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 e que seja de fácil conversão para qualquer
linguagem de programação.
Algoritmo: sequência finita de instruções descritas de forma lógica, ordenada, clara e
precisa a fim de resolver o problema (de modo a facilitar a conversão para a linguagem
de programação escolhida. Podem ser escritos no formato: linguagem natural,
pseudocódigo e fluxograma.
Fluxograma: utiliza símbolos gráficos para representar o fluxo das ações necessárias
para resolver o problema
Pseudocódigo: utilizam uma representação textual (narrativa) constituída por palavras
da linguagem natural e pela sintaxe característica das linguagens de programação
estruturada.

CONCEITOS FUNDAMENTAIS
2.1 Introdução
O computador é uma máquina constituída por hardware e software, que tem a
capacidade de receber, armazenar e fornecer dados, depois de processados, de forma
automática, rápida e precisa
Hardware: Conjunto de componentes físicas: processador (manipula os dados e utiliza
as instruções, ambos armazenados na memória principal), memória principal/RAM
(armazena os dados e as instruções de um programa), entradas e saídas (controlam e
executam as operações de leitura e de escrita da informação)
Software: Conjunto de instruções (programas) que fazem funcionar o hardware
Operações Elementares relativas a um Sistema Informático:
- Unidades de Entrada/Input, ex: Ler (valor) - leitura de um valor para uma variável
- Unidade Central de Processamento, ex: R = V * 2 - atribuição de uma expressão a
uma variável
- Unidades de Saída/Output, ex: Escrever (x) - escrita de um dado no ecrã
Estrutura de Escrita de um Programa:
- Dependendo da linguagem, é no cabeçalho do programa onde é indicado o nome
do programa
- A parte declarativa de variáveis
- A parte operativa onde se escrevem as instruções e os comandos necessários
para a execução do programa

2.2 Dados e Tipos de Dados


A informação é a ordenação e organização dos dados de forma que passa a transmitir
uma mensagem compreensiva dentro de um determinado contexto.
Os dados são números, medidas ou valores que sozinhos não transmitem nenhum
conhecimento. Assim, podemos definir dados como sendo elementos sobre os quais
serão efetuadas operações.
Tipos de Dados:
- Numérico: Inteiro/int (4 ou 365) ou Real/float/double (4,3444)
- Lógico: Falso/false ou Verdadeiro/true
- Caracter/char: (‘a’, ‘H’, ‘2’)
- Cadeia de Caracteres/string: (“Letra”, “876”)
NOTA: as string são imutáveis, isso quer dizer que uma string nunca altera o seu
valor, são sempre criadas

2.3 Variáveis e Constantes


As variáveis são identificadores (ex: altura) para designar valores (ex: 3,89) que podem
variar ao longo da execução do programa. As variáveis têm de ser declaradas na parte
declarativa dos programas. Associado a cada uma das variáveis é reservado um espaço
em memória de acordo com o seu tipo de dados (ex: float).
O nome de uma variável, aquando da sua construção, tem de obedecer às seguintes
regras:
- Não deve ser o nome de uma palavra reservada do C# como por exemplo: class,
float, true, else, string, readonly, while, new, …
- Pode ser construído por um ou mais caracteres
- Não deve possuir espaços em branco (NOTA: Para representar um espaço entre
palavras podemos usar “_”)
- O primeiro caracter deve ser sempre uma letra
- Não deve possuir caracteres especiais: ( ) * & % $ # @ ! + - / ? > < . Ç é ã =

Exemplos:

Pseudocódigo C#

As constantes são identificadores para designar valores que não variam ao longo da
execução do programa. São, também, declaradas na parte declarativa, mas precedidas
pela palavra Const. Tal como numa variável, para uma constante é reservado um espaço
em memória de acordo com o dado que lhe foi atribuído e aquando da sua construção,
também tem de obedecer às regras já referidas.

Exemplos:

Pseudocódigo C#

2.4 Instrução de Atribuição


Uma instrução de atribuição tem por finalidade associar um determinado valor a uma
variável. Em C#, para implementar esta operação, utiliza-se o sinal =. Em algoritmia usa-
se uma seta.
NOTA: Quando atribuímos um valor a uma variável, a variável e o valor atribuído devem
ser obrigatoriamente de tipos compatíveis, ou seja, uma variável do tipo int, por
exemplo, não pode receber um valor do tipo string
Exemplos:
Pseudocódigo C#

2.5 Instruções de Entrada e Saída


As instruções de entrada/leitura servem para ler dados exteriores ao programa (input),
que são armazenados em variáveis. Em C#, para a leitura de dados utilizam-se os
métodos Console.Read() ou Console.ReadLine().

NOTA: Em C# esta instrução lê a entrada de dados e atribui-os a uma variável, tudo na


mesma linha.

O Método Console.ReadLine()

• Em C# esta instrução lê a entrada de dados e atribui-os a uma variável, tudo na


mesma linha.
• Essa sequência termina quando o utilizador pressionar a tecla 'ENTER‘. (Instrução
de leitura)
• A sequência de caracteres digitada pelo utilizador será o valor retornado pelo
método ReadLine(), que é atribuído à variável n através da instrução de
atribuição:
n = Console.ReadLine();

Exemplos:
Pseudocódigo C#

As instruções de saída servem para escrever dados para o exterior do programa (output).
Em C#, para a escrita de dados utilizam-se os métodos Console.Write() ou
Console.WriteLine().

O Método Console.WriteLine()

Exemplos:
Pseudcódigo C#
2.6 Operadores e Expressões
Os operadores são elementos matemáticos que atuam sobre os operandos (variáveis e
constantes), numa determinada expressão.
As expressões, por sua vez, são uma combinação de operandos e operadores e que,
uma vez resolvidas, resultam num determinado valor.

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.
- Adição: ( + )
- Subtração: ( - )
- Multiplicação: ( * )
- Divisão: ( / )
- Divisão Inteira: Alg. ( DIV ) C# ( / )
- Módulo: Alg ( MOD ) C# ( % )

Operadores Relacionais/Comparativos
São usados para efetuar comparações entre expressões, resultando sempre um dos
valores lógicos, true (verdadeiro) ou false (falso).
- Igual a: Alg. ( = ) C# ( == )
- Diferente de: Alg. ( <> ) C# ( != )
- Menor que: <
- Maior que: >
- Menor ou igual a: <=
- Maior ou igual a: >=

Operadores Lógicos
Realizam operações lógicas, devolvendo sempre um dos valores lógicos, true ou false.
- Negação: Alg. (NÃO) C# ( ! )
- Conjunção: Alg. (E) C# ( && )
- Disjunção: Alg. (OU) C# ( || )

Prioridade dos Operadores


Em expressões com vários operadores matemáticos, é necessário conhecer as regras de
prioridade para obter os resultados corretos
- 1º Negação
- 2º Multiplicação, Divisão, Módulo
- 3º Aditivo, Subtração
- 4º Igualdade
- 5º Conjunção
- 6º Disjunção
NOTA: Tal como na matemática, o uso de parênteses nas expressões dá prioridade às
operações que se encontram dentro destes relativamente a outras que se encontram
fora dos parênteses.

TESTE E CONTROLO DE ERROS EM ALGORITMIA


O teste e o controlo de erros num algoritmo permitem verificar se este resolve o
problema pretendido. Para isso, utiliza-se a técnica do tracing, que permite acompanhar
passo a passo a execução de um algoritmo, eliminando, desta forma, a possibilidade de
ocorrência de erros.

ESTRUTURAS DE CONTROLO
As estruturas de controlo avaliam o desenrolar das instruções de um programa. Estas
subdividem-se em sequencial, de decisão/seleção e de repetição.

4.1 Estrutura Sequencial


As instruções de um programa são executadas numa determinada sequência sem que
esta possa sofrer alterações através dos dados de entrada.

4.2 Estruturas de Decisão/Seleção


Permitem escolher uma opção, de entre as existentes, para o desenvolvimento de um
programa, executando sequências alternativas de acordo com os dados de entrada.
Subdivide-se em estruturas de:
- Decisão simples
- Decisão composta
- Decisão encadeada
- Seleção Múltipla

4.2.1 Estrutura de Decisão Simples (se... então)


Através da utilização da estrutura de seleção simples apenas são executadas as
instruções quando a condição de seleção for avaliada com o valor lógico True
(verdadeiro); caso contrário, com o valor lógico False.

4.2.2 Estrutura de Decisão Composta (se... então... senão)


Através da utilização da estrutura de seleção composta, podem existir duas opções
possíveis para o desenrolar das instruções do programa e que são selecionadas de
acordo com o valor lógico resultante da avaliação de uma condição ou expressão.

4.2.3 Estrutura de Decisão Encadeada (se... então... senão se... senão)


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

4.2.3 Estrutura de Seleção Múltipla (selecionar caso...)


Numa estrutura de seleção múltipla é possível selecionar uma de múltiplas opções para
o desenrolar das instruções do programa, sendo selecionada de acordo com o valor de
uma variável.

4.3 Estruturas de Repetição ou Ciclos


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.

4.3.1 Ciclo For ( para... até... fazer...)

O ciclo for é um tipo de estrutura de repetição em que inicialmente é conhecido o


número de vezes que o bloco de instruções será repetido. Para tal, utiliza um contador
automático implementado através de uma variável do tipo inteiro.
Inicialização - o contador é inicializado com um determinado valor
Condição - Se a condição for verdadeira, as instruções são executadas senão a
execução do ciclo é terminada.
Iterador – caso a condição seja verdadeira, o contador é incrementado (ou
decrementado) e são executadas instruções
Exemplo: O utilizador começa por inserir um número inteiro (n) para a variável contador
(i) do ciclo for. Em cada iteração (repetição) do ciclo, é inserido pelo utilizador um
número inteiro (num), cujo valor vai sendo adicionado à variável soma, que funciona
como um acumulador. Quando o número de iterações terminar, é calculada a média
tendo por base os valores que foram acumulados na variável soma e o valor do número
de iterações que foi indicado pelo utilizador (n). Por último, é apresentado o resultado do
cálculo da média.

4.3.2 Ciclo While ( enquanto... fazer...)


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 o resultado da avaliação for
True (verdadeiro) o bloco de instruções é executado. Uma vez que a condição ou
expressão lógica é avaliada no início da estrutura, se na primeira avaliação o resultado
for False (falso), o bloco de instruções não chega a ser executado uma única vez.

4.3.3 Ciclo Repeat


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. Até que o resultado da avaliação seja
True(verdadeiro) o bloco de instruções continua a ser executado. Como a condição ou
expressão lógica é avaliada no fim da estrutura, é sempre executado, pelo menos uma
vez, o bloco de instruções.

Você também pode gostar