INTRODUÇÃO À PROGRAMAÇÃO 1 Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Uso de computadores para resolução de problemas 2 Uso de aplicativos Desenvolvimento de programas Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Uma estratégia de solução de problemas Desenvolvimento de algoritmos 3 Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Algoritmo Sequência ordenada, sem ambiguidade, de passos que levam à solução de um dado problema, em um tempo finito. Passos: Simples Não ambíguos Ordenados Efetivos Entradas: 0 ou mais 4 Saídas: pelo menos uma Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Alguns Paradigmas de Linguagens de Programação Imperativo Ex.: C, PASCAL, FORTRAN, ALGOL, BASIC Funcional Ex.: ML, Miranda Lógico Ex.: Prolog Orientado a objetos Ex.: C++, Smalltalk, PASCAL 5 Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Paradigma Imperativo Permite a implementação de algoritmos. 6 Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Linguagem de implementação dos problemas da disciplina: C: paradigma imperativo. Opções: Dev C++ (pode ser obtido via Internet) etc... 7 Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Resolução de problemas e programação PROBLEMA RESOLUÇÃO SOLUÇÃO EM FORMA DE ALGORITMO PASSO DIFÍCIL SOLUÇÃO COMO UM PROGRAMA DE COMPUTADOR 8 IMPLEMENTAÇÃO Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Análise e Solução de Problemas 9 Compreensão rigorosa do problema. Um método de solução é escolhido e desenvolvido. Descrição do processo de solução passo a passo (algoritmo). Programação do algoritmo e depuração do programa. Validação da solução. Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Linguagem de Programação 10 Conjunto de convenções e regras que especificam como instruir o computador a executar determinadas tarefas. Serve como meio de comunicação entre o indivíduo que deseja resolver um determinado problema e o computador escolhido para ajudá-lo na solução. Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Programa 11 Roteiro que orienta o computador, mostrando-lhe a sequência de operações necessárias para executar uma determinada tarefa. Sequência de instruções que dirigem a UCP na execução de alguma tarefa. Composto por uma série de comandos e instruções. Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Aprender a programar 12 Conhecer as instruções (Comandos) Saber como escrever as instruções (Sintaxe dos comandos) Entender ações resultantes da execução das instruções (Semântica dos comandos) Possuir raciocínio lógico para chegar a uma seqüência de instruções que solucione o problema proposto. Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Níveis de linguagem 13 Baixo nível: mais próximas da linguagem de máquina Alto nível: maior independência da máquina. Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Tradutores de linguagens de programação 14 As linguagens, que não a linguagem de máquina, devem ser traduzidas para a linguagem de máquina. Programas tradutores: convertem o código escrito em uma linguagem de programação para o correspondente código de máquina. Tradutores de linguagens de alto nível: interpretadores e compiladores. Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Níveis de linguagem e tradutores LI N G U A G E M DE M AQ UINA LI N G U A G E M M O N TA D O R A ( A S S E M B LY ) Tra d u t o r : M o n ta d o r D A TA D E N A S C I M E N TO LI N G U A G E N S D E A L TO N I V E L Tra d u t o r e s : I n t e rp re t a d o r C o m p i la d o r 15 Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 L I N G U A G E N S D E B A I X O N I V E L Linguagem C 16 Deriva de ALGOL 60 (linguagem de alto nível, criada para substituir o FORTRAN). Desenvolvida por Dennis Ritchie, em 1972, nos Laboratórios Bell. Versão ANSI (American National Standards Institute): 1985 Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Programa em C 17 Constituído por funções. A função principal, por onde inicia a execução é a função main. Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Estrutura básica de um programa em C /* Comentário sobre o programa */ #include <BIBLIOTECAS> Declarações /*definição das constantes, variáveis e funções*/ int main( ) // início da função main { /* declarações e comandos */ return 0; // término normal da função main } 18 Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9 Programa principal Ambiente a ser utilizado DevC++ ambiente de programação cujo compilador é padrão: 19 Windows e Unix ou Linux fornece depurador compilador C/C++ Profa. Maria Aparecida C. Livi - Introd. Prog. 2 v9