Algoritmos e Programação

Documentos relacionados
Algoritmos e Programação

Disciplina de Algoritmos e Programação

Algoritmos e Programação

ALGORITMO ALGORITMO NÃO COMPUTACIONAL

Português Estruturado

Portugol. Tiago Alves de Oliveira

Algoritmos e Programação

Algoritmos e Programação

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Algoritmo e Programação Matemática

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Algoritmos e Técnicas de Programação

Algoritmos e Programação

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Técnicas de Programação

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo

Oficina de Python Prof. Me. José Carlos Perini

Exercícios Repetição

Carlos Michel Betemps

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Oficina de Python Prof. Me. José Carlos Perini

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Pseudocódigo e Visualg

Aula 4: Introdução à Linguagem C++

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

Linguagem de programação Java

Programação de Redes de Computadores

Estrutura do programa

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Pseudolinguagem (ou Portugol) Profº Elton Rodrigo

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Prof. Jorge Cavalcanti

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Aula 3: Algoritmos: Formalização e Construção

Algoritmos I Aula 5 Visualg

Linguagem C Princípios Básicos (parte 1)

Pseudocódigo e visualg

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

Programação: Vetores

Modularidade - Funções e Procedimentos

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Noções de algoritmos - Aula 1

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Algoritmos: tipos de dados, variáveis e expressões

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

Introdução a Programação de Jogos

SUMÁRIO INTRODUÇÃO... 3 ALGORITMO... 4 ALGORITMO NÃO COMPUTACIONAL... 7 PROGRAMA... 7 LINGUAGENS DE PROGRAMAÇÃO... 8

Linguagem C: Introdução

Introdução ao VisuALG

Algoritmos Computacionais

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

Aula 4 Lógica de Programação

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares

Programação Estruturada

Algoritmos e Programação

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

Algoritmos e Programação

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Algoritmos e Programação

Algoritmos. Conceitos e Comandos

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

Introdução aos Algoritmos

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

3. Linguagem de Programação C

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica

CONCEITOS DE ALGORITMOS

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

ALGORITMOS AULA 2. Profª Amanda Gondim

Lógica de Programação I. Gilson de Souza Carvalho

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Tipos Primitivos, estruturas de iteração e decisão.

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Linguagem C. André Tavares da Silva.

Introdução à Ciência da Computação

Lógica de Programação, Algoritmos e Estruturas de Dados

Variáveis primitivas e Controle de fluxo

Programação Estruturada Aula VisualG

Programação Estruturada

Introdução aos Algoritmos

Transcrição:

Algoritmos e Programação Aula 2 Elementos fundamentais de Algoritmos, Conceitos de Variáveis Profa. Marina Gomes marinagomes@unipampa.edu.br 21/03/2017 Engenharia de Computação - Unipampa 1

Aula de Hoje Conceito de variável - Diferenciação entre valores que permanecem constantes em um problema e de valores que variam; - Regras para o estabelecimento de nomes de variáveis; - Processo de transferência de dados da memória para a CPU; - Tipos de variáveis (int, float, double, char, void); - Modificadores de tipo (long, unsigned, cast); - Compatibilidade entre tipos; 21/03/2017 Engenharia de Computação - Unipampa 2

Variáveis É toda informação que tem possibilidade de se alterar no decorrer do tempo Variáveis são endereços de memória destinados a armazenar informações temporariamente Todo Algoritmo ou programa deve possuir variável 21/03/2017 Engenharia de Computação - Unipampa 3

Tipos de Dados Todas as Variáveis devem assumir um determinado tipo de informação 21/03/2017 Engenharia de Computação - Unipampa 4

Tipos de Dados Tipos Básicos (Linguagem C) 21/03/2017 Engenharia de Computação - Unipampa 5

Tipos de Dados Modificadores de Tipo (Linguagem C) 21/03/2017 Engenharia de Computação - Unipampa 6

Variáveis de Entrada e Saída Variáveis de Entrada armazenam informações fornecidas por um meio externo, normalmente usuários ou discos Variáveis de Saída armazenam dados processados como resultados De acordo com a figura anterior A e B são Variáveis de Entrada e C é uma Variável de Saída 21/03/2017 Engenharia de Computação - Unipampa 7

Identificadores São os nomes dados a variáveis, constantes e programas Regras para construção de Identificadores: - Devem possuir como 1º caractere uma letra ou Underline (_) - Ter como demais caracteres letras, números ou Underline - Ter no máximo 127 caracteres - Não possuir espaço em branco e acentuação 21/03/2017 Engenharia de Computação - Unipampa 8

Identificadores São os nomes dados a variáveis, constantes e programas Regras para construção de Identificadores: - A escolha de letras maiúsculas ou minúsculas é indiferente - Palavras reservadas: auto, asm,..., break, char,..., const,..., do, else,... Palavras que já tem definição dentro da linguagem. 21/03/2017 Engenharia de Computação - Unipampa 9

Declaração de Variáveis Ex.: X: Inteiro; NOME, ENDEREÇO, DATA: Caractere; ABC, PESO: Real; RESPOSTA: Lógico; 21/03/2017 Engenharia de Computação - Unipampa 10

Sinal de Atribuição Uma variável nunca é eternamente igual a um valor, seu conteúdo pode ser alterado a qualquer momento. Portanto, para atribuir valores a variáveis devemos usar os sinal de := ou = Exemplos: A := 2 B = 3 C := A + B 21/03/2017 Engenharia de Computação - Unipampa 11

Inicialização de Variáveis Pode ser feita junto da declaração ou após ela - Ex.: junto à declaração int variavel = 1; //declaração e inicialização da variável inteira - Ex.: após à declaração int variavel; //declaração da variável inteira variavel = 1; //inicialização da variável inteira A inicialização está ocorrendo com a constante 1. Veremos que esta inicialização pode ser feita de outras formas 21/03/2017 Engenharia de Computação - Unipampa 12

Comandos de Entrada/Saída (E/S) LER Comando de entrada que permite a leitura de Variáveis de Entrada ESCREVER Comando de saída que exibe uma informação na tela do monitor 21/03/2017 Engenharia de Computação - Unipampa 13

Operadores Relacionais Utiliza-se estes operadores para realizar comparações entre dois valores de mesmo tipo primitivo Estes valores podem ser variáveis, constantes ou expressões aritméticas Ex. 1: 17 div 3 == 20/4 5 == 5 V Ex. 2: 3**2-3 == 45 mod 6*3 9-3 == 3*3 6 == 9 F 21/03/2017 Engenharia de Computação - Unipampa 14

Operadores Relacionais Servem para comparar duas expressões Normalmente o resultado é Verdadeiro ou Falso Exercício Sabendo que A=3 e C=4, informe se as expressões abaixo são verdadeiras ou falsas a) (A+C)>B ( ) b) B >= (A+2) ( ) c) (B+A) <= C ( ) d) (C+A) < C ( ) e) C == (B-A) ( ) 21/03/2017 Engenharia de Computação - Unipampa 15

Operadores Lógicos Atuam sobre expressões retornando sempre valores lógicos como Falso ou Verdadeiro 21/03/2017 Engenharia de Computação - Unipampa 16

Expressões Lógicas As expressões compostas de relações sempre retornam um valor lógico Exemplos: 2 + 5 > 4 Verdadeiro 3<>3 Falso De acordo com a necessidade, as expressões podem ser unidas pelos operadores lógicos 21/03/2017 Engenharia de Computação - Unipampa 17

Expressões Lógicas Considere a seguinte atribuição de valor para as variáveis: A=3, B=4, C=8. avalie as expressões a seguir indicando o resultado final: verdadeiro ou falso. a) A > 3 E C == 8 ( ) b) A <> 2 OU B <= 5 ( ) c) A == 3 OU B >= 2 E C == 8 ( ) d) A == 3 E NÃO B <= 4 E C == 8 ( ) e) A <> 8 OU B == 4 E C > 2 ( ) f) B > A E C <> A ( ) g) A > B OU B < 5 ( ) h) A <> B E B == C ( ) i) C > 2 OU A < B ( ) j) A >B OU B > A E C <> B ( ) 21/03/2017 Engenharia de Computação - Unipampa 18

Linearização de Expressões Para a construção de Algoritmos todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas É importante também ressaltar o uso dos operadores correspondentes da aritmética tradicional para a computacional 21/03/2017 Engenharia de Computação - Unipampa 19

Modularização de Expressões A modularização é a divisão da expressão em partes, proporcionando maior compreensão e definindo prioridades para resolução da mesma Em expressões computacionais usamos somente parênteses ( ) para modularização Na informática podemos ter parênteses dentro de parênteses 21/03/2017 Engenharia de Computação - Unipampa 20

Corpo Geral de um Programa ALGORITMO <Nome_Do_Algoritmo> VAR <<identificadores>> : <<Tipo>>; <<Tipo>> <<Identificadores>>; INICIO Comandos de Entrada, Processamento e Saída FIM <<COMANDO1>> <<COMANDO2>> 21/03/2017 Engenharia de Computação - Unipampa 21

Programação Estruturada Estabelece uma disciplina de desenvolvimento de algoritmos que facilita a compreensão de programas através do número restrito de mecanismos de controle da execução de programas Qualquer algoritmo, independentemente da área de aplicação, de sua complexidade e da linguagem de programação na qual será codificado, pode ser descrito através destes mecanismos básicos O princípio básico de programação estruturada é que um programa é composto por blocos elementares de código que se interligam através de três mecanismos básicos, que são sequência, seleção e iteração (repetição) 21/03/2017 Engenharia de Computação - Unipampa 22

Resumidamente Inicialmente faremos uma estrutura sequencial Não tendo que executar todas as ações chamamos de estrutura seletiva Quando não podemos executar a estrutura de seleção, por termos que repetir certos passo em algum algoritmos, podemos e devemos utilizar uma estrutura de repetição 21/03/2017 Engenharia de Computação - Unipampa 23

Obstáculos de um programador O maior obstáculo para um programador, é a complexidade que deve ser vencida para que o objetivo deva ser alcançado Complexidade pode ser definida por uma variedade de situações diferentes que um problema pode apresentar e que podem ser previstas Podendo surgir a partir do momento em que passamos a soluções mais complexas do que as necessárias para a resolução dos problemas 21/03/2017 Engenharia de Computação - Unipampa 24

Legibilidade Quanto mais legível for um algoritmo, menor será a complexidade dele, ou seja, será mais fácil para um observador entender o objetivo do algoritmo. 21/03/2017 Engenharia de Computação - Unipampa 25

Portabilidade Os algoritmos oferecem a facilidade de serem convertidos para diferentes linguagem de programação, já que é representado em português, além de se preocupar com a lógica do problema. 21/03/2017 Engenharia de Computação - Unipampa 26

Método cartesiano Este método consiste na divisão do problema em partes menores, tornando-o mais simples Podemos esquematizar o seguinte procedimento para este método: - Dividir o problema em suas partes principais - Analisar a divisão obtida para garantir a coerência - Se alguma parte não for compreendida aplicar a ela o método (dividi-la) - Analisar o objeto para garantir o entendimento e coerência 21/03/2017 Engenharia de Computação - Unipampa 27

Métodos para a construção de um algoritmo Ler atentamente o enunciado Retirar do enunciado a relação das entradas de dados - Descobrir que dados devem ser fornecidos pra que os cálculos sejam desenvolvidos Retirar do enunciado a relação das saídas de dados - Descobrir que dados devem ser emitidos para que o objetivo do algoritmo seja alcançado Determinar o que deve ser feito para transformar as entradas determinadas nas saídas específicas 21/03/2017 Engenharia de Computação - Unipampa 28

Métodos para a construção de um algoritmo Construir o algoritmo, podendo aplicar o método cartesiano ou ainda construindo um algoritmo definitivo Executar o algoritmo, ou seja, executar as ações estabelecidas, verificando se os resultados correspondem ao esperado e assim, detectando algum erro no desenvolvimento do algoritmo 21/03/2017 Engenharia de Computação - Unipampa 29

Estrutura Programa NomeDoPrograma; 1.{Denominação do programa} Variáveis 2. {Declaração de variáveis} Início 3. {Início do bloco principal do programa} 4. {Iniciar as variáveis de controle ou que receberão cálculos} 5. {Solicitar entrada de dados ao usuário} 6. {Entrada de dados} 7. {Processamento e cálculos} 8. {Saída de informações} Fim 9. {Final do bloco principal do programa} 21/03/2017 Engenharia de Computação - Unipampa 30

Lembrete O texto que estiver dentro de { } ou // significa comentários e não influência na execução do programa Deve-se colocar no final de instrução sempre um ; 21/03/2017 Engenharia de Computação - Unipampa 31

Exemplo1 de português estruturado Escreva um programa que imprima na tela olá mundo Modifique o programa para receber um nome e imprimir na tela ola nome_digitado 21/03/2017 Engenharia de Computação - Unipampa 32

Exercícios 1. Calcular a área de um triângulo. Recebe o valor da base. Recebe o valor da altura. Calcula a área. Mostra a área. 2. Descobrir quais os números adjacentes. Recebe um valor digitado pelo usuário. Mostra o seu sucessor. Mostra o seu antecessor. 3. Mostrar o quadrado de um número. Recebe o numero. Calcula o seu quadrado. Mostra seu quadrado. 4. Mostrar o cubo de um numero. Recebe o número. Calcula seu cubo. Mostra seu cubo. 5. Calculo percentual. Recebe o peso de uma pessoa. Recebe o percentual de emagrecimento. Calcula o novo peso. Mostra seu novo peso. 6. Conversão Celsius em Fahrenheit. Recebe a temperatura em Celsius. Converte a temperatura em Fahrenheit (celsius*1,8 + 32). Mostra a Temperatura convertida. 7. Em quantos meses o custo da transição para energia renovável será compensado? Recebe o Custo de implementação. Recebe o Custo mensal energia convencional. Calcula a quantidade de meses. Mostra a quantidade de meses. 21/03/2017 Engenharia de Computação - Unipampa 33