transações em bancos de dados · criada em 1972 no bell labs por dennis ritchie para escrever o...

32
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2 1 02/08/2011 Professor Leomir J. Borba- [email protected] http://professorleomir.wordpress.com

Upload: ledang

Post on 20-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

TECNOLOGIA EM ANÁLISE E

DESENVOLVIMENTO DE SISTEMAS

LINGUAGEM DE PROGRAMAÇÃO I

Aula 2

1 02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 2: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Agenda

Definição de Linguagem de Programação.

Estrutura básica de um computador digital e seu funcionamento básico.

Apresentação da linguagem C

Linguagem C: variáveis, constantes , tipos de dados. Operadores aritméticos, relacionais e lógicos.

2 02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 3: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Definição de Linguagem de Programação Linguagens de Programação são conjuntos de

notações formais para descrever ações ou operações a serem realizadas por um computador. São ferramentas para o desenvolvimento de software.

Software é um conjunto de programas, módulos, procedimentos, regras e quaisquer documentações associadas à operação de um sistema de processamento de dados.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 3

Page 4: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Definição de Linguagem de Programação - Continuação

Exemplos de Linguagem de programação: Cobol, Pascal, Fortran, Linguagem C, Java, entre outras.

Os componentes gerais de uma linguagem são a sua sintaxe e a sua semântica

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 4

Page 5: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Definição de Linguagem de Programação - Continuação

Sintaxe - Conjunto de regras formais para a composição de um texto na linguagem (programa) a partir do agrupamento de letras, dígitos e/ou outros caracteres (alfabeto da linguagem). A sintaxe é um conjunto de regras formais para a escrita do programa.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 5

Page 6: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Definição de Linguagem de Programação - Continuação

Um programa é uma coleção de objetos globais, que podem ser procedimentos, funções, protótipos de funções, declarações de variáveis - que são constituídos por agrupamentos de palavras reservadas (comandos e instruções), palavras criadas pelos usuários, letras e dígitos e/ou outros caracteres.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 6

Page 7: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Definição de Linguagem de Programação - Continuação

Semântica diz respeito à significação. A semântica é o estudo do sentido dos significantes. Em programação a semântica diz respeito ao significado do programa sintaticamente válido. O que pode ocorrer é que um programa seja sintaticamente válido sem, no entanto, ter um significado lógico coerente. É parte do domínio da semântica verificar esta coerência em termos de significado lingüístico e não em termos de lógica de programa.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 7

Page 8: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Definição de Linguagem de Programação - Continuação

Interpretação x Compilação

Interpretada – Programa é executado instrução por instrução após ser traduzido para linguagem de maquina.

Compilada – Programa é executado somente após toda a tradução para linguagem de maquina.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 8

Page 9: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Definição de Linguagem de Programação - Continuação

Interpretação x Compilação - Continuação

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 9

Page 10: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Definição de Linguagem de Programação - Continuação

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 10

Interpretador – Le a primeira instrução do programa, faz consistência da sintaxe, se não houver erro converte-a para linguagem de maquina para finalmente executá-la. Repete o procedimento ate a ultima instrução ou achar erro.

Page 11: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Definição de Linguagem de Programação - Continuação

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 11

Compilador - Compilador – Faz o mesmo que o interpretador, em vez de executá-la segue para a próxima instrução repetindo o processo ate a ultima instrução ou até achar um erro. Ao final de uma compilação bem sucedida gera um programa com sufixo .obj, que em algumas versões deve ser “linkeditado”, de .OBJ para .EXE

Page 12: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Estrutura básica de um computador digital e seu funcionamento básico.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 12

ENTRADA

(INPUT)

PROCESSAMENTO

(U.L.A + U.C.)

SAÍDA

(OUTPUT)

ARMAZENAMENTO

(MEMÓRIA)

RAM

DISQUETES

HD /

SSD FITAS

MAGNÉTICAS,

CD, DVD, ETC.

Dispositivos de

Entrada

EX.:

TECLADO

MOUSE

LEITOR ÓPTICO

LEITOR

MAGNÉTICO

SCANNER

DRIVES

MODEM

MICROFONE etc

LCD

TOUCHSCREEN

Dispositivos de Saída

EX.:

MONITOR DE

VÍDEO

IMPRESSORA

PLOTTER

DRIVES

MODEM

ROBÔS etc

CARTÕES

DE

MEMÓRIA e

PENDRIVES

Page 13: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Apresentação da Linguagem C

Linguagem de 3ª. Geração (Fortran, Pascal ou Cobol)

Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de realtivo alto nivel, evitando o assembly.

Nome resulta da evolução de outra linguagem chamada B, tambem desolvida no mesmo laboratorio por Ken Thompson

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 13

Page 14: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Apresentação da Linguagem C Linguagem com objetivo geral (General purpose) Outras linguagens tem objetivos especificos:

Cobol – Processamento de Registros

Pascal – Ensino de Técnicas de Programação

Fortran – cáculo Científico

Rápida – Performance semelhante ao assembly

Simples – Sintaxe extremamente simples, numero de palavras reservadas, tipos de dados básico e de operadores é diminuto, reduzindo o tempo de aprendizado.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 14

Page 15: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Apresentação da Linguagem C - Continuação

Portável – Padrão ANSI define caracteristicas de qualquer compilador tornando possivel compilação e execução em diferentes maquinas com minimos ajustes.

Popular – Internacionalmente conhecida e bem documentada

Modular – Permite desenvolvimento modular, facilitando a separação de projetos em modulos distintos e independentes.

Alto Nivel – linguagem com um nível de abstração relativamente elevado, longe do código de máquina e mais próximo à linguagem humana (cout, return ) 02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 15

Page 16: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Apresentação da Linguagem C - Continuação

Linguagem procedural ou estruturada – Forma de programação que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e iteração.

Na prática foi transformada na programação modular - Programação estruturada orienta os programadores para a criação de estruturas simples em seus programas, usando as subrotinas e as funções. Foi a forma dominante na criação de software anterior à programação orientada por objetos.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 16

Page 17: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Apresentação da Linguagem C - Continuação

C Versus C++ - Em sua evolução surgiu a versão com classes, seguindo as premissas de orientação a objeto, com filosofia completamente diferente mas que usa suas caracteristicas básicas (sintaxe, funções, tipos de dados, operadores, etc.)

Programação em C

Pode-se criar o programa em qualquer editor de textos, Digitando o texto em modo não documento com sufixo .C, será chamado de fonte. Usaremos IDE especializada DEV-C++ 5.0 para atividades em laboratorio.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 17

Page 18: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C

Um programa em C consiste em uma ou varias funções e comandos, formando uma sequencia de código organizada de tal forma que permita resolver um problema. Os nomes programa e função se confundem em C.

Forma Geral dos programas em C # Biblioteca.h – diretiva para compilador, não é C

Main() <- Primeira Função a ser executada { <- Inicia o corpo da Função } <- Termina a Função

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 18

Page 19: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação

Linguagem é Case Sensitive, maiusculas e minusculas fazem diferenca.

Todas as instruções são escritas em letras minusculas

Apenas usar Letras maiusculas em variaveis, mensagens ou funções escritas pelos programadores.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 19

Page 20: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação

Nome de função pode ser qualquer nome menos main, que indica função que inicia a execução do programa, todo programa deve ter um main

Tipo Void indica que programa não tem valor de retorno

#include <iostream.h>

Void main()

{

cout << “Primeiro Programa””;

}

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 20

Page 21: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação

Espaço em branco é desconsiderado pelo compilador Exceções

Cadeia de caracteres constantes não podem ser separadas em diversas linhas

Nomes de funções,operadores e comandos de linguagem não podem ser separados

Diretivas como #include não podem ser escritas em diversas linhas

Toda instrução termina em ;

Instruções devem ser escritas entre {}

Operador de inserção << conecta mensagem ao comando cout (objeto da classe I/O leitura e impressão)

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 21

Page 22: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação Diretiva do pré processador - #include <biblioteca> -

Programa que examina o programa fonte e executa modificações

Inserindo o a biblioteca (arquivos de inclusão no diretório INCLUDE) no

código fonte antes da compilação.

Arquivo iostream.h – Contem cout, << e recupera dados digitados no teclado e saída em video.

Códigos especiais – Não podem ser digitados no teclado, obtidos por meio de combinação do sinal \

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 22

Page 23: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação Tabela de códigos especiais

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 23

Page 24: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação Exemplo de uso de códigos especial – Imprimindo uma nova

linha:

#include <iostream.h>

Main()

{

Cout << “\nPrimeiro programa”;

}

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 24

Page 25: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação Constantes numéricas – Valor fixo e inalteravel

DECIMAL – 12345 Não podem estar entre aspas

HEXADECIMAL – 0X41, 0X1afb (Base 16 precedidos de 0x)

OCTAL – 041,010, 0754 (Base 8 Precedidos de 0)

010 diferente de 10

CARACTER – Definida para números entre 0 e 255, significa que cabe em 1 byte, escritos com aspas simples ‘5’, ‘a’,’w’,’\n’,’\t’

Aspas simples ‘’ para único caractere

Aspas duplas “” para cadeia de caracteres.

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 25

Page 26: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação Variáveis – Espaço de memória reservado para certo tipo de

dados

Terá valores diferentes em diferentes momentos.

Declaração de variáveis – reserva espaço de memória de acordo com tipo, sempre devem ser declaradas. Ex. : Int num1;

TIPOS BÁSICOS de Dados

26 03/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 27: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação

Modificadores – long , short, unsigned

Com exceção de void os tipos basicos podem ser acompanhados de modificadores na declaração

Além dos tipos de dados básicos existem outros tipos de dados ditos modificados. Em C existem dois modificadores: o modificador long e o modificador unsigned. Tipicamente o modificador long aumenta o número de bytes usados para o registro do número. Por conseqüência o intervalo de validade do número fica aumentado significativamente. O modificador unsigned, usado somente em inteiros, permite que um bit usado para guardar o sinal do número seja usado para guardar o valor do número. Em conseqüência disto o intervalo do número fica dobrado, porém somente permite o uso de números positivos.

27 03/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 28: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação Tabela de tipos modificados

28 03/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 29: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação

Inicializando variáveis – Possível combinar declaração com atribuição de valor :

Int evento = 5; Char corrida = ‘c’; Float tempo = 27.25;

Modificador unsigned- indica interpretação do bit superior como outro qualquer e não como bit de sinal (para numero positivo é 0 para negatico é 1) – sera visto em detalhes adiante Ex. : unsigned j=6500 Saída será var unsigned = 6500 Var int = -536

29 03/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 30: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação

Nome de variaveis.

Observar significância

Começa obrigatoriamente com letra ou caractere sublinhado

Pode conter letras maiúsculas, minúsculas, digitos de 0 a 9 e caractere sublinhado

PESO, Peso, peso, peSo – São DIFERENTES!

Apesar de não ter limitação na quantidade de caracteres no nome, apenas os primeiros 32 são considerados.

Ex.: Orcamento_de_Contabilidade_de_1992

30 03/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 31: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Programação em C - Continuação

Variaveis não pode ter o mesmo nome de palavras-chave ou reservadas.

31 03/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 32: Transações em Bancos de Dados · Criada em 1972 no Bell Labs por Dennis Ritchie para escrever o sistema operacional UNIX com linguagem de ... laboratorio por Ken Thompson

Bibliografia

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 32

BIBLIOGRAFIA BÁSICA

1 DAMAS, Luís. Linguagem C. 10ª Edição. São Paulo: LTC, 2007. 2 FEOFILOFF, P. Algoritmos de Janeiro: Elsevier, 2009.

3 MIZRAHI, Victorine Viviane. Treinamento 2ª Edição. São Paulo: Pearson Education, 2008.

4

ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi. Fundamentos da Programação de Computadores. 2ª Edição. São Paulo: Pearson Education, 2007.

BIBLIOGRAFIA COMPLEMENTAR

1 DASGUPTA, Sanjoy; UMESH, Vazirani, PAPADIMITRIOU Christos, Algoritmos. 1ª Edição. São Paulo: McGraw-Hill, 2009.

2 LAUREANO, M. Estrutura de Dados com Algoritmos e C. 1ª Edição. São Paulo: Brasport, 2008.

3 PEREIRA, Silvio do Lago. Estruturas de Dados Fundamentais – Conceitos e Aplicações. 7ª Edição. São Paulo: Érica, 2008.

4 SOUZA, Marco Antonio Furlan et al. Algoritmos e Lógica de Programação. São Paulo: Cengage Learning, 2008.

5 ZIVIANI, Nívio. Projeto de Algoritmos com Implementações em Pascal e C. 3ª Edição. São Paulo: Cengage Learning, 2010.

RECURSOS DIDÁTICOS

1 TV/VÍDEO/DVD 4 LABORATÓRIO – Software “Turbo C” ou “Dev C++”

2 DATASHOW 5 Aula expositiva em laboratório

3 RETRO-PROJETOR 6 Exercícios em laboratório