TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

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

description

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2. 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 - PowerPoint PPT Presentation

Transcript of TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

Page 1: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

1

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

LINGUAGEM DE PROGRAMAÇÃO I

Aula 2

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

Page 2: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

2

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.

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

Page 3: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

3

Definição de Linguagem de ProgramaçãoLinguagens 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

Page 4: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

4

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

Page 5: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

5

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

Page 6: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

6

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

Page 7: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

7

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

Page 8: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

8

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

Interpretação x CompilaçãoInterpretada – 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

Page 9: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

9

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

Page 10: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

10

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

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

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: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

11

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

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

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: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

12

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

 ENTRADA

(INPUT)

 ENTRADA

(INPUT)

 PROCESSAMENTO

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

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

 SAÍDA

(OUTPUT)

 SAÍDA

(OUTPUT)

 ARMAZENAMENTO

(MEMÓRIA)

 ARMAZENAMENTO

(MEMÓRIA)

RAM DISQUETES

HD / SSD FITAS

MAGNÉTICAS,CD, DVD, ETC.

Dispositivos de EntradaEX.: TECLADO MOUSE LEITOR ÓPTICO LEITOR

MAGNÉTICO SCANNER DRIVES MODEM MICROFONE etc LCD

TOUCHSCREEN 

Dispositivos de SaídaEX.: MONITOR DE

VÍDEO IMPRESSORA PLOTTER DRIVES MODEM ROBÔS etc 

CARTÕES DE

MEMÓRIA e PENDRIVES

Page 13: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

13

Apresentação da Linguagem CLinguagem 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

Page 14: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

14

Apresentação da Linguagem CLinguagem com objetivo geral (General purpose)

Outras linguagens tem objetivos especificos:Cobol – Processamento de RegistrosPascal – Ensino de Técnicas de ProgramaçãoFortran – cáculo Científico

Rápida – Performance semelhante ao assemblySimples – 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

Page 15: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

15

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

Page 16: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

16

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

Page 17: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

17

Apresentação da Linguagem C - ContinuaçãoC 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 CPode-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

Page 18: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

18

Programação em CUm 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

Page 19: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

19

Programação em C - ContinuaçãoLinguagem é Case Sensitive, maiusculas e

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

minusculasApenas 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

Page 20: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

20

Programação em C - ContinuaçãoNome 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

Page 21: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

21

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

Page 22: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

22

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

Page 23: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

23

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

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

Page 24: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

24

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

Page 25: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

25

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

Page 26: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

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

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

Page 27: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

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

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

Page 28: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

Programação em C - Continuação

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

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

Page 29: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

Programação em C - Continuação

Inicializando variáveis – Após a declaração da variável com seu nome e tipo, é possível atribuir valores de acordo com seu tipo.

Ex: evento = 5; corrida=‘c’; tempo= 27.25 Também é possível combinar declaração com atribuição de

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

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

Page 30: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

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.

Por padrão uma variável de tipo inteiro aceita números positivos e negativos

O modificador unsigned permite que uma variável aceite apenas valores positivos.

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

Page 31: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

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

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

Page 32: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 2

32

Bibliografia

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

BIBLIOGRAFIA BÁSICA1 DAMAS, Luís. Linguagem C. 10ª Edição. São Paulo: LTC, 2007.2 FEOFILOFF, P. Algoritmos de Janeiro: Elsevier, 2009.

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

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

BIBLIOGRAFIA COMPLEMENTAR

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

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

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

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

5ZIVIANI, 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ório3 RETRO-PROJETOR 6 Exercícios em laboratório