Linguagem de programação Implementação de algoritmos Tradução em código executável (fonte => objeto => executável) Processo de tradução: dependente de máquina Java Padrões (C ANSI) Compartilhamento de “módulos” ou procedimentos Adequação: velocidade, sintaxe, requisitos
Linguagem de programação Comandos Palavras-chave de uma linguagem associadas a implementações específicas Variáveis Recursos de armazenamento de valores que podem ser modificados durante a execução de programas Constantes Recursos para armazenamento de valores estáticos durante a execução de programas
Linguagem de programação Programas Seqüência de comandos de uma linguagem, em formato padronizado, que permite a implementação de algoritmos Fonte: descrição original, em formato texto, pelo programador Executável: descrição na linguagem de máquina do processador em que deve ser executado Objeto: formato intermediário, usadopara composição de código com diversos módulos
Linguagem de programação Programas Exemplo: #include <stdio.h> /* impressão de uma mensagem simples */ main() { printf(“\n Mensagem inicial em c! \n”); return 0; }
Linguagem de programação Tipos de dados Numéricos Lógicos Texto Expressões Conjunto de operadores e valores ou variáveis, utilizado para a implementação de cálculos
Linguagem de programação Expressões Exemplo: média Variável 1 -> valor da primeira prova (v1) Variável 2 -> valor da segunda prova (v2) Variável média -> média aritmética das duas (v1 e v2) Operadores: atribuição soma e divisão media = (v1 + v2) / 2;
Linguagem de programação Expressões Operadores Aritméticos Lógicos Atribuição
{ Introdução Algoritmo => linguagem de programação C++ Cout<< endl<<“Resultado: “ <<valor<<endl; Exibir o resultado C printf(“\nResultado: %d\n”,valor); ASSEMBLY valor dw 00 mens db 13,10,“Resultado:” res db 0000 db “$” ....... ;conversão de valor/ASCII ........ mov ah,9 mov dx, offset mens Int 21h PHP echo(“\nResultado: “.$valor.”\n”); Mapeamento para a linguagem de programação PASCAL write(“Resultado: “); Writeln(valor); Python print “\nResultado:” print valor
Introdução Implementação de programas No Visual C++: File New File Save Build compile Build build .exe disco Editor de texto Gera arquivo fonte (.cpp) Compilador Lê arquivo fonte (.cpp) Gera arquivo objeto Editor de ligação (linker) Lê arquivo objeto, Lê arquivos de bibliotecas Gera arquivo executável
Introdução Implementação de programas No Visual C++: File New File Save Build compile Build build .exe
Introdução No Visual C++: File New File Save Build compile LZ ø+A2L k .drectve b $ .debug$S „ † H B.CRT$XCU – ¢ @ 0À.text = À ý % P`.rdata = @0@.debug$S N N œ HB.text Ö ° †# ¨$ P`.text$x D% W% P`.xdata$x ` u% Õ% @@@.debug$S & '( HB.text N Ÿ( í( ) P`.debug$S ± ) È) HB.text * Ü) * P`.debug$S Ž * š* HB.text 5 ®* ã* ÷* P`.debug$S w H B-defaultlib:libcpd -defaultlib:LIBCD -defaultlib:OLDNAMES -editandcontinue -include:___pfnBkCheck J ptrdiff_t __exString exception u size_t y _s__CatchableType ! wchar_t 6 _TypeDescriptor J FILE f _PMFN p va_list@ + D + X \ k o ƒ P ‡ P œ ¯ § ³ § á å F š U‹ìƒì@SVW}À¹ ¸ÌÌÌÌó«h h è ƒÄ3À_^[ƒÄ@;ìè ‹å]à # 1 5 ! * , Bem vindo Introdução No Visual C++: File New File Save Build compile Build build .exe // teste in C++ #include <iostream> int main() { std::cout << "Bem vindo C++!\n"; return 0; }
Material e recursos Bibliografia Terada, Routo. Desenvolvimento de Algoritmos e Estruturas de Dados. São Paulo: McGraw-Hill, 1991. Lee, Richard C.. Tepfenhart, William M.. Paschoa, Celso Roberto (trad.). UML e C++: Guia Prático de Desenvolvimento Orientado a Objeto. São Paulo: Makron, 2001. Wirth, Niklaus. Lee, Cheng Mei (trad.). Algoritmos e Estruturas de Dados. Rio de Janeiro: LTC, 1989-1999. Szwarcfiter, Jayme Luiz. Markenzon, Lilian. Estruturas de Dados e seus Algoritmos. 2. ed. Rio de Janeiro: Livros Técnicos e Científicos, 1994. Preiss, Bruno R.. Gouvêa, Elizabeth Ferreira (trad.). Estruturas de Dados e Algoritmos: Padrões de Projetos Orientados a Objetos com Java. Rio de Janeiro: Campus, 2000.