Para começar... Para começar... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Estruturas condicionais...

Documentos relacionados
ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO;

Linguagens de Programação I

Linguagem C (estruturas condicionais)

3. Linguagem de Programação C

Estrutura do programa

Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Comando REPITA (repeat) Comando REPITA (repeat)

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Estruturas de Decisão. Adaptado de Deise Saccol

Aula 6: Comandos Estruturados Estrutura Condicional

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1

7 Comandos e Estruturas de Controle

LP II Estrutura de Dados

Programação Básica. Estrutura de um algoritmo

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Linguagem C. Prof.ª Márcia Jani Cícero

Comando Switch. Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante.

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

Slides trabalhados durante a quinta aula

LEI 2016 LICENCIATURA EM ENGENHARIA INFORMÁTICA

Linguagem C. André Tavares da Silva.

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Introdução à Programação em C (II)

LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL

Programação: Vetores

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

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

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Programação Orientada a Objetos

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Estrutura de Seleção Múltipla Switch

Exercícios Repetição

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

Linguagem C (repetição)

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Português Estruturado (VISUALG)

Introdução à Linguagem C

Conceitos Básicos Linguagem C

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008

Algoritmos I Aula 8 Estrutura de controle: seleção

TÉCNICO DE INFORMÁTICA - SISTEMAS

11 - Estrutura de um programa em C

Estruturas Condicionais

Introdução a Linguagem C

MC102 Algoritmos e Programação de Computadores

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de condição. Prof. Alex Camargo

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Strings. Para começar... Strings. Exemplo...

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

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Linguagem C. André Tavares da Silva.

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

Linguagens de programação. Introdução ao C (continuação)

Introdução à Ciência da Computação SCC0120 Prof. Zhao Liang. Aula de Laboratório 1: Operadores, comandos básicos e comando IF 27/03/2012

ESTRUTURAS DE REPETIÇÃO - PARTE 1

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO. Prof. Esp. Fabiano Taguchi

Estruturas de Seleção Seleção Simples e Composta (parte 1)

Unidade 5: Introdução à Programação com C/C++ Prof. Daniel Caetano

Linguagem de Programação C

Vetores. e o programa deverá ler os valores separadamente:

7 Operadores e Expressões

Controlo do fluxo de execução

Introdução à Programação I

Estruturas de Repetição

Introdução a Linguagem C (Parte I) UFPA Sistemas de Informação. Roberto Araujo 2013

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA COMANDOS DE DESVIO

Fundamentos de Programação 1

Introdução à Ciência da Computação scc-120

Linguagem de Programação C. Prof. Fabrício Olivetti de França

Estrutura de Condição, Escolha e Repetição

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

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Algoritmos RESUMO - LINGUAGEM C

Comandos de desvio de fluxo. Expressões lógicas.

Linguagem de Programação

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

ESTRUTURAS DE CONTROLE

1) Operadores de auto incremento ++ e auto decremento --

Linguagem de Programação C

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

system("pause"); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

C Operadores e Expressões

5 Comando de Seleção Simples e Composta

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Estruturas de Repetição

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

controle de fluxo - condicionais

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

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados

Aula 12- Variáveis e valores reais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Transcrição:

Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: simples e composta Aula 05 Prof. Piva Estruturas condicionais... Existem comandos que, a partir de uma condição, permitem que o programa siga por um caminho ou por outro. Em programação o uso de condições para permitir a escolha de executar ou não um trecho de programa é muito utilizado, principalmente quando precisamos incluir no programa condições de controle, para evitar situações não permitidas, que podem resultar em erros. Por exemplo, para evitar divisões por zero. Imagine que se quer escrever um algoritmo/programa para ler duas notas de um aluno, calcular a média aritmética e além de imprimir os dados lidos e a média calculada, deseja-se que se imprima se, com a média obtida, o aluno está aprovado (maior ou igual a 5) ou reprovado (menor do que 5). Vejam que agora existe uma escolha a ser feita: o aluno está aprovado ou reprovado? análise do comando: as palavras se, então e senão representam o comando condicional; a condição deve ser uma expressão lógica; A resposta é: depende da média obtida. SE a média for maior ou igual a 5 ENTÃO o aluno está aprovado SENÃO, se a média for menor do que 5 então está reprovado. Reparem nas palavras escritas em letras maiúsculas, elas compõem a sintaxe dos comandos condicionais. Expressões lógicas: são as expressões cujos operadores são lógicos e cujos operandos são: relações, constantes e/ou variáveis lógicas. Algoritmo do cálculo da média do aluno Pode-se construir um comando condicional contendo uma expressão lógica muito simples contendo apenas uma variável lógica até uma contendo vários operadores lógicos e relacionais. Prof. Dr. Dilermando Piva Jr. 1

Exemplo 01: supor a variável alfa do tipo lógico significa que poderá receber os valores V (verdade) ou F (falso). se alfa = V então comando 1 senão comando 2 Assim, se alfa for verdade então é executado o comando 1. Se alfa for falso não executará o comando 1 e executará o comando 2. Observação: não é necessário comparar alfa com V, bastaria construir a condição com: se alfa então. Exemplo 02: supor as variáveis alfa e beta do tipo lógico e as variáveis x e y do tipo inteiro. se alfa = V e beta = F e (x = 0 ou y = 0) então comando 1 senão comando 2 Assim, se alfa for verdade, beta falso e, x ou y igual a zero então é executado o comando 1 senão, se qualquer coisa diferente ocorrer, pulará o comando 1 e executará o comando 2. Do exemplo anterior, na expressão lógica: alfa = V e beta = F e (x = 0 ou y = 0) cada uma das expressões: alfa = V, beta = F, x = 0, y = 0; são chamadas de expressões relacionais; o sinal de igualdade (=) que aparece nas expressões relacionais, é chamado de operador relacional e indica uma comparação. Em, x = 0, está comparando x com zero; e e ou, são os conectores, que ligam as expressões relacionais entre si, formando as expressões lógicas; V e F são constantes lógicas; alfa e beta, que são comparadas com as constantes lógicas V e F, são variáveis lógicas. Operadores Relacionais = igual a diferente de (não igual) > maior que maior ou igual a < Menor que menor ou igual a Conectores e para a conjunção ou para a disjunção não para a negação Prof. Dr. Dilermando Piva Jr. 2

início início Fim Fim Prof. Dr. Dilermando Piva Jr. 3

VisuALG Condicional simples VisuALG Condicional composta sintaxe: se <condição> entao <sequência-de-comandos> sintaxe: se <condição> entao <sequência-de-comandos-1> senao <sequência-de-comandos-2> análise do comando: se, entao (sem o til) e são palavras-chave do comando condicional; condição é uma expressão lógica que sendo verdadeira então a sequência-de-comandos é executada e sendo falsa o controle passará para o próximo comando após a palavra-chave ; análise do comando: senao (sem o til), palavra-chave, além das já existentes no comando condicional simples; condição é uma expressão lógica que sendo verdadeira então a sequência-de-comandos-1 é executada e sendo falsa a sequência-de-comandos-2 é executada. Somente após executada uma das sequências o controle passará para o próximo comando, que segue a palavra-chave ; Exemplo... Exemplo... Em VisuALG Fluxograma para encontrar o Maior e o Menor de dois números lidos var A,B,MAIOR,MENOR: inteiro inicio escreval("digite 2 números inteiros") leia(a,b) se A>B entao MAIOR <- A MENOR <- B senao MAIOR <- B MENOR <- A escreval("números lidos: ", A, e,b) escreval("maior = ", MAIOR) escreval("menor = ", MENOR) fimalgoritmo Estruturas de Decisão em C Comando if Permitir testes para decidir ações alternativas: if if - else switch (?:) Operador Condicional if (condição) instrução; #include <stdio.h> main ( ) char ch; ch = getchar ( ); if (ch == p ) printf ( você pressionou a tecla p ); if (condição) instrução1; intrução2; #include <stdio.h> main ( ) if (getchar()) == p ) printf ( você digitou p ); printf ( pressione outra tecla ); getchar( ); Prof. Dr. Dilermando Piva Jr. 4

Comando if-else Comando if-else O comando if só executa a instrução caso a condição de teste seja verdadeira, nada fazendo se a expressão for falsa. O comando else executará uma instrução ou um conjunto de instruções se a expressão for falsa. if (condição) instrução; else instrução; #include <stdio.h> main ( ) if (getchar ( ) == p ) printf ( você digitou p ); else printf ( você não digitou p ); Exemplo: Evitar divisões por Zero, usando recursos do comando if-else. include <stdio.h> main() int a,b; printf( Digite 2 números: ); scanf( %d %d,&a,&b); if (b) printf( %f,a/b); else printf( Nao posso dividir por zero\n ); Alguns detalhes Linguagem C Pré e Pós Incremento Comparações e testes Size of Conversões de Tipos Comparações e Testes Observemos antes de mais nada que ++x é diferente de x++! Se x = 10; y = ++x; /* x=x+1; y=x; */ então x = 11 e y = 11 porém Se x = 10; y = x++; /* y=x; x=x+1 */ então x = 11 e y = 10 Programa Exemplo Pre/Pos Incremento #include<stdio.h> main() int cont = 0, loop; loop=++cont; printf( Loop=%d, Cont=%d\n, loop, cont); loop=cont++; printf( Loop=%d, Cont=%d\n, loop, cont); Quais são as saídas deste programa? Prof. Dr. Dilermando Piva Jr. 5

Comparações e Testes Se x = 1; y = 2; printf( %d == %d e %d\n, x, y, x==y ) Qual seria a saída deste comando? resultaria em 1 == 2 0 (pois a expressão é falsa) Comparações e Testes if (10 > 4 &&!(10 < 9) 3 <= 4) Como seria avaliado esta instrução? resultaria em Verdadeiro, pois dez é maior que quatro E dez não é menor que nove OU três é menor ou igual a quatro Operador Sizeof Este operador retorna o tamanho da variável ou tipo que está em seu operando. Por exemplo sizeof(char) resultaria em 1. Conversões de Tipos Quando forem misturadas variáveis de diferentes tipos, o compilador C converterá os operandos para o tipo de operando maior, de acordo com as regras descritas a seguir: 1-Todo char e short int é convertido para int. Todo float é convertido para double. 2-Para os demais pares de operandos valem as seguintes regras em seqüência: 2.1- Se um operando for long double, o outro também o será. 2.2- Se um operando for double, o outro também o será. 2.3- Se um operando for long, o outro também o será. 2.4- Se um operando for unsigned, o outro também o será. Conversões de Tipos - NOTA Nota: Devemos observar que o compilador C é bastante flexível e pouco vigilante, comportando-se de maneira muito diferente de um compilador Clipper ou Pascal, sempre vigilantes com relação aos tipos das variáveis. De fato aqueles compiladores podem gerar executáveis misturando tipos, porém a ocorrência de erros de execução é quase inevitável. Ao contrário destes compiladores, os compiladores C ajeitam as coisas para o programa funcionar da melhor maneira possível, o que não significa em hipótese alguma que os resultados serão os esperados por programadores relapsos. Assim esta boa característica dos compiladores C, pode transformar-se numa autêntica bomba relógio para programas não muito bem elaborados. EXERCÍCIOS Prof. Dr. Dilermando Piva Jr. 6

EXERCÍCIO 1 FAZER UM ALGORITMO QUE LEIA DOIS NÚMEROS E ESCREVA (DEVOLVA COMO RESULTADO) O MENOR DELES. EXERCÍCIO 2 Faça um algoritmo que receba três notas de um aluno, calcule e mostre a média aritmética e a mensagem que segue a tabela abaixo. Para alunos de exame, calcule e mostre a nota que deverá ser tirada no exame para aprovação, considerando que a média do exame é 6,0 (e que a média após o exame é resultado da média aritmética entre a nota do exame e a média antes do exame). Mensagem 0,0 e <3,0 Reprovado >= 3,0 e < 7,0 Exame >=7,0 e <=10,0 Aprovado EXERCÍCIO 3 EXERCÍCIO 4 Faça um programa que receba um número inteiro e verifique se esse número é par ou ímpar. (FORBELLONE; EBERSPÄCHER, 2000 - pág. 46) Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando as seguintes fórmulas: - para homens: (72.7 * h) 58; - para mulheres: (62.1 * h) 44.7. Fonte: Slides da Aula 6 do Prof. Dr. José Nelson Falavinha Junior 40 EXERCÍCIO 5 (FORBELLONE; EBERSPÄCHER, 2000 - pág. 46) Faça um algoritmo que leia o ano de nascimento de uma pessoa, calcule e mostre sua idade e, também, verifique e mostre se ela já tem idade para votar (16 anos ou mais) e para conseguir a Carteira de Habilitação (18 anos ou mais). Fonte: Slides da Aula 6 do Prof. Dr. José Nelson Falavinha Junior 41 Prof. Dr. Dilermando Piva Jr. 7