• CLMN 2023
  • CLMN 2023
  • CLMN 2022
  • CLMN 2022
  • CLMN 2019
  • CLMN 2019
Início do conteúdo
Programação I

Programação I

Curso 3800
Disciplina Programação I
Caráter Optativa
Pré-requisito Algoritmo e Programação (0750001)
Código 0750026
Depto. Informática
CHT 68 h
Créditos 04
Natureza 02 teóricas, 02 prática
Prof. Resp.
Objetivos Proporcionar o estudo completo de uma linguagem de programação para o paradigma procedural (seqüencial), exercitando as questões fundamentais decorrentes, tais como a modularização, os tipos de passagem de parâmetros etc. Consolidar o conhecimento do referido paradigma de programação e de uma linguagem que seja representativa deste paradigma. Consolidar na prática e ampliar os conhecimentos de lógica de programação, adquiridos em disciplina anterior.
Ementa

Estudo completo de uma linguagem de programação seqüencial: estrutura de um programa, tipos, tipos estruturados e ponteiros, declarações, comandos, subprogramas, entrada e saída, algoritmos com matrizes, uso de arquivos. Técnicas e ferramentas para desenvolvimento de programas.

 

Programa

– Ferramentas para o desenvolvimento de programas: editor, compilador, depurador, ambientes de desenvolvimento.

– Introdução à Linguagem C: características da linguagem C. A Sintaxe de C: identificadores, tipos básicos, variáveis: declarações e inicializações, constantes, operadores, ordem de Precedência, expressões: ordem de avaliação. Estrutura de um Programa em C. Funções Básicas da Biblioteca C: printf(), scanf(), getchar(), putchar()

– Comandos de Controle de Fluxo de um Programa: verdadeiro e falso em C, comandos de seleção: if, ifs aninhados, a escada if-else-if, a expressão condicional, switch; comandos de iteração: o laço for, o laço while, comandos de expressões, blocos de comandos

– Matrizes e Cadeias de Caracteres (strings): matrizes unidimensionais e matrizes bidimensionais: declaração, limites, inicialização de matrizes, caracteres e strings: manipulação e principais funções

– Ponteiros: conceito de ponteiros e utilidade, operadores para ponteiros: & e *, declaração de variáveis tipo ponteiros, relacionamento entre ponteiros e memória, expressões com ponteiros, manipulando matrizes com ponteiros.

– Funções: a forma geral de uma função, regras de escopo de funções, argumentos de funções (parâmetros formais): chamada por valor, chamada por referência, o comando return, funções que devolvem valores não-inteiros, protótipos de funções, retornando ponteiros, funções tipo void, argc e argv: argumentos para main(), recursão, questões sobre implementação

– Estruturas: estruturas, matrizes de estruturas, passando estruturas para funções, ponteiros para estruturas, matrizes e estruturas dentro de estruturas, campos de bits, uniões, enumerações, usando sizeof para assegurar portabilidade, typedef

– Manipulação de arquivos: E/S ANSI versus E/S UNIX, E/S em C versus E/S em C++, streams e arquivos, streams, arquivos, fundamentos do sistema de arquivos, as streams padrão, o sistema de arquivo tipo UNIX

– Noções de estruturas de dados: introdução, estruturas auto-referenciadas, alocação dinâmica da memória, listas encadeadas

– Armazenamento e Manipulação de Matrizes Esparsas

 

Bibliografia

Básica

SCHILDT, HERBERT. C Completo e Total. São Paulo: Makron Books, 1996. (3a edição) ISBN: 85-346- 0595-5

 

Complementar

DEITEL, H. M.; DEITEL, P. J. Como Programar em C. Rio de Janeiro: LTC – Livros Técnicos e Científicos Editora S. A., 1999. ISBN: 85-216- 1191-9

KERNIGHAN, Brian W.; RITCHIE, Dennis M. C: a Linguagem de Programação Padrão Ansi. Rio de Janeiro: Campus, 1999.

MIZRAHI, Viviane V. Treinamento em Linguagem C – Curso Completo (Módulo 1) Sao Paulo: Makron Books, 1996.

ASCENCIO, Ana Fernanda G.; CAMPOS, Edilene A. V. Fundamentos da Programação de Computadores: Algoritmos, Pascal e C/C++. Sao Paulo: Prentice Hall, 2002. ISBN: 85-87918-36-2