Programação em C Victor Amorim dos Santos Apresentação Professor Victor Amorim dos Santos http://inf.ufes.br/~victor.amsantos/ Formação Bacharel Sistemas de Informação - IFES Mestre em Informática - UFES Apresentação da disciplina Objetivo Trabalhar com o estudante em início de curso os conceitos de programação, usando como ferramenta a linguagem de programação procedural C. O aluno deve desenvolver a capacidade de construir algoritmos de forma organizada e estruturada utilizando esta linguagem de programação. Ementa Introdução à construção de algoritmos. Tipos de dados elementares e estruturados. Estruturas de controle. Modularização de programas: unidades de programação e passagem de parâmetros. Estudo da linguagem de programação procedural C. Programa • Conceitos básicos • Programação estruturada em pseudocódigo • Programação estruturada em C • Sub-programas e funções • Tipos de dados compostos • Manipulação de arquivos Sistema de avaliação Média Parcial = T*0.2 + P1*0.4 + P2*0.4 + L Média Final = Média Parcial, se >= 7.0 OU (MP + PF) / 2 Onde: T = Trabalho, P1 = Prova 1, P2 = Prova 2, PF = Prova Final e L = Lista Obs.: A nota de lista será a média de todas as listas entregues (totalizando 1.0 ponto) Bibliografia W. L. C. Saliba. Técnicas de Programação: Uma Abordagem Estruturada. Pearson / Makron Books, 1993; P. Silveira, A. Almeida. Lógica de Programação. Casa do Código, 2013; H. Schildt. C Completo e Total, 3ª edição. Pearson / Makron Books, 1997; D. M. Ritchie, B. W. Kerningham. C: A Linguagem de Programação Ansi. Campus/Elsevier, 1989; N. A. C. Lages, A. M. Guimarães. Algoritmos e Estruturas de Dados. LTC, 1994. Método de ensino • Aulas em sala • Exercícios em laboratório (duplas) • Linguagem de programação C • Sistema operacional Linux/Ubuntu • Trabalho prático Programa detalhado Todo material do curso será disponibilizado no link: http://inf.ufes.br/~victor.amsantos/ Email: [email protected] Experiência • Período? • Já programou? Expectativas O quê vocês esperam aprender nesta disciplina? Como o uso de programação pode auxiliar na sua profissão? • Automatização de tarefas • Resolução de fórmulas matemáticas complexas • Cálculos com alta precisão Como a programação pode auxiliar na resolução de problemas • Problema do Caixeiro Viajante • Descobrir números primos • Simulações de processos químicos • Mineração de dados Introdução a Computação O que é um computador? "Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados." F. K. Miyazawa O quê mais pode ser considerado um computador? • Calculadora • Smartphone • ... • Ser humano? Linguagem de programação É um método padronizado para comunicar instruções para um computador (Algoritmo) Instruções são sequências muito simples de operações • Soma • Subtração • Trocar posição de memória (variável) • Verificar uma equivalência entre variáveis Variável Uma variável é um objeto capaz de reter e representar um valor ou expressão. É uma região de memória (do computador) previamente identificada cuja finalidade é armazenar os dados ou informações de um programa por um determinado espaço de tempo. O quê é: • Região de memória • Identificação de uma variável • O quê pode ser armazenado em variáveis • Ciclo de vida de uma variável Algoritmo Sequência ordenada de passos para realização de uma tarefa. Exemplo: Troca de um pneu furado Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar o aperto final nas porcas Algoritmo Não se limita a coisas simples Exemplo: • Somar dois números • Organizar uma viajem • Montar um foguete. Exercício sobre Algoritmos Exercícios: • Somar dois números • Calcular a nota de um aluno com 2 provas e média de aprovação 7 e imprimir se está aprovadou ou reprovado Fluxograma Fluxograma é um tipo de diagrama, uma representação esquemática de um processo. Principais formas geométricas em fluxogramas Diferente dos algoritmos, fluxogramas possuem uma representação gráfica mais precisa. Fluxograma: Soma de dois números Início N1, N2 Algoritmo Receber primeiro número Receber segundo número Somar os dois números recebidos Armazenar em soma o resultado Imprimir o número de soma soma <N1 +N2 soma Fim Exercício - Fluxograma Defina um fluxograma que... 1. dado dois números, indique qual é o maior dos dois 2. que verifique se um número é par ou impar e imprima uma mensagem de “É par” ou “É impar”. 3. que verifique se um número é positivo, negativo ou igual a zero e imprima uma mensagem informando o resultado. 4. que mostre se um número lido é par ou não. O fluxo deve se repetir até que seja lido um número menor ou igual a zero. 5. que calcule e mostre a idade média de um grupo de 40 pessoas. Entrada: idade de cada pessoa.