Levi Castel-Branco Macedo
1 PROGRAMA DE DISCIPLINA Disciplina: Introdução à Programação Carga horária total: 60 Carga horária teórica: 0 Carga horária prática: 60 Código da Disciplina: CCMP0041 Período de oferta: Turma: CA Professor responsável: Marcus Vinícius Midena Ramos EMENTA: Conceitos básicos de linguagens de programação. Histórico, classificação e principais aplicações de linguagens de programação. Modelos de execução de programas. Ferramentas de desenvolvimento. Nomes, valores e endereços. Tipos de dados. Constantes e variáveis. Expressões. Comandos de estruturação do fluxo de controle. Modularização. Escopo de nomes e tempo de vida de variáveis. Passagem de parâmetros. Recursividade. Tipos de dados definidos pelo usuário. Entrada e saída de dados. Arquivos. Uso em laboratório de uma linguagem de programação de alto-nível. OBJETIVO GERAL: Tornar os estudantes capazes de visualizar soluções computacionais para problemas através da construção de programas, em linguagem de alto nível estruturada. OBJETIVOS ESPECÍFICOS: Familiarizar o estudante com o modelo seqüencial de computação; Apresentar conceitos básicos de linguagens de programação; Capacitar o estudante no uso da linguagem C; Treinar o aluno no processo básico de desenvolvimento de software (concepção, edição, execução e teste de programas de computador). CONTEÚDO PROGRAMÁTICO 1 Introdução 1.1 Conceito 1.2 Computador 1
2 1.3 Computação 1.4 Programa 1.5 Algoritmo 1.6 Linguagem 2 Linguagens de Programação 2.1 Conceitos básicos de linguagens legibilidade desempenho segurança portabilidade confiabilidade definição e uso de abstrações expressividade extensibilidade flexibilidade custos (treinamento, desenvolvimento, execução, manutenção etc) linguagem de máquina x simbólica linguagem de baixo nível x alto nível 2.2 Paradigmas de linguagens de programação Imperativo Orientado a objetos Funcional Lógico 2.3 Especificação de linguagens de programação Métodos formais x informais Sintaxe e BNF Semântica 3 Modelos de execução de linguagens 3.1 Interpretação 3.2 Compilação 3.3 Métodos híbridos 3.4 Máquina virtual x máquina real 4 Ambientes de programação 4.1 Editores 4.2 Compiladores 4.3 Ambiente integrado de desenvolvimento (IDE) 4.4 Geradores de código 4.5 Programas auxiliares 5 Linguagem de Programação C 5.1 Breve histórico 5.2 Características básicas 5.3 C padrão ANSI 5.4 Estrutura de um programa em C 5.5 Constantes 5.6 Palavras reservadas 2
3 5.7 Tipos primitivos 5.8 Declaração de variáveis 5.9 Operadores aritméticos atribuição relacionais lógicos 5.10 Funções de entrada e saída formatada printf scanf 5.11 Estruturas de controle de fluxo if, if else while do while for comando continue comando break switch case 5.12 Agregados homogêneos (Vetores unidimensionais e multidimensionais) caracterização declaração inicialização na declaração indexação 5.13 Agregados heterogêneos (registros) caracterização declaração inicialização na declaração seleção de campo 5.14 String caracterização declaração inicialização manipulaçãofunções para manipulação de strings 5.15 Funções caracterização forma geral comando return função main tipo void passagem de parâmetros por valor passagem de parâmetros por endereço escopo de nomes e tempo de vida de variáveis locais parâmetros formais variáveis globais protótipo de função 5.16 Tipos de dados definidos pelo usuário 3
4 definição de tipo 5.17 Ponteiros Ponteiros e agregados heterogêneos Ponteiros e agregados homogêneos Alocação dinâmica de memória 5.18 Mapa de memória Heap malloc e free 5.19 Recursão 5.20 Arquivos Arquivos texto Arquivos binários 6 Projeto de sistemas 6.1 Projeto de sistemas em linguagem C 6.2 Definição de macros 6.3 Diretivas para compilação condicional 6.4 Arquivos de cabeçalho 6.5 Divisão do projeto em arquivos separados 6.6 Definição de bibliotecas de ligação estática 6.7 Compilação separada com o uso do programa make METODOLOGIA: A disciplina será desenvolvida com aulas dialógico-expositivas e estudos dirigidos. RECURSOS MATERIAIS UTILIZADOS: Textos, quadro branco, pincel, notebook e data-show quando necessário. AVALIAÇÃO: A avaliação será distribuída em 03 notas (EE1, EE2 e EE3), valendo 10 pontos cada uma. A nota final será igual a (EE1 + EE2 + EE3)/3. BIBLIOGRAFIA BÁSICA: 1. SCHILDT, H. C Completo e Total. Pearson Education, SEBESTA, R. W. Conceitos de Linguagens de Programação. 5ª ed. Bookman, BIBLIOGRAFIA COMPLEMENTAR: 1. KERNIGHAN, B. W.; RITCHIE, D. M. A Linguagem de Programação C ANSI. Elsevier, VAREJÃO, F. Linguagens de Programação Java, C, C++ e outras. Elsevier,
5 3. MOKARZEL, F.; SOMA, N. Introdução à Ciência da Computação. Elsevier, ASSINATURA: Carimbo do DRCA: Emitido pelo DRCA em / / 5