Sei sulla pagina 1di 9

INTRODUÇÃO A COMPUTAÇÃO – PESCA E QUIMICA AULA 04 A 08

ALGORITIMO E LINGUAGENS

2.1 Algoritmo e fluxograma. 2.2 Instruções de um algoritmo. 2.3 Tipos de lin‐ guagens (máquina, simbólica e auto nível) 2.4 programa, tradução e execução

LINGUAGENS DE PROGRAMAÇÃO

3.1 Definição de uma linguagem (PASCAL, FORTRAN ou BASICO) conjunto de caracteres, palavras reservadas e identificadores, tipos de dados simples. 3.2 Declaração de tipo simples. 3.3 Comandos de entrada e saída. 3.4 Comando de atribuição. 3.5 Operadores e expressões. 3.6 Exercícios.

ESTRUTURAS DE CONTROLES

4.1 Comandos repetitivos. 4.2 Comandos seletivos. 4.3 Exercícios em lab.

Tradução e Compilação de Programas

Ao contrário do que alguns pensam o computador não é uma máquina inteligente, ela precisa receber ordens (comandos) explicando exatamente como uma tarefa deve ser feita por ele. Para facilitar o trabalho dos seres humanos que lidam com computadores, foram desenvolvidas Linguagens de Programação para a criação de programas.

Para que programas escritos em linguagens de programação possam ser executados por um computador, é necessário que o mesmo seja traduzido em para Linguagens de Máquina, que são as linguagens que o computador entende.

Então uma Linguagem de Programação é apenas uma especificação sintática e semântica de como usar seus comandos, palavras chaves e etc para escrever instruções para computadores, sendo que um programa escrito nessa linguagem é chamado de programa- fonte. Cada linguagem precisa de um programa que faça a tradução do programa-fonte e existem três tipos de tradução: compilação, tradução e mista. Após este processo temos um programa executável.

As figuras abaixo ilustram a compilação de um programa e a esquerda a execução de um programa.

executável . As figuras abaixo ilustram a compilação de um programa e a esquerda a execução
executável . As figuras abaixo ilustram a compilação de um programa e a esquerda a execução

1

Algoritmos

Algoritmos são uma sequência finita e ordenada de comandos executáveis e não ambíguos, que levam a aplicação de um método para a execução de uma tarefa ou resolução de um problema

Exemplo 1: Algoritmo para troca de um pneu furado

Nome do Algoritmo Expressão condicional
Nome do Algoritmo
Expressão condicional

INICIO TrocarPneuFurado {

} FIM SENÃO

SE (o estepe estiver murcho) {

Chamar o borracheiro; }

SENÃO {

Pegar o macaco e a chave de boca;

Afrouxar com a chave todos os parafusos da roda com o pneu furado;

Levantar o carro com o macaco;

Retirar todos os parafusos da roda;

Retirar o pneu e guardá-lo;

Posicionar o estepe no lugar da antiga roda;

Recolocar e apertar ligeiramente os parafusos;

Baixar o carro;

Apertar fortemente os parafusos;

Guardar as ferramentas;

Levar o pneu furado para o borracheiro;

Corpo do Algoritmo delimitado pelas chaves

} FIM

Exemplo 2: Solução da equação do 2º grau pelo método de Baskara

C

dentro da raiz é chamada de Delta.

Sendo A*x 2

+

B*x +

= 0, então

, lembrando que a parte

INICIO EquacaoGrau2 {

VARIÁVEIS REAIS: a, b, c, x1, x2, delta, real, imag;

LEIA (a, b, c);

Delta b 2 – 4*a*c;

SE ( delta > = 0) {

x1

;

;

x2

ESCREVA (“X1 = “, x1, “ e X2 = “, x2);

} FIM SE

SENÃO {

real – b / 2*a;

;

imag

ESCREVA (“X1 = (“, real, “) + i (“, imag,

“) e X2 = (“, real, “) – i (“, imag, “)”);

} FIM SENÃO

} FIM

Linguagens para algoritmos

Nos exemplos anteriores foram usadas formas de escrever muito semelhante às das linguagens de programação, quando fazemos isso dizemos que escrevemos o algoritmo usando pseudocódigo, quando o texto incorpora menos estas semelhanças dizemos que usamos portugol.

Outra forma de escrita é usando representação gráfica por diagrama de blocos denominados fluxogramas. Porém ao longo da história esta forma caiu em desuso por gerar muitas vezes um programa confuso de entender.

Exemplo 3: O que fazer com uma lâmpada que não funciona

por gerar muitas vezes um programa confuso de entender. Exemplo 3: O que fazer com um

Exemplo 4: Fluxograma para quando um usuário entra com dois números (A e B), testa se A < B.

um usuário entra com dois números (A e B), testa se A < B. Tabela de

Tabela de Principais símbolos de um fluxograma:

um usuário entra com dois números (A e B), testa se A < B. Tabela de

Variáveis

Variáveis correspondem aos espaços na memória principal que são usados para armazenar valores que se pretende que um computador processe. Para facilitar a programação nós damos nomes significativos para as variáveis.

Nomes de variáveis:

Podem ter qualquer tamanho

Não pode conter espaço ou caracteres especiais (aqueles em cima dos números no teclado), acentos, sinais de pontuação, ou símbolos mate máticos

Podem ser usados somente letras, números, _

Devem começar com letra minúscula (não podem começar com número ou _)

usando

A maioria das linguagens de programação diferencia

grafia

minúsculo e m aiúsculo (valor, Valor e vaLor são 3 variáveis deferentes)

Declaração de tipo

A declaração de uma variável faz com que o computador aloque (reserve) um lugar na memória para armazenar o valor que a variável recebe. Porém o conteúdo de uma variável pode ocupar quantidade difere nte de espaço da memória, dependendo do tipo de conteúdo a ser arm azenado, sendo estes:

Inteiro int

Real float, dou ble

Caractere c har

Frase string

A declaração tem a seguinte sintaxe:

VARIAVEL TIPO : lista dos nomes das variáveis deste tipo, sendo separadas por

vírgula.

Exemplo:

INICIO Teste {

VARIAVEIS REAL: x, y;

VARIAVEL STRING: nome[40];

} FIM

Comando de atribuição

Para atribuir valor a uma variável use uma seta () como se valor estivesse entrando na variáv el.

Obs: o valor que é atribuído a variável pode ser um valor numérico, o resultado de uma expressão matemática, lógica, um a letra ou uma frase, sendo que no caso das duas últimas, estas devem vir entre aspas (“).

Ex: nome “ Lilian Oliveira Ramires”;

x 5.4;

y a + b;

Comandos de entrada (teclado, scaner, câmera de foto ou vídeo)

Sintaxe: LEIA (nome da variável que vai receber o valor);

Ex: LEIA (nome);

Comandos de saída (tela, impressora)

Sintaxe: IMPRIMA (item 1, item 2,

, item n);

Cada item para impressão deve ser separado por vírgula, caractere ou frase, este deve vir entre aspas.

Ex: IMPRIMA (“Resultado final =”, total);

Estruturas de Controle

Estrutura Condicional (SE IF)

e quando o item for um

A estrutura condicional "se" (if na maioria das linguagens de programação) permite a tomada de decisões ao longo da execução de um programa. Por exemplo, selecionar qual bloco de instruções deve ser executado dependendo "se" uma condição foi (ou não) satisfeita.

ndo "se" uma condição foi (ou não) satisfeita. Sintaxe 2: Composto SE ( condição) { comandos;

Sintaxe 2: Composto

SE ( condição) { comandos;

} FIM SE SENÃO { coman dos;

} FIM SENÃO

Sintaxe 1: Simples

SE ( cond ição) {

c

omandos;

} FIM SE

Obs: entre os comandos em um SE e/ou SENÃO pode existir a necessidade de tomar outra decisão, nesse caso usarem os um SE simples ou composto dentro daqueles. Esta estrutura é chamada de IF aninhado.

Exemplo 5: Ler um número e imprimir se ele é positivo, negativo ou nulo.

Obs: Vejam que nesse exem plo nós temos uma solução para quando há mais de duas opções a seguir.

INICIO Teste {

VARIAVEL REAL:

LEIA (num);

SE (num > 0) {

num;

Testa‐se uma das opções que não contém nenhuma das ou t ras duas .
Testa‐se uma das opções que não contém nenhuma das
ou t ras duas .

IMPRIMA (“Numero Positivo!”);

} FIM SE

SENÃO {

Com isso, sobram as outras opções no SENÃO, que devem ser testadas novamente.
Com isso, sobram as outras opções no SENÃO, que devem
ser testadas novamente.

SE (num < 0) {

IMPRIMA (“Numero Negativo!”);

} FIM SE

SENÃO {

IMPRIMA (“Numero Nulo!”);

} FIM SE NÃO

} FIM SENÃO

} FIM

Estrutura de repetição 1: (ENQUANTO WHILE)

Usado quando precisamos repetir a execução de um trecho de código, sem que se saiba inicialmente o número de repetições, então se cria uma “chave/teste” para retornar a execução para o passo seguinte após o trecho em repetição.

O loop "enquanto" (while) executa um comando (ou vários) enquanto uma condição for verdadeira.

(ou vários) e nquanto uma condição for verdadeira. Sintaxe: ENQUANTO ( condi ção) { comandos; }

Sintaxe:

ENQUANTO ( condi ção) { comandos; } FIM ENQUANTO

E xemplo 6: Algoritmo para um usuário jogar o jogo da velha contra um computador.

INICIO JogoDaVelha {

EN

Q

UA

NTO ((existir um quadrado livre) E (ninguém perdeu/ganhou o jogo)) {

LEIA (jogada);

SE (existir um quadrado livre) {

Este SE(1) engloba todos os outros
Este SE(1) engloba todos os outros

SE (centro livre) {

Jogue no centro;

} FIM SE

SENÃO {

SE (adversário tem 2 quadrados em linha, com o terceiro

desocupado) {

Jogu e nesse quadrado desocupado;

} FIM SE

SENÃO

SE (há algum canto livre)

Jogue nesse canto;

} FIM SE

} FIM SE NÃO

} FI M SENÃO

} FIM SE

} FIM ENQUANTO

} FIM

Exemplo 7: Algoritmo que calcula o dobro de um número digitado p elo usuário,

e o programa só te

INICIO Dobro {

sendo qu

rmina quando o usuário escolhe um número negativo.

VARIAVEL INTEIRO: num;

IMPRIMA (“Este programa calcula o dobro de um numero \n”);

IMPRIMA (“Quando quiser encerrar o programa digite um numero negativo\n”);

IMPRIMA (“Digite um numero: ”);

LEIA (num);

ENQUANTO (num > 0) {

IMPRIMA (“\nDobro: ”, num * 2, “\n”);

IMPRIMA (“Digite um numero: ”);

LEIA (num);

} FIM ENQUANTO

Lógica Booleana

Operador

Matemática

Linguagem de programação

conjunção

e

&&

disjunção

ou

||

negação

não

!

Tabela do operador “não” !

A

!A

V

F

F

V

Tabela do operador “ou” ||

A

B

A || B

V

V

V

V

F

V

F

V

V

F

F

F

Tabela do operador “e” &&

A

B

A && B

V

V

V

V

F

F

F

V

F

F

F

F