26
UNITAU – Introdução à Computação – Profa Aldete O computador é uma máquina binária (utiliza a base numérica 2 assim como nós utilizamos a base decimal). Os sistemas de numeração posicionais (como no caso destas duas bases) podem ser convertidos matematicamente entre si e permitem operações lógicas e aritméticas. Um computador pode trabalhar com valores numéricos , com valores não numéricos ou com instruções (comandos). Todas estas informações estão representadas internamente através de BIT’s ou conjunto de BIT’s 1 ( Byte = Conjunto de 8 BIT’s). Bases Numéricas: Conversão do Sistema de Numeração Binário para o Decimal 2 Para explicar melhor esta conversão, vamos utilizar um número decimal qualquer, por exemplo o número 594. Este número significa: 5 X 100 + 9 X 10 + 4 X 1 = 594 centena dezena unidade 5 X 10 2 + 9 X 10 1 + 4 X 10 0 = 594 - Regra Geral: 1 Binary digIT é a menor quantidade de informação que o computador pode armazenar. É representado pelos dígitos 0 ou 1 2 Pesquise sobre a conversão de octais e hexadecimais para o sistema decimal

UNITAU – Introdução à Computação – Profa Aldete file · Web viewOs algoritmos de programação ... B_ Principais Blocos do Fluxograma Tradicional (Apenas os blocos básicos)

  • Upload
    vungoc

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

UNITAU – Introdução à Computação – Profa Aldete

O computador é uma máquina binária (utiliza a base numérica 2 assim como nós

utilizamos a base decimal). Os sistemas de numeração posicionais (como no caso destas

duas bases) podem ser convertidos matematicamente entre si e permitem operações lógicas

e aritméticas.

Um computador pode trabalhar com valores numéricos, com valores não numéricos

ou com instruções (comandos). Todas estas informações estão representadas internamente

através de BIT’s ou conjunto de BIT’s1 ( Byte = Conjunto de 8 BIT’s).

Bases Numéricas:

Conversão do Sistema de Numeração Binário para o Decimal2

Para explicar melhor esta conversão, vamos utilizar um número decimal qualquer,

por exemplo o número 594. Este número significa:

5 X 100 + 9 X 10 + 4 X 1 = 594 centena dezena unidade 5 X 102 + 9 X 101 + 4 X 100 = 594

- Regra Geral:

Conversão do Sistema Decimal para o Sistema Binário:

O método matemático mais utilizado para esta conversão é explicado a seguir:

- Parte Inteira do número:3 (Exemplo: número decimal 47)1 Binary digIT é a menor quantidade de informação que o computador pode armazenar. É representado pelos dígitos 0 ou 1

2 Pesquise sobre a conversão de octais e hexadecimais para o sistema decimal3 Conhecido como método das divisões inteiras sucessivas

- Parte fracionária do número: (Exemplo: número decimal 0,375 )

NOTA: os sistemas numéricos octal e hexadecimal também são posicionais e “guardam”

relações práticas diretas com os binários. Por isso são bastante utilizados em computação.

Observe a tabela a seguir:

DEC BIN HEXA (4 bits) OCT (3bits)

0 0 0 0000 0 000

1 1 1 0001 1 001

2 10 2 0010 2 010

3 11 3 0011 3 011

4 100 4 0100 4 100

5 101 5 0101 5 101

6 110 6 0110 6 110

7 111 7 0111 7 111

8 1 000 8 1000 10 001 000

9 1 001 9 1001 11 001 001

10 1 010 A 1010 12 001 010

11 1 011 B 1011 13 001 011

12 1 100 C 1100 14 001 100

13 1 101 D 1101 15 001 101

14 1 110 E 1110 16 001 110

15 1 111 F 1111 17 001 111

: : : :

23 10 111 17 0001 0111 27 010 111

Regra prática de conversão Decimal/Binárioetc... 23 = 8 22 = 4 21 = 2 20 = 1 2-1 = 0.5 2-2= 0.25 etc...

1/2 1/4

expoente positivo exp. zero expoente negativo

Algoritmo

Um algoritmo é um texto estático. Ele existe numa folha de papel, escrita e geralmente lida

de cima para baixo. Para produzir os resultados desejados este algoritmo deve ser executado; temos

então um processo dinâmico. O conceito que relaciona esses dois aspectos é o fluxo de controle,

que determina em cada passo da execução qual é o próximo comando a ser executado.

Resumindo, algoritmo é um conjunto de instruções sem ambigüidades, que seguidas passo a

passo nos levam a um produto final esperado. Ex:Mapa para determinado local, receita de bolo,

troca de pneu de carro, etc ... Os algoritmos matemáticos .... Os algoritmos de programação ...

B_ Principais Blocos do Fluxograma Tradicional (Apenas os blocos básicos)

Início ou Fim

Entrada ou Saída mensagem (leia ou escreva)

Atribuição ←Fluxo de Dados

Conector de mesma página

Conector de páginas diferentes

Estruturas de Seleção:

(a) Simples

Obs: Por vezes esta estrutura é utilizada para repetições, atitude esta que desestrutura o algoritmo.

(b) Estrutura de Seleção Múltipla:

Estruturas de Repetição:

(a) Com contador

(b) Com lógica anterior

(c) Com lógica posterior

ALGORITMOS EM “PORTUGOL” 4

Durante nosso curso iremos aprender a desenvolver nossos Algoritmos em uma pseudo-linguagem conhecida como “Portugol” ou Português Estruturado.

“Portugol” é derivado da aglutinação de Português + Algol. Algol é o nome de uma linguagem de programação estruturada usada no final da década de 50.

OPERADORES (básicos)

1. OPERADORES ARITMÉTICOS

+ Adição- Subtração* Multiplicação/ Divisão

** ou ^ Exponenciação

2. OPERADORES RELACIONAIS

> Maior que< Menor que>= Maior ou Igual<= Menor ou Igual= Igual<> Diferente

3. OPERADORES LÓGICOS (retornam TRUE ou FALSE)

4 Algoritmos e Estruturas de Dados – Guimarães/Lages

não Inversore Um falso ‘falseia’ a respostaou Um verdadeiro torna a resposta Verdadeira

► ORDEM DE EXECUÇÃO: 1 o . Parênteses; 2 o . Funções; 3 o . Operadores Aritméticos (* e / ; depois + e -); 4 o . Operadores Relacionais; 5 o . Operadores Lógicos (Não, e, ou).

FUNÇÕESUma função é um instrumento (Sub–algoritmo) que tem como objetivo retornar um

valor ou uma informação.A chamada de uma função é feita através da citação do seu nome seguido

opcionalmente de seu argumento inicial entre parênteses.As funções podem ser predefinidas pela linguagem ou criadas pelo programador

de acordo com o seu interesse.

BIBLIOTECAS DE FUNÇÕESArmazenam um conjunto de funções que podem ser usadas pelos programas.

FUNÇÕES PRÉ-DEFINIDASABS( ) VALOR ABSOLUTOSQRT( ) RAIZ QUADRADASQR( ) ELEVA AO QUADRADO TRUNC( ) VALOR TRUNCADOROUND( ) VALOR ARREDONDADOLOG( ) LOGARITMOSIN( ) SENOCOS( ) COSSENOTAN( ) TANGENTE

As funções acima são as mais comuns e importantes para nosso desenvolvimento lógico, entretanto, cada linguagem possui suas funções próprias. As funções podem ser aritméticas, temporais, de texto e etc.

VARIÁVEIS5

Variáveis são endereços de memória destinados a armazenar informações temporariamente.

* Todo Algoritmo ou programa deve possuir variável!

VARIÁVEIS DE ENTRADA E SAÍDAVariáveis de Entrada armazenam informações fornecidas por um meio externo,

normalmente usuários ou discos.Variáveis de Saída armazenam dados processados como resultados.

Exemplo:

De acordo com a figura acima A e B são Variáveis de Entrada e C é uma Variável de Saída.

5 www.eletricazine.hpg.com.br www.eletricazine.kit.net (Alessandro Coelho Porto)

TIPOS PRIMITIVOS DE DADOS

INTEIRO ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É UTILIZADO PARA REPRESENTAR UMA CONTAGEM (QUANTIDADE).

REAL ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS). GERALMENTE É UTILIZADO PARA REPRESENTAR UMA MEDIÇÃO.

CARACTEREADMITE CARACTERES ALFANUMÉRICOS. OS NÚMEROS QUANDO DECLARADOS COMO CARACTERES TORNAM SE REPRESENTATIVOS E PERDEM A ATRIBUIÇÃO DE VALOR.

LÓGICO ADMITE SOMENTE VALORES LÓGICOS(VERDADEIRO/FALSO).

COMANDOS DE I/O (INPUT/OUTPUT)LEIA Comando de entrada que permite a leitura de Variáveis de Entrada.ESCREVERA Comando de saída que exibe uma informação na tela do monitor.6

IMPRIMA Comando de saída que envia uma informação para a impressora.

OBS: O programador tem plena liberdade para incluir novas variáveis, operadores ou funções para adaptar o algoritmo as suas necessidades, lembrando sempre, de que, estes devem ser compatíveis com a linguagem de programação a ser utilizada.

COMANDOS DE ENTRADA E SAÍDA :

No algoritmo é preciso representar a troca de informações que ocorrerá entre o mundo da máquina e o nosso mundo, para isso, devemos utilizar comandos de entrada e saída, sendo que, a nível de algoritmo esses comandos representam apenas a entrada e a saída da informação, independe do dispositivo utilizado (teclado, discos, impressora, monitor,...), mas, sabemos que nas linguagens de programação essa independência não existe, ou seja, nas linguagens de programação temos comandos específicos para cada tipo de unidade de Entrada/Saída.

Comando de Entrada de DadosLeia(variável_1, variável_2,...)Comando de Saída de DadosImprima(expressão_1, expressão_2,...)

6 Neste curso vamos considerar “ESCREVA=IMPRIMA”

COMANDOS DE CONTROLE DE FLUXO:

Para representar a solução de um problema devemos escrever o conjunto de passos a serem seguidos, sendo que, a maioria dos problemas exigem uma dinâmica na sua solução, impondo assim que os algoritmos executem conjunto de instruções de acordo com as possíveis situações encontradas no problema original. E de acordo com a Programação Estruturada os mecanismos utilizados para esse controle são : Sequência, Seleção e Repetição.

SEQUÊNCIA : usada para executar comandos passo a passo, sabendo que todos eles serão executados na ordem de escrita, sem nenhum desvio. Uma sequência pode possuir um ou vários comandos, os quais devem ser delimitados pelos identificadores Início e Fim.

InicioComando_1...Comando_nFim

SELEÇÃO : usada para tomar decisões, ou seja desviar a execução do algoritmo de acordo com uma condição, podendo ser simples ou composta.

Simples CompostaSe (Expressão Lógica)Então Sequência_1

Se (Expressão Lógica)Então Sequência_1Senão Sequência_2

REPETIÇÃO : Serve para efetuar um conjunto de ações repetidas vezes. Existem três tipos básicos de repetições, sendo elas.

Enquanto (Expressão Lógica) façaSequência

O comando Enquanto analisa a Expressão Lógica e enquanto o seu resultado for, o valor lógico, Verdade a Sequência é executada.

Para variável valor_inicial até valor_final (passo) façaSequência

O comando Para incrementa, a variável, a partir do valor_inicial de uma unidade, até que, esta atinja o valor_final. E para cada incremento a Sequência é executada..(positivo ou negativo)

FaçaSequência enquanto (Expressão Lógica)

O comando Faça executa a Sequência enquanto o valor retornado pela Expressão Lógica seja Falso

TIPOS DE DADOS

Estruturas formadas por um conjunto de variáveis, permitindo modelar de forma mais natural os dados.

VETOR: estrutura formada por um conjunto unidimensional de dados de mesmo tipo (homogêneo) e possuindo número fixo de elementos (Estático). Na declaração dos vetores devemos informar o seu nome, seu tipo (inteiro, real, caracter, ...), e seu tamanho (número de elementos). Cada elemento do vetor é identificado por um índice (unidimensional), o qual indica a sua posição no vetor.

Declaração :NomeDoVetor : vetor[nº de elementos] de Tipo do VetorReferência :NomeDoVetor[índice]

MATRIZ: estrutura semelhante ao vetor, sendo que, pode possuir n dimensões. Desta forma para fazer referência aos elementos de uma matriz, precisaremos de tantos índices quanto for suas dimensões.

Declaração :NomeDaMatriz : matriz[dimensões: dimensões] de Tipo da MatrizReferência :NomeDaMatriz[índice: índice: ...]

REGISTRO: estrutura formada por um conjunto de variáveis, que podem possuir tipos diferentes (Heterogêneo), agrupadas em uma só unidade.

Declaração :NomeDoRegistro : RegistroDeclaração de VariáveisFimRegistroReferênca :NomeDoRegistro.NomeDaVariávelObs: Podemos ainda definir um vetor formado por registros.

LISTAS: São estruturas de dados bastante versáteis e se caracterizam como estruturas que trabalham com PONTEIROS (apontadores) – os ponteiros são variáveis que não possuem “nome”, apenas apontam para um outro elemento da lista, criando um encadeamento Dinâmico (não aloca posições não utilizadas de memória).

Para criar o tipo abstrato de dados chamado Lista é necessário definir um conjunto de operações usuais7:

1- Criar uma lista vazia;2- Inserir um novo item imediatamente após o i-ésimo item;3- Retirar o i-ésimo item;4- Localizar o i-ésimo item para examinar e/ou alterar o conteúdo de seus

componentes;5- Combinar duas ou mais listas em uma lista única;6- Partir uma lista em duas ou mais listas;7- Fazer uma cópia da lista;8- Ordenar os itens da lista em ordem ascendente ou descendente, de acordo com

alguns de seus componentes;9- Pesquisar a ocorrência de um item com um valor particular em algum componente.

OBS: célula cabeça → aponta para a célula que contém x1.

Em uma implementação de listas através de apontadores, cada item da lista é encadeado com o seguinte através de uma variável do tipo Apontador;

Este tipo de implementação permite utilizar posições não contíguas de memória, sendo possível inserir e retirar elementos sem haver necessidade de deslocar os itens seguintes da lista;

Uma lista é constituída de células. Cada célula contém um item da lista e um apontador

para a célula seguinte.

7 BIGONHA,M.A.S.; ZIVIANI, N Projeto de Algoritmos com Implementação em Pascal e C – Cap.2

Anexo I – O Teclado

- TECLADO

Anexo II - Glossário de termos usados na INTERNET8

Browser: navegador. Programa que permite entrar nas milhares de páginas de empresas

e pessoas que oferecem informações aos usuários da rede. Os mais usados atualmente

são o Netscape e o Explorer.

Chat: bate-papo. Serviço ou programa que permite a conversa ao vivo com outros

usuários por meio de mensagens escritas na tela do computador.

Domain name: nome do endereço, base de um lugar na Internet. Por exemplo:

www.link.com.br

Download: baixar um arquivo, transferindo-o de um computador remoto para o seu

próprio.

DNS (Domain Name Server): servidor de nomes e endereços. É o computador que

resolve ou converte os nomes de endereços a seu equivalente endereço numérico IP

(Internet Protocol).

E-mail: eletronic mail. Correio eletrônico. Troca de mensagens privadas.

E-mail address: endereço eletrônico. Possui o seguinte formato:

[email protected]

FTP (File Transfer Protocol): serviço de transferência de arquivos.

Gopher: serviço de agrupamento de informações por menus.

Home Page: página local, de hipertexto, na www, principal porta de entrada de uma

pessoa, organização, empresa ou tema.

HTML (Hiper Text Markup Language): linguagem de marcação de hipertextos que

inclui os comandos usadosnas páginas www.

HTTP (Hiper Text Transport Protocol): protocolo de transporte de hipertexto.

Indeo (Intel Video): formato de vídeo (imagem e sons combinados).

TCP/ IP (Transmit Control Protocol/ Internet Protocol): protocolo de controle de

transmissão por meio de pacotes de mensagens e protocolo de interconexões entre redes.

São eles que sustentam a Internet.

8 Fonte: AT & T ( http: / / www. Attalo.com)

LINK: ligação. Palavra ou frase usualmente abreviada (ou imagem de determinada cor

que se usa como botão) que serve de conexão ao hipertexto. Assim se cria a telerede de

documentos World Wide Web (www).

Newsgroups: grupos de notícias. Foros de discução, comentários e ajuda por meio de

mensagens públicas.

Quicktime: formato de vídeo (imagem e sons combinados). Para poder acessá-lo, é

necessário configurar um programa visualizador (viewver).

RFC (Request for Coments): acrônimo para pedido de comentários. Abreviatura usada

em textos de correio eletrônico e grupos de notícias (Newsgroups).

Trumpet: programa que gerencia a comunicação em conexões telefônicas.

URL (Uniform Resource Locator): localizador uniforme de fontes. Endereço da fonte

(página www, serviço FTP, etc.).

www (World Wide Web): telerede mundial de documentos multimídia com ligações

hipertexto que apontam para outros documentos.

Anexo III - Veja as medidas a seguir:

1 Byte = 1conjunto de 8 Bits

1 Kilo = 1.000 vezes e um Kilobyte (KB) = 1024 Bytes

1 Mega =1.000.000 vezes e um Megabyte (MB) = (1024 x 1024) Bytes

1 Giga = 1000.000.000 vezes e um Gigabyte (GB) = (1024 x 1024 x 1024) Bytes

1 Tera = 1000.000.000.000 e um Terabyte (TB) = 1024 x 1GB, etc

0 é um bit; 1 é um bit; 01000001 é um Byte;

Byte: Os bytes são utilizados para medir a quantidade de informações que um dispositivo pode armazenar. Entende-se por byte a quantidade de memória necessária para armazenar um caracter qualquer (cada uma das letras do alfabeto, cada um dos dígitos de 0 a 9 e símbolos especiais como o cifrão, asterisco, arroba, porcentagem ou um espaço em branco)