Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Algoritmos e Programação Teoria Introdução e Conceitos Básicos Marco Antonio Montebello Júnior montebello@facens.br Agenda Desenvolvimento de Software Linguagem de Programação Introdução a Linguagem C Características Variáveis Constantes Exibir informações: printf Receber valores: scanf Exercícios Desenvolvimento / Planejamento Entendimento do Problema Desafio: Criar uma árvore com balanço. Parece uma tarefa simples... Veja se você entendeu como isso deve ser realizado.... Entendimento do Problema Desenvolvimento de Software / Projetos Saber o que precisa ser feito é diferente de saber quais são os passos necessários para desenvolver o projeto A isto damos o nome de Algoritmo Um algoritmo é uma sequência de passos lógicos necessários para executar uma determinada atividade O algoritmo é o ponto mais importante no momento de planejar uma solução para desenvolver um projeto Fases do Desenvolvimento Para desenvolver um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais: ENTRADA: São os dados de entrada do algoritmo PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados Entrada → Processamento → Saída Entrada → Processamento → Saída Algoritmos Sequência de passos lógicos para resolver um problema Entrada: Quais são as informações disponíveis e necessárias para executar o processo Processamento: Como eu devo manipular estas informações para gerar o resultado esperado Saída: Apresentação do resultado gerado pelo processamento Algoritmos Como trocar uma lâmpada? 11 Algoritmos Como trocar uma lâmpada? Entrada: Uma lâmpada e uma escada Processamento: Posicionar escada abaixo da lâmpada Subir na escada Retirar a lâmpada queimada Descer da escada e jogar fora a lâmpada queimada Pegar a lâmpada nova e subir a escada Colocar lâmpada nova Testar o interruptor Saída: Lâmpada trocada e funcionando 12 Desenvolvimento de Software Processo: Multiplicar dois números fornecidos pelo usuário Algoritmo: Receber o primeiro número do usuário Receber o segundo número do usuário Multiplicar o primeiro número pelo segundo Exibir o resultado da multiplicação Processo a ser melhorado Algoritmo Análise do Processo Codificação Desenvolvimento de Software Processo a ser melhorado Algoritmo Análise do Processo Codificação Compilação Testes Documentação Processo de Desenvolvimento Desenvolvimento de Software Entenderam? Dúvidas? Podemos seguir adiante? Linguagem C A linguagem C é uma linguagem de programação estruturada que possui as seguintes características: Palavras chave da linguagem são escritas utilizando letras minúsculas Case-Sensitive: diferencia letras maiúsculas de letras minúsculas Utiliza função de entrada para determinar aonde o programa começa: main() Todos os comandos são finalizados através da utilização do ponto-e-vírgula (;) Blocos de código devem ser apresentados entre um par de chaves ({ }) Comentários // Para inserir comentários de uma única linha /* para inserir comentários que estão em várias linhas */ Linguagem C – Características É case-sensitive; Diferencia letras minúsculas de maiúsculas main() é uma função que precisa necessariamente estar presente pois é chamada quando a execução do programa começa. Linguagem C – Características Todos os comando devem ser finalizados, através da utilização do ‘;’ (ponto-e-vírgula); Para inserir comentários utilize: // para comentar apenas uma linha /* <comentário> */ para comentar mais de uma linha Linguagem C – Características Palavras reservadas: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while Linguagem C O programa possui algumas etapas essenciais: Cabeçalho: Identificando o programa com comentários Referências: Adição de referências a bibliotecas da linguagem Corpo: Identificando o código do programa em si, deve obrigatoriamente conter uma entrada main() Estrutura Básica de um Programa em Linguagem C //Diretivas e Bibliotecas //declaração de variáveis globais main() { //declaração var. locais da função main //comandos da função main } Diretivas e Bibliotecas Diretiva #include permite incluir uma biblioteca Bibliotecas contêm funções pré-definidas, utilizadas nos programas Exemplos: #include <stdio.h> Funções de entrada e saída #include <stdlib.h> Funções padrão #include <math.h> Funções matemáticas #include <system.h> Funções do sistema #include <string.h> Funções de texto Apresentação da IDE IDE (Integrated Development Environment) é um termo em inglês para representar ferramentas de desenvolvimento de software, integrando as tarefas a serem executadas (codificação, compilação, depuração, etc) Utilizaremos como IDE o CodeBlocks (http://www.codeblocks.org/), sendo esta para desenvolvimento nas linguagens C/C++ Estrutura Básica em Linguagem C #include <stdio.h> #include <stdlib.h> main() { printf(“Meu primeiro programa em C!”); printf(“Vai Curintia!!!...”); system(“pause”); } Estrutura Básica em Linguagem C #include <stdio.h> #include <stdlib.h> ou #include <conio.h> main() { //Declaração das Variáveis int iNum1; //Exibindo uma mensagem e recebendo um valor printf(“Digite um número: ”); scanf(“%i”, &iNum1); //Exibindo o valor recebido printf(“O valor digitado foi: %i.\n”, iNum1); system(“pause”); ou getch(); } Exemplos Hello World O clássico dos clássicos quando se trata de iniciar pessoas na arte da programação /* * Programa: Hello World * Aluno: XXXXXX * RA: XXXXX */ #include <stdio.h> int main() { printf(“Hello World”); return 0; } Exemplos Hello World 2 O clássico dos clássicos quando se trata de iniciar pessoas na arte da programação, mas agora você pode ver o resultado /* * Programa: Hello World * Aluno: XXXXXX * RA: XXXXX */ #include <stdio.h> #include <stdlib.h> int main() { printf(“Hello World”); system(“Pause”); return 0; } Exemplos Operação Matemática Soma de 2 números pré-definidos /* * Programa: Operação Matemática * Aluno: XXXXXX * RA: XXXXX */ #include <stdio.h> #include <stdlib.h> int main() { int a, b, c; a = 10; b = 20; c = a + b; printf(“Soma: %i\n”, c); system(“Pause”); return 0; } Podemos continuar? O que são “dados”? “Dados são informações brutas (números ou caracteres) que precisam ser processadas por um programa para se tornarem significativas.” Tipos de dados da linguagem C Tipos básicos: char - apenas 1 caractere alfanumérico int - números inteiros float - números fracionários com precisão simples double - números fracionários com precisão dupla void - indica que uma função não retorna nada Modificadores: signed unsigned long short Tipos de dados da linguagem C Palavra-chave Tamanho em Bytes Faixa de Dados char 1 -128 a 127 unsignedchar 1 0 a 255 int 2 -32.768 a 32.767 unsignedint 2 0 a 65.535 longint 4 -2.147.483.648 a 2.147.483.647 unsigned longint 4 0 a 4.294.967.295 float 4 Seis dígitos de precisão double 8 Dez dígitos de precisão longdouble 16 Dez dígitos de precisão Variáveis “Variáveis representam localizações de memória onde são armazenados dados que podem ser modificados pelo programa.” Variáveis – O que são ? Espaço e o local da memória a ser usado por um determinado valor Quantidade de Espaço Definida quando informamos qual é o tipo de valor a ser armazenado Local da Memória Na verdade, não precisamos indicar o local, mas nomear um local que é selecionado automaticamente. Locais na memória do computador são acessados através de endereços Definir (ou declarar) uma variável significa providenciar uma área na memória RAM para armazenamento de um tipo de dado em particular. Variáveis Nomes de variáveis Pode conter letras, números e caracter de sublinhado (“underscore”) O primeiro caractere do nome não pode ser numérico Não é permitido utilizar palavras-chave como nome de variáveis Por convenção, variáveis são criadas com letras minúsculas (maiúsculas são diferentes de minúsculas) Declaração de Variáveis <tipo> <nome_da_variavel>; Para uma boa prática de programação Iniciar o nome da variável com a 1ª. letra do tipo A 2ª. deve ser maiúscula e o restante minúsculas, a não ser que seja uma palavra composta, o inicio da mesma deve ser maiúscula Exemplos: int iNota1; float fMediaFinal; char cResp; Variáveis Declaração de variáveis Sintaxe: tipo nome_var; Exemplos: int x; float y, z; Inicialização de variáveis Sintaxe: nome_var = valor; Exemplos: x = 10; y = z = 10.5; Declaração e inicialização de variáveis Sintaxe: tipo nome_var = valor; Exemplo: int x = 10; Declaração de Variáveis É possível declarar várias variáveis de tipos iguais ao mesmo tempo. Exemplos: float fNota1, fNota2, fMedia; int iNum1, iNum2; char cResp, cRet, cInicial; Variáveis Inicialização de Variáveis <nome_da_variavel> = <valor>; Exemplos: iNota1 = 10; fMediaFinal = 25; Declaração + Inicialização de Variáveis <tipo> <nome_da_variavel> = <valor>; Exemplos: int iNota2 = 15; float fNum = 5.65; Constantes Constantes representam localizações de memória onde são armazenados dados que não podem ser modificados durante a execução do programa.” Constantes Nome de constantes Por convenção, constantes são criadas com letras maiúsculas Declaração e inicialização de constantes Sintaxe: #define NOME_CONST valor Exemplos: #define PI 3.1415 #define MAX 1000 Operador de Atribuição (=) Sintaxe: nome_var = expressão; Exemplos: x = 2; y = x + 3; Conversão de tipos em atribuições Regra: o valor do lado direito de uma atribuição é convertido para o tipo do lado esquerdo Exemplo: int x; float y; x = y = 3.5; y = x = 3.5; Operadores Aritméticos Binários – atuam sobre dois operandos Adição (+) Subtração (-) Multiplicação (*) Divisão (/) Mod (%) Utilizado para encontrar o resto de uma divisão Exemplos: x = 10 + 5; x igual a 15 x = 10 - 5; x igual a 5 x = 10 * 5; x igual a 50 x = 10 / 5; x igual a 2 x = 11 % 5; x igual a 1 * Operadores Relacionais São usados para comparar expressões e resultam em falso ou verdadeiro Igual (==) Maior que (>) Menor que (<) Maior ou igual (>=) Menor ou igual (<=) Diferente (!=) Exemplos: 1 == 1 retorna verdadeiro 2 > 1 retorna verdadeiro 2 < 1 retorna falso 2 >= 1 retorna verdadeiro 2 <= 2 retorna verdadeiro 2 != 2 retorna falso Função printf( ) Biblioteca de funções stdio.h Sintaxe: printf(a1, a2, a3, ..., an); Primeiro argumento (a1) chama-se string de formato, deve estar entre aspas duplas e pode conter: Texto: printf(“Boa noite!”); Códigos de barra invertida: printf(“Boa \n noite!”); Especificadores de formato: printf(“O valor de x é %i”,x); Demais argumentos (a2 ... an) chamam-se itens de dados. São quantos forem os especificadores de formato do primeiro argumento printf(“FLOAT = %f INT = %i CHAR = %c”, f, i, c); Funções da Biblioteca: printf printf(“Int: %i Float: %.2f Char: %c”, iInt, fFloat, cChar); printf(“Int: %i Float: %.2f Char: %c”, iInt, fFloat, cChar); Variável tipo int (iInt) Variável tipo float (fFloat) Variável tipo char (cChar) Especificadores de formato Código de barra invertida Função scanf( ) Biblioteca de funções stdio.h “A função scanf() é utilizada para ler dados do teclado e colocar os valores fornecidos pelo usuário nas variáveis utilizadas como parâmetros da função”. Função scanf( ) Sintaxe: scanf(a1, a2, a3, ..., an); Primeiro argumento (a1) chama-se string de formato, deve estar entre aspas duplas e pode conter: Especificadores de formato: scanf(“%i”,&x); Demais argumentos (a2 ... an) chamam-se itens de dados. São quantos forem os especificadores de formato do primeiro argumento e devem ser precedidos pelo operador & (endereço de) scanf(“%f %i %c”, &f, &i, &c); Funções da Biblioteca: scanf 52 scanf(“%i %f %c”, &iInt, &fFloat, &cChar); scanf(“%i %f %c”, &iInt, &fFloat, &cChar); Armazena o valor da variável de tipo int (iInt) Armazena o valor da variável de tipo float (fFloat) Armazena o valor da variável de tipo char (cChar) Relembrando.... #include <stdio.h> #include <conio.h> main() { //Declaração das Variáveis int iNum1; //Exibindo uma mensagem e recebendo um valor printf(“Digite um número: ”); scanf(“%i”, &iNum1); //Exibindo o valor recebido printf(“O valor digitado foi: %i.\n”, iNum1); getch(); } Dúvidas??? Exercícios Exercício 1 Calcular a média aritmética entre 4 valores Exercícios Exercício2 Elabore um algoritmo para efetuar o cálculo da quantidade de litros de cerveja consumida por um determinado bloco durante o carnaval. Outras informações: Considerar que uma caixa de cerveja tem 24 garrafas; Sabe-se que cada garrafa tem 600 ml e que 1 litro tem 1000 ml; Considerar que o carnaval são cinco dias; Receber a quantidade de caixas de cerveja consumidas durante o período. Supondo que cada caixa custa R$ 30,00, informar também o gasto em cerveja do referido bloco. Exercícios Exercício3 Criar um algoritmo para calcular o perímetro de uma circunferência. O perímetro é calculado por 2πr, onde r é o raio da circunferência. Exercícios Exercício4 Criar um programa em linguagem C para calcular o perímetro de uma circunferência. O Programa deverá exibir na tela a seguinte mensagem: ‘O perímetro da circunferência de raio X é igual a P’ Onde X e P devem ser respectivamente o raio e o perímetro da circunferência. Exercícios Exercício5 Criar um programa em linguagem C que receba o ano de nascimento de uma pessoa e calcule: Quantidade aproximada de ano; Quantidade aproximado de meses; Quantidadeaproximada de dias Exercícios Exercício6 Criar um programa em Linguagem C que receba dois números inteiros e retorne: Valor da divisão Resto da divisão Exercícios Exercício7 Criar um programa em Linguagem C que realize a conversão de grau Celsius para Fahrenheit. fFahrenheit = ((fCelsius * 9.0) / 5.0) + 32 Exercícios Exercício 8 Efetuar a cálculo da quantidade de litros de combustível gasta em uma viagem. Outras informações: Considerar que um automóvel que faz 12 Km por litro. Distância = Tempo * Velocidade. QdtLitros = Distância / 12.
Compartilhar