Exercícios de revisão.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Pesquisa de Informação
Passagem de parâmetros por valor txtInOut1.Text = num1 txtInOut2.Text = num2 txtOut.Text = num3 End Sub Private Sub cmdVal_Click() Dim num1 As Integer,
Manipulação de Arquivos de Dados
Universidade Federal do Pará Serviço Público Federal Centro de Ciências Exatas e Naturais Departamento de Informática Abril/2001.
Estrutura de Dados I Profº.: ABC Sampaio
PROGRAMAÇÃO MODULAR (com uso de subprogramas) prof
Adaptado de material da profa. Maria Aparecida Livi
While While Condição // comandos End While. Exemplos While Var contador As Integer contador = 0 While (contador < 10) contador += 1 console.ConsoleWrite(contador)
GRAFOS. Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões entre pares de objetos: –Existe um caminho para ir de um.
FORTRAN 90 Denise Yumi Takamura.
SQL procedural – parte 2.
Estruturas de Dados para projeto de SGBD. Estruturas de dados analisadas Estruturas de nível Esparso Denso Combinadas Arvore B+ Tabela de hash.
Vetores Variável Composta Homogênea Unidimensional
Vetores (2) Continuação.
Sintaxe de Fortran 25/abril/2006. Comandos Fortran PROGRAM PRINT READ STOP END.
Modularização de Código. Modularizar código Construção do algoritmo em um módulo único (Início...Fim/ Program... End) Único arquivo.
Introdução ao Fortran 4/abril/2006. Pseudocódigo Compreensão do problema Elaboração da lógica de resolução Tradução da lógica para pseudocódigo.
Teste Estrutural de Software
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Agregado Homogêneo e Heterogêneo
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo XI Encadeamento de Estruturas por Ponteiros.
Curso Técnico em Informática La Salle - Canoas
Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x 0. Derivadas Chamamos esse limite, quando ele existia, de derivada de f em.
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 5a série de slides Versão 26/04/2012.
ALOCAÇÃO DINÂMICA DE MEMÓRIA
Marco Antonio Montebello Júnior
Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:
Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:
Curso de Programação em C++
Baseado no documento do Prof. Ronaldo Martins da Costa
O Portal do Estudante de Computação
O Portal do Estudante de Computação
GAUSS COM PIVOTEAMENTO
O Portal do Estudante de Computação
Paradigmas de programação
João Lucas de Oliveira Torres
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Variáveis, Tipos de Dados e Constantes
Estruturas de Controlo em Pascal
FATORAÇÃO LU.
Prof. Dr. Marcelo Duduchi
MÉTODO JACOBI.
Sub-programas. Mecanismo de composição de programas Sub-programa está para peça de LEGO assim como um programa está para a construção.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 30 (1) Empacotamento de Dados em MPI Tópicos: Buffer de Mensagem Empacotamento/Desempacotamento.
Estrutura de Dados Unidade 16 Simulação da função Fatorial utilizando recursão – 16.1 Prof. Dr. Roberto Ferrari Jr.
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Introdução ao uso de vatores na linguagem PASCAL.
Programação e Estrutura de Dados
Análise Sintática – Parte 1
Funções ou procedures Professor Esp. Diego André Sant’Ana
Computação Eletrônica Subprograma. Função O que este programa faz? Program funcao; var n,x: real; begin write('Entre n: '); readln(n); x := cos(n); write(x);
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
“Introdução a Computação” Capítulo II Estruturas de Dados
Computação Eletrônica
VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS (VETORES)
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples
Computação Eletrônica
Professor Ulisses Vasconcelos
Técnicas de Programação I
Subprogramas : Procedimentos (procedures) em Pascal
Strings.
AULA 09 PROGRAMAÇÃO I. Estruturas de Dados Heterogêneas 10/08/2010 Programação I 2 Objetivo: Estudar os tipos de dados heterogêneos:  Registros;  Arrays.
MODULARIZAÇÃO Existem dois tipos de sub-programas –Procedures (procedimentos).Não retorna valores –Functions (funçöes). Retorna valores.
MODULARIZAÇÃO Técnica utilizada e tida como vantajosa na confecção de programas. Consiste em dividir o programa em diversos módulos ou sub-programas, de.
SUB-ROTINAS EM PASCAL PROGRAMAÇÃO MODULARIZADA 252.
Técnicas de Programação I Reconhecer e aplicar corretamente o conceito da Estrutura de Repetição com variável de controle.
Matrizes.
Vetores.
Transcrição da apresentação:

Exercícios de revisão

Faça um programa que preencha por leitura um vetor de 50 posições inteiras e mostre o seu maior e menor elemento e suas respectivas posições.

program teste; const NE = 50; var I,maior,menor,Pmaior,Pmenor:integer; vet:array[1..NE] of integer; begin writeln(' Informe o vetor'); for I:=1 to NE do readln(vet[I]); maior:=vet[1]; menor:=vet[1]; Pmenor:=1; Pmaior:=1; for I:=1 to NE do begin if vet[I]>maior then begin maior:=vet[I]; Pmaior:=I; end; if vet[I] < menor menor:=vet[I]; Pmenor:=I; writeln; writeln('O maior elemento eh ',maior,' na posicao ',Pmaior); writeln('O menor elemento eh ',menor,' na posicao ',Pmenor); readln; end.

Faça um programa que preencha por leitura uma matriz 8x8 com números inteiros e mostre uma mensagem dizendo se a matriz é simétrica. Uma matriz é simétrica se M[i,j]=M[j,i], para qualquer i e j

const NL = 8; const NC = 8; var M:array [1..NL,1..NC] of integer; I,J,simetrica:integer; begin {preenchimento da matriz} writeln('informe a matriz'); for I:=1 to NL do begin writeln('linha ',I); for J:=1 to NC do readln(M[i,j]); end; {verifica se e' simetrica} simetrica:=1; do for J:=1 to NC do if M[I,J] <> M[J,I] then simetrica:=0;

{mostra a matriz e a simetria} writeln; for I:=1 to NL do begin for J:=1 to NC do write(M[i,j]:3); end; if simetrica=1 then writeln('a matriz eh simetrica') else writeln('a matriz nao eh simetrica'); readln; end.

Faça uma função que receba dois números inteiros positivos por parâmetro e forneça como saída a soma dos N números inteiros existentes entre eles. Faça um programa que use a função.

{definição da função} function somaInt(n1,n2:integer):integer; var I,aux:integer; begin somaint:=0; if n1>n2 then begin aux:=n1; n1:=n2; n2:=aux; end; for I:=n1+1 to n2-1 do somaint:=somaint+I; {programa principal} var A,B:integer; writeln('informe dois numeros inteiros'); readln(A,B); writeln('a soma dos inteiros entre eles eh: ',somaint(A,B)); readln; end.

Faça um programa Pascal que preencha por leitura dois vetores, com 5 números inteiros diferentes cada um. Calcule e mostre o seguinte vetor resultante: a união de X com Y (todos os elementos de X e Y, sem repetições)

Exemplo de solução const TV = 5; var I,J,K,jatem:integer; X,Y:array [1..TV] of integer; UNIAO: array [1..10] of integer; Begin {leitura dos vetores} writeln('informe o vetor X sem valores repetidos'); for I:=1 to TV do readln(X[I]); writeln('informe o vetor Y sem valores repetidos'); do readln(Y[I]);

{calcula o vetor UNIAO} for I:=1 to TV do UNIAO[I]:=X[I]; K:=TV; for I:=1 to TV {para percorrer o vetor Y} do begin jatem:=0; for J:=1 to TV do {para percorrer o vetor X} if Y[I]=X[J] then jatem:=1; if jatem=0 then begin K:=K+1; UNIAO[K]:=Y[I]; end; {mostra vetor UNIAO} writeln('vetor UNIAO:'); for I:=1 to K do writeln(UNIAO[I]:3); readln; end.

Faça um programa que preencha por leitura uma matriz 10x20 e informe a coluna com a maior soma e o valor da soma.

Program teste; const NL=10; NC=20; Var mat:array[1..NL,1..NC] of integer; I,K,soma,maiorsoma,col:integer; Begin writeln('informe a matriz'); writeln; for I:=1 to NL do for K:=1 to NC do begin write('posicao ',I,', ',K,': '); readln(mat[I,K]); end; maiorsoma:=mat[1,1]; col:=1; for K:=1 to NC soma:=0; do soma:=soma+mat[I,K]; if soma > maiorsoma then begin maiorsoma:=soma; col:=K; writeln('a maior soma eh ', maiorsoma,' na coluna ',col ); readln; End.

Faça um programa que mostre os 4 primeiros números perfeitos Faça um programa que mostre os 4 primeiros números perfeitos. Para saber se um número é perfeito ou não utilize uma função. Sabe-se que um número perfeito é aquele em que a soma dos seus divisores positivos, exceto o próprio, é igual a ele mesmo. Exemplos: 6 (1+2+3) e 28 (1+2+4+7+14).

Program FuncaoNroPerfeito; {definição da função} function nroPerfeito(N:integer):char; Var I,soma:integer; begin soma:=0; for I:=1 to N-1 do if N mod I = 0 then soma:=soma+I; if soma=N then nroPerfeito:='S' else nroPerfeito:='N'; end; {programa principal} var I,cont:integer; I:=1; cont:=0; repeat if nroPerfeito(I)='S' then begin writeln(' o numero ', I, ' eh perfeito'); cont:=cont+1; I:=I+1; until cont>=4; readln; end.

Desafio! Faça um programa que preencha por leitura um vetor com 10 nomes. Ordene os elementos do vetor em ordem alfabética. Mostre os elementos do vetor após a classificação.

const TV = 10; {Tamanho do Vetor} var I,J:integer; aux:string; X:array [1..TV] of string; begin writeln('informe os nomes'); for I:=1 to TV do readln(X[I]); {classifica o vetor} for I:=1 to TV do for J:=1 to TV - 1 do if X[J]>X[J+1] then begin aux:=X[J]; X[J]:=X[J+1]; X[J+1]:=aux; end; {mostra o vetor ordenado} writeln('vetor classificado em ordem alfabetica:'); for I:=1 to TV do writeln(X[I]); readln; end.