UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT PLANO DE ENSINO DEPARTAMENTO: Fisica DISCIPLINA: Algoritmo e Linguagem de Programação SIGLA: ALP001 PROFESSOR: Carlos N Vetorazzi Jr CARGA HORÁRIA TOTAL : 72 TEORIA: 36 PRÁTICA: 36 CURSO(S): Licenciatura em Fisica SEMESTRE/ANO : 01/2015 PRÉ-REQUISITOS: não há OBJETIVO GERAL DA DISCIPLINA : Introduzir para o estudante de Licenciatura em Fisica os conceitos de pseudocódigo, lógica e linguagem de programação no paradigma estruturado. Proporcionar uma visão geral de construção de algoritmos focados em estruturas de dados e estruturas seleção, repetição mais comuns nas de linguagens processuais. Apresentar exemplos e exercícios práticos para desenvolvimento da capacidade de construir algoritmos e implementá-los em uma dada linguagem. EMENTA: Noções básica sobre sistemas de computação. Noções sobre linguagem de programação e programa. Estudo de uma linguagem de alto nível. OBJETIVOS ESPECÍFICOS/DISCIPLINA : Identificar um problema e construir um algoritmo bem-estruturado para resolução. Implementar um problema em pseudocódigo e em uma ferramenta de linguagem de programação. CRONOGRAMA DE ATIVIDADES: CARGA HOR. CONTEÚDOS PROGRAMATICOS CONTEÚDOS 1. Introdução 1.1. Noções básicas sobre sistemas de computação - Evolução dos computadores - Conceito de Hardware e componentes do computador - Unidades de entrada e saída - Organização e tipos de memórias - Unidade central de processamento 6h - Conceito de Software e tipos de Software 1.2.Sistemas de Numeração - Sistemas posicionais e não posicionais - Sistemas decimal, binário, octal e hexadecimal - Conversão de base 1.3.Algebra de Boole - Introdução AVALIAÇÃO Prova 1 - Operações básicas - Tabela Verdade - Avaliação de expressões lógicas 2.Algoritmos 2.1.Introdução Prova 1 2.2. Algoritmos - Estrutura sequencial - Variaveis - Operadores - Expressoes 16h 2.3.Algoritmos - Estruturas condicionais - Estruturas condicionais simples - "Se" - Estruturas condicionais compostas - "Se ... Entao" - Estruturas condicionais aninhadas 2.4.Algoritmos - Estruturas de repetição - Estruturas de repetição sem número definido de repetições - Estrutura "Enquanto" - Estrutura "Faça - Enquanto" - Estrutura de repetição com número definido de repetições "Para ... Faça" 3.Estudo de uma linguagem de alto nível 3.1.Introdução às ferramentas de programação - Tipos de linguagens - Interpretador x compilador - linkeditor - Ambiente IDE 28h 3.2.Introdução a linguagem C - Ambiente de desenvolvimento - Estrutura básica de um programa C - tipos e variáveis - operadores e expressões - Compilação e execução 3.3.Linguagem C -Entrada e saida básica - Funções de entrada e saida de dados - getch() e getche() - gets() e puts() 3.4.Linguagem C -Estruturas de decisão - Estrutura if( ) - Estrutura if( ) else - Estrutura if( ) else if( ) - A estrutura switch( ) case. - A opção default; Prova 2 3.5.Linguagem C - Estruturas de repetição - A estrutura while ( ) - A estrutura do while( ) - O comando for ( ) - condição inicial, condição de parada, incremento, - uso de expressões e variáveis nos parâmetros do comando for() - uso de break; e continue; 3.6.Linguagem C - Vetores - Introdução - Estruturas homogêneas de dados - Vetores unidimensionais - Lendo e imprimindo elementos de um vetor - Manipulação básica de vetores 3.7.Linguagem C - Vetores multidimensionais - Declaração de vetores multidimensionais - Manipulação de vetores multidimensionais - Multiplicação de matrizes 3.8.Linguagem C - Cadeias de caracteres - Vetores de caracteres x strings - Comandos de entrada e saida para strings - Manipulação de strings - Matrizes de caracteres x vetores de estrings - Leitura e manipulação de listas de nomes 3.9.Linguagem C - Ordenação de Vetores - Método da bolha - Ordenação de vetores - Ordenação de listas de nomes 22h 3.10.Linguagem C - Registros - Estruturas heterogeneas de dados - Campos de um registro - Vetores de registros - Manipulação de listas de registros 3.11.Linguagem C - Funções - Introdução - Escopo de variáveis - Declaração de uma função, tipo de uma função (void int, ...) - Retorno de valor - Chamada de uma função - Parâmetros por valor - Declaração de parâmetros formais - Uso de funções com parâmetros - Uso de funções com parâmetros e retorno de valor Carga horária total teórica/prática– 72 h/aula Prova 3/trabalho METODOLOGIA PROPOSTA: Aulas expositivas e dialogadas em sala; Aulas práticas em laboratório de informática Uso de software para escrever, compilar e testar os programas criados nas aulas Até 14 horas-aula (menos que 20% da carga horária da disciplina) poderão ser desenvolvidas na modalidade à distância. AVALIAÇÃO: Prova 1 = 30% Prova 2 = 35% Prova 3/trabalho = 35% BIBLIOGRAFIA BÁSICA MANZANO, José Augusto N. G., OLIVEIRA, Jayr Figueiredo de., Algoritmos: lógica para desenvolvimento de programação de computadores. São Paulo: Livros Erica, 2000 FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson Prentice Hall, 2007 MONTEIRO, Mário. Introdução à Organização de Computadores. Rio de Janeiro: Editora LTC, 2002. BIBLIOGRAFIA COMPLEMENTAR KERNIGHAN, Brian W; RITCHIE, Dennis M.,; VIEIRA, Daniel. C a linguagem de programação: padrão ANSI. Rio de Janeiro: Campus, c1989 IBPI – Instituto Brasileiro de Pesquisa em Informática. Dominando a Linguagem C, Rio de Janeiro: IBPI Press, 1993 GUIMARÃES, Angelo de Moura. Introdução à ciência da computação. Rio de Janeiro: Livros Técnicos e Científicos, 1984. SALIBA, Walter Luiz Caram. Técnicas de Programação: uma abordagem estruturada. Ed. Makron. MacGraw-Hill, São Paulo, 1992. MEYER, Marilyn; BABER, Roberta e PFAFFENBERGER, Bryan. Nosso futuro e o computador. Ed. Bookmann. Porto Alegre. 2000. RAMALHO, José Antônio. Introdução à informática: teoria e prática. São Paulo: Berkeley, 2000. Notas de aula. Artigos/materiais fornecidos pelo professor.