IFTO LÓGICA DE PROGRAMAÇÃO AULA 01 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://manoelcampos.com mcampos at ifto.edu.br Versão 05/12/12 Slide 1
Objetivos da Disciplina Elaborar algoritmos e programas para solucionar problemas computacionais Versão 05/12/12 Slide 2
Algoritmo De forma geral, é um conjunto de regras para solução de um problema. (DE SOUZA, 2005) Sequência ordenada e finita de etapas, cuja execução passo a passo resolve um determinado problema. (VILARIM, 2004) Uma receita de bolo é um exemplo de algoritmo, apesar de nem sempre incluir instruções detalhadas e precisas Versão 05/12/12 Slide 3
Algoritmo É uma sequência finita e ordenada de passos (regras), com um esquema de processamento que permite a realização de uma tarefa (resolução de problemas, cálculos etc.). Trata-se de uma palavra latinizada, derivada do nome de Al Khowarizmi, matemático árabe do século 19. Ele surgiu da necessidade de fazer cálculos sem o auxílio de ábacos, dedos e outros recursos. Até então, a estrutura dos cálculos esteve associada às ferramentas que havia à mão: pedras sobre o chão, varetas de bambu, a calculadora de manivela, a régua de cálculo e, por fim, a calculadora. É resultado de técnicas de cálculo que levaram séculos para se desenvolver. Também é usado na computação. (Revista Nova Escola) Versão 05/12/12 Slide 4
Linguagens de Programação Utilizadas para a construção de programas de computador por meio de algoritmos. Existem diversas linguagens, cada uma com seus objetivos específicos, vantagens e desvantagens. Versão 05/12/12 Slide 5
Linguagens de Programação Ranking das principais linguagens: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Características Alto Nível x Baixo Nível Compilada x Interpretada Fortemente Tipada x Fracamente Tipada Declarativa x Procedural Web x Desktop Case Sensitive e Case Insensitive Versão 05/12/12 Slide 6
Linguagem C Amplamente utilizada para a construção de diversos tipos de aplicações Base para diversas outras linguagens como C++, C#, Java, PHP e outras Utilizada na construção de softwares aplicativos, bancos de dados e sistemas operacionais Versão 05/12/12 Slide 7
Linguagem C Case Sensitive Fortemente Tipada Procedural Desenvolvimento de aplicações Desktop e Web (apesar de seu uso para Web não ser popular) Versão 05/12/12 Slide 8
Linguagem C Linguagem compilada Versão 05/12/12 Slide 9 http://informatica.hsw.uol.com.br/programacao-em-c2.htm
Linguagem C Multiplataforma: Gera programas para diversos Sistemas Operacionais como Windows, Linux, FreeBSD e MacOS; e diferentes arquiteturas de Hardware Cada plataforma tem seu compilador Versão 05/12/12 Slide 10
Ferramentas Editor de Texto Terminal/Console de Comandos Compilador Depurador ou Integrated Development Environment - IDE Versão 05/12/12 Slide 11
Estrutura Básica de Algoritmo C #include <stdio.h> int main() { } comando1; comando2; comandon; Corpo do algoritmo Versão 05/12/12 Slide 12
Saída de Dados Função printf: utilizada para exibir texto na saída padrão (normalmente o monitor do computador) #include <stdio.h> int main() { } printf("meu primeiro programa em C"); printf("autor: Manoel Campos da Silva Filho"); Versão 05/12/12 Slide 13
Compilar e Executar em Linux Compilar: gcc nome_arquivo_fonte.c -o nome_executavel Executar:./nome_executavel Versão 05/12/12 Slide 14
Saída de Dados Realizando quebra de linha com printf: #include <stdio.h> int main() { } printf("meu primeiro programa em C\n"); printf("autor: Manoel Campos da Silva Filho\n"); Versão 05/12/12 Slide 15
Variáveis e Tipos Tem a mesma finalidade das variáveis utilizadas na matemática: armazenar/representar valores Em computação, são espaços na memória RAM para armazenamento de dados de um programa Cada variável possui um endereço na memória RAM e um tamanho (espaço) pré-definido Versão 05/12/12 Slide 16
Variáveis e Tipos As variáveis em C possuem um tipo pré-definido Tipos definem os valores permitidos para armazenamento em uma variável (é o domínio da variável, assim como definido na matemática) Versão 05/12/12 Slide 17
Tipos Básicos de C Tipo Tamanho em Bytes Faixa Mínima char 1-127 a 127 int 4-2.147.483.648 a 2.147.483.647 unsigned int 4 0 a 4.294.967.295 short int 2-32.768 a 32.767 unsigned short int 2 0 a 65.535 long int 4-2.147.483.648 a 2.147.483.647 unsigned long int 4 0 a 4.294.967.295 float 4 Seis dígitos de precisão double 8 Dez dígitos de precisão long double 10 Dez dígitos de precisão Versão 05/12/12 Slide 18 Adaptada de http://equipe.nce.ufrj.br/adriano/c/apostila/tipos.htm#tipos
Declaração de Variáveis A linguagem C obriga a declaração explícita de cada variável da seguinte forma: tipo nome_da_variavel; Não são permitidos em nomes de variáveis: Espaços, acentos, caracteres especiais, operadores aritméticos, iniciar com números É permitido _ (underline) e não (sinal de menos/hifen) Podem ser declaradas em qualquer parte dentro do corpo do algoritmo/função Versão 05/12/12 Slide 19
Entrada de Dados Função scanf: utilizada para capturar dados da entrada padrão (normalmente o teclado). Por meio dela o programa pode capturar informações digitadas pelo usuário e armazenar em variáveis. Versão 05/12/12 Slide 20
Exercícios Crie um programa para solicitar o nome, data de nascimento, altura, peso, endereço, sexo e depois imprimir estes dados na tela Versão 05/12/12 Slide 21
Referências DE SOUZA, Marco Antonio Furlan; et al. Algoritmos e Lógica de Programação. São Paulo: Thomson, 2005. VILARIM, Gilvan. Algoritmos: Programação Para Iniciantes. Rio de Janeiro: Ciência Moderna, 2004. Versão 05/12/12 Slide 22