Programa - Bem-vindo ao Dziva Ngutu!

Transcrição

Programa - Bem-vindo ao Dziva Ngutu!
UNIVERSIDADE
PEDAGÓGICA
Programa da Cadeira......!
•
Linguagens de programação
–
–
–
–
–
–
–
Linguagens de Alto Nível Comparadas com Linguagens de Baixo Nível
Linguagens de primeira geração
Linguagens de Segunda Geração
Linguagens de Terceira Geração
Linguagens de quarta geração
Novas direções das linguagens de programação
Processadores de Linguagens
• Processamento de linguagens
– Interpretação
– Compiladores
•
Origem e Introdução ao C
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
Sobre C
Evolução de C
Estrutura de um programa C
Compilando um programa C
Simples programa em C
Conjunto de caracteres em C
Palavras reservadas em C
Hierarquia dos operadores
Tipos de dados básicos
Qualificadores usado com tipos de dados básicos
Variáveis em C
Declaração de tipo
Função de saída, de entrada e especificadores de format
Operadores aritméticos, unários, relacionais e lógicos
Restrições em C.
• Tipos de dados, operadores e declarações
– Identificadores e palavras-chave
– Constantes (constantes String, constantes numéricas, constantes de
caracteres)
• Estruturas de Decisão e de repetição, ramificações
–
–
–
–
–
Porque das estruturas de controle?
Estruturas de desisao if, if else
Estruturas de repeticao For, While e Do While
Instruções break e continue
Instrução switch e instrução goto
 Matrizes e Manuseio String
•
•
•
•
•
•
•
•
•
•
•
•
•
Introdução às matrizes
Vantagens de matrizes
Tipos de matrizes
Declaração de matrizes
Inicialização de matriz
Acessando dados em matrizes
Matrizes dentro da memória
Matrizes multidimensionais
Matrizes de caracteres
Estouro de matrizes
Variáveis String
Leitura e escrita de strings
Cadeia de manipulação de funções.
Functions definidas pelo
usuário
•
•
•
•
•
•
•
•
•
•
Introdução às funçõe
Vantagens de funções
Declarando uma função
Chamada de uma função
Variáveis
Passagem de argumentos para
uma função
Funções aninhadas
Passando matrizes para funções
Recursividade em funções
Chamada por valor e chamada
por referência.
 Ponteiros
•
•
•
•
•
•
•
•
Introdução à ponteiros
Variações de ponteiro
Alocação dinâmica de memória
Ponteiros e matrizes
Ponteiros para ponteiros
Funções que retornam ponteiros
Matrizes bidimensionais e ponteiros
Matriz de ponteiros.
Gerenciamento de arquivo
em C
• Definir e abrir um arquivo
• Fechar um arquivo
• Operações de entrada e saida em
arquivo
• Tratamento de erros durante as
Estruturas e Unions
operações de entrada e saida
•
•
•
•
•
•
• Acesso aleatório de arquivos.
Definição da estruturas
Inicialização de Estruturas
Matrizes de estruturas
Matrizes dentro de estruturas
Estruturas e funções
Unions.
O que é um computador? Para que serve?
• Um computador é uma coleção de Componentes que realizam
operações lógicas e aritméticas sobre um grande volume de
dados;
• Computador é ferramenta de trabalho (ex. editores de textos,
planilhas, sistemas de informação, etc).
• Computador é mídia: serve como canal na comunicação humana
(ex. FAX, Web, ICQ, apresentação multimídia, etc).
O que é um computador? Para que serve? (Cont ...)
• Dispositivo elétrico concebido para manipular dados com rapidez
e precisão.
• Recebe dados de entrada de forma automática e os processa de
modo a obter informação de saída, com base num conjunto
detalhado de instruções.
Como funciona um computador?
Organização Básica de um Computador
Como funciona um computador?
• É um dispositivo elétrico
– Eletricidade
01010101010101010101010101010
Ex:
a = 11011001
– Bit = Menor unidade da informática
– Byte = 8 bits = uma palavra para o computador
–
–
–
–
1 Kilobyte ou Kbyte ou KB = 1024 bytes
1 Megabyte ou Mbyte ou MB = 1024 Kilobytes
1 Gigabyte ou Gbyte ou GB = 1024 Megabytes
1 Terabyte ou Tbyte ou TB = 1024 Gigabytes
Gerações dos Microcomputadores
• 1ª Geração = válvulas
• 2ª Geração = Transistores
• 3ª Geração = Circuitos Integrados e a
Miniaturização
• 1ª Geração = Válvulas
– Eniac ocupava uma sala e pesava 30 toneladas. Consumia
150Kw para realizar 5000 cálculos por segundo
• 2ª Geração = Transistores
– Precisava de menos potência
– 100 vezes menor
– Não precisava aquecer
– Início do uso comercial
• 3ª Geração = Circuitos Integrados e a Miniaturização
– Milhões de transistores integrados em um único transistor
– Miniaturização, Início do uso pessoal
– Surge a Linguagem de alto Nível
• 4ª Geração
– Computadores pessoais
– Programação OO
– Interligação de Sistemas através de Redes de Computadores de
alta velocidade
– Uso de supercomputadores para previsão de catástrofes,
cálculos físicos, médicos e outras áreas
– Internet e informação em tempo real;
• 5ª Geração
– Computador de Neurônios
– Integração de todos os aparelhos de comunicação em um só
aparelho
– Acesso à internet via televisão
Componentes de um Sistema Computacional
• Hardware
• Software
• Usuário
HARDWARE
Dispositivos do Computador
• Os dispositivos do computador se dividem em duas partes:
– Dispositivos de Entrada
– Dispositivos de Saída
– Dispositivos de Entrada e Saida
Dispositivos de Entrada
Todo o dispositivo que permite a entrada de dados no computador;
Ex: Teclado, Mouse, Scaner, Web Cam
Dispositivos de Saída
Todo o Dispositivo que permite a saída de dados ou informações
processadas pelo computador;
Ex: Monitor, caixa de som, impressora,plotter
Dispositivos de Entrada e Saída
Todo o Dispositivo que permite a entrada e saída de dados ou
informações processadas pelo computador;
Ex: Drives de Diskette, Pen-drive, Modem, gravadores de CD e DVD
Software
– Conjunto de instruções sequenciais destinado a orientar
um sistema de computador na execução de passos.
– Não é possível conceber um sistema de computador sem
hardware, e este, por sua vez é inútil sem o software
– Hardware = parte física do computador
– Software = parte lógica do computador
Software = Programa de Computador;
Normalmente desenvolvidos em linguagem de alto nível;
Utilizados nas mais diversas áreas.
Classificação do software
•
•
•
•
Sistemas Operacionais
Linguagens de Programação
Aplicativos
Programas especializados
Sistemas Operacionais
É o básico para que um computador funcione
• Ele gerencia o hardware e possibilita que outros programas
possam ser executados no computador
Ex: Windows, UNIX, OS2
Aplicativos
Qualquer sistema ou programa que processe dados e gere
informações como saída.
Ex: Word, Sistema Contábil, um Site, gestor de projetos
Programas especializados
Sistemas especializados em uma determinada área
Ex: Controle de tráfego aéreo, gestão de empresas...
Linguagens de Programação
Ambientes de desenvolvimento que são utilizados para a criação e
modelagem de programas e sistemas.
Pascal, JAVA, HTML, DELPHI, ASP
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
interface
type
calculo = Class
valor1 : real;
valor2 : real;
valor3 : real;
valor4 : real;
function media (valor:calculo):real;
public
resultado : integer;
Function soma(var v1:integer;v2:integer):integer;
Procedure CalculaValor();
private
protected
end;
{ calculo }
procedure calculo.CalculaValor();
begin
resultado:=form1.va1 + Form1.va2;
end;
function calculo.media(valor: calculo): real;
begin
result:=(valor.valor1+valor.valor2+valor.valor3+valor.valor4)/4;
end;
Function calculo.soma(var v1: integer; v2: integer):integer;
begin
result:=v1+v2;
end;
Algoritmos
O que é algoritmo? Qual sua relação com programação de
computadores?
Algoritmo
Conjunto de regras e operações bem definidas e
ordenadas, destinadas à solução de um problema, ou de uma
classe de problemas, em um número finito de etapas.
– Programa
Sequência completa de instruções a serem
executadas por um computador De acordo com um algoritmo.
Algoritmo e Programação
• O algoritmo, do ponto de vista computacional, tem um papel
fundamental por ser o elo de ligação entre dois mundos (real e
computacional).
• A atividade de programação começa com a construção do
algoritmo.
Algoritmo e Programação
Algoritmo
Algoritmo: trocar lâmpada
• Passo 1: pegar a lâmpada nova.
• Passo 2: pegar a escada.
• Passo 3: posicionar a escada embaixo da lâmpada queimada.
• Passo 4: subir na escada com a lâmpada
• Passo 5: Retirar a lâmpada queimada.
• Passo 6: Colocar a lâmpada nova.
• Passo 7: Descer da escada.
• Passo 8: Ligar o interruptor.
• Passo 9: Guardar a escada.
• Passo 10: Jogar a lâmpada velha no lixo.
Algoritmo
• Passo 1: Ir até o caixa eletrônico.
• Passo 2: Colocar o cartão.
• Passo 3: Digitar a senha.
• Passo 4: Solicitar o saldo.
• Passo 5: Se o saldo for maior igual à quantia desejada, tirar a
quantia desejada;
- Caso contrário tirar o valor do saldo.
• Passo 6: Retirar dinheiro e cartão.
• Passo 7: Sair do caixa eletrônico..
FORMAS DE REPRESENTAÇÃO Cont…
Existem três formas de representação de algoritmos:
• Fluxograma - Representação gráfica.
• Pseudocódigo - Linguagem estruturado
• Descrição Narrativa - Representação textual.
FORMAS DE REPRESENTAÇÃO Cont…
Fluxograma
• A representação gráfica é mais concisa que a representação textual.
• É necessário aprender a simbologia dos fluxogramas.
Pseudocódigo
• A transcrição para qualquer linguagem de programação é quase
direta.
• É necessário aprender as regras do pseudocódigo.
Fluxograma.
Representação gráfica por meio de símbolos geométricos, da
solução algorítmica de um problema.
Inicio
Fim
Calculo
Cond
ição
Fluxo de dados
Saida
Pseudo-código
• Pseudocódigo é uma forma genérica de escrever um algoritmo,
utilizando uma linguagem simples sem necessidade de conhecer
a sintaxe de nenhuma linguagem de programação.
• É, como o nome indica, um pseudo-código e, portanto, não pode
ser executado num sistema real
•
•
•
•
•
•
Início – Indica o início de um bloco;
Fim – Indica o final de um bloco;
Programa – Define o nome do programa;
Var – Lista de variáveis usadas;
Leia – Lê um determinado dado do teclado;
Escreva – Imprime um valor na tela.
Exemplo de pseudocódigo
Programa TESTE
Var
a, b,c: inteiro;
Início
Leia (a, b, c);
Escreva (a,b,c);
Fim
Linguagem natural
Controle de execução: Condição
Uma instrução de decisão, também designada por instrução
condicional ou instrução de selecção, permite tomar uma decisão
quanto ao fluxo de execução entre dois ou mais caminhos de
execução distintos, dependendo da resposta a uma pergunta
/condição que é colocada.
Representação da condição em
pseudocódigo:
Se (condição for verdadeira)
<acção a executar se condição
verdadeira>
Caso Contrário
< acção a executar se
condição falsa>
Fim Se
Se (a>b) então
Escreva “a é maior que b”
Caso Contrário
Escreva “b é maior que a”
Fim Se
Representação da condição em fluxograma
Controlo da Execução - Repetição
O ingrediente final necessário é a capacidade para realizar a
repetição de uma ou várias instruções.
A repetição pode ser por um determinado número de vezes ou
enquanto uma determinada condição for verdadeira.
Representação da repetição em pseudocódigo:
Enquanto (condição verdadeira)
<acção se condição verdadeira>
Fim Enquanto
Representação da repetição em fluxograma:
Exemplo
VARIÁVEIS
Variável
O computador possui uma área de armazenamento conhecida como
memória.
Todas as informações existentes no computador estão ou na memória
primária ou na memória secundária.
A memória do computador pode ser entendida como uma sequência
finita de caixas, que num dado momento, guardam algum tipo de
informação, como número, uma letra, uma palavra, uma frase etc.,
não importa, basta saber que lá sempre existe alguma informação.
O computador, para poder trabalhar como alguma destas
informações, precisa saber onde, na memória, o dado está
localizado.
Cada posição de memória, possui um endereço, ou seja, um número,
que indica onde cada informação está localizada. Este número é
representado através da notação hexadecimal.
Endereço Físico
5010: B712
7010: 12EC
2040: 0004
Informação
‘ESTEC’
2014
‘U’
Observando, o endereçamento das posições de memória através de
números hexadecimais é perfeitamente compreendido pela máquina,
mas para nós humanos torna-se uma tarefa complicada.
Pensando nisto, as linguagens de computador facilitaram o
manuseio, por parte dos user, das posições de memória da máquina,
permitindo que, ao invés de trabalhar diretamente com os números
hexadecimais, fosse possível dar nomes diferentes a cada posição de
memória.
Esses nomes seriam de livre escolha do utilizador. Com este recurso,
os utilizadores ficaram livres dos endereços físicos e passaram a
trabalhar com endereços lógicos
Endereço Físico
Nome
número
letra
Informação
‘ESTEC’
12345
‘U’
Os endereços lógicos são como caixas, que num dado instante
guardam algum tipo de informação.
Mas é importante saber que o conteúdo desta caixa não é algo fixo.
Com isto quero dizer que o conteúdo de uma destas caixas ( endereço
lógico ) podem variar, isto é podem sofrer alterações em seu
conteúdo.
Tendo este conceito em mente, a partir de agora iremos chamar de
forma genérica, as caixas ou endereços lógicos, de variáveis.
Desta forma podemos dizer que uma variável é uma posição de
memória, representada por um Nome simbólico ( atribuído pelo
utilizador ), a qual contém, num dado instante, uma informação.
Formação de Variáveis
Uma variável é formado por uma letra ou então por uma letra
seguida de letras ou dígitos, em qualquer número
Regras para a sua formação
• Não é permitido o uso de espaços em branco ou de qualquer outro
caractere, que não seja letra ou dígito
Conteúdo de uma Variável
Dados
- Elementos conhecidos de um problema
Informação
- Um conjunto estruturado de dados, transmitido conhecimento
As variáveis só podem armazenar valores de um mesmo tipo, de
maneira que também são classificadas como sendo numéricas,
lógicas e literais.
Tipos de Variáveis
Constantes
Invariantes em todas as programa
Variáveis
Podem variar em todas as programa
Tipos de Dados
Em programação exige-se que no momento que se trabalha com
variáveis, indiquemos o tipo de informação que ela pode conter
Para isto, a linguagem Pascal possui definido alguns tipos que
deverão ser usados quando declara-se variáveis.
Algoritmo
a) Inteiro
b) Real
e) Caracter
d) Cadeia
g) Lógica
Pascal
Descrição
a) INTEGER: Representa números entre -32768 até +32767. ocupa 2 bytes
na memória.
b) REAL:
Representa os números entre 2.9 x 10 -39 até 1.7 x 1038 .
Ocupa 6 bytes na memória.
e) CHAR:
Representa um dos caracteres, da tabela ASCII. Ocupa 1 byte
na memória.
f) STRING:
Conjunto de caracteres ( CHAR ). Ocupa de 1 a 255 bytes na
memória.
g)
Valor lógico. Assuma somente dois valores: TRUE(Verdade)
BOOLEAN: ou FALSE(Falso). ocupa 1 byte na memória.
c) WORD:
d) BYTE:
h) Shor Int
i) LongInt
j) Single
l) Double
Números de 0 até 65535. Ocupa 2 bytes na memória.
Números de 0 até 255. Ocupa 1 byte na memória.
Representa os números entre -128 até 128 . Ocupa 1 bytes na
memória.
Representa os números entre - 2.147.483.648 até
2.147.483.648 . Ocupa 4 bytes na memória.
Representa os números entre 1.5 x 10 -45 até 3.4 x 1038 .
Ocupa 4 bytes na memória.
Representa os números entre 5 x 10 -324 até 1.7 x 10308 . Ocupa
8 bytes na memória.