Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика(практика).doc
Скачиваний:
22
Добавлен:
09.02.2015
Размер:
122.37 Кб
Скачать

Описать класс, реализующий стек.

// p9.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include "stdio.h"

class Stack {

private :

typedef struct st {

int ch;

struct st *ps;

} STACK;

STACK *p;

STACK *q;

public :

Stack () {

p = NULL;

q = NULL;

}

void push ( int val ) {

q = new STACK;

q->ps = p;

p = q;

q->ch = val;

return;

};

void pop ( int *pval ) {

*pval = q ->ch;

p = q->ps;

delete q;

q = p;

return;

};

};

Int main(int argc, char* argv[])

{

Stack a;

int i;

a.push(1);

a.push(2);

a.push(3);

a.push(4);

a.push(5);

a.pop(&i);

printf("%d\n", i );

a.pop(&i);

printf("%d\n", i );

a.pop(&i);

printf("%d\n", i );

a.pop(&i);

printf("%d\n", i );

a.pop(&i);

printf("%d\n", i );

return 0;

}

Просмотр результата проги в Pascal Debug->Output

Дана последовательность чисел . Используя сортировку выбором, написать программу (на языке Visual Basic или Pascal) упорядочивания элементов по убыванию.

const

SIZE=255;

var

a : array[1..SIZE] of integer;

min, i, j, n, t : integer;

begin

write('vvedite n: ');

readln(n);

write('vvedite massiv: ');

for i := 1 to n do

read(a[i]);

for i := 1 to n - 1 do

begin

min := i;

for j := i + 1 to n do

if a[min] > a[j] then

min := j;

t := a[i];

a[i] := a[min];

a[min] := t;

end;

for i := 1 to n do

write(a[i], ' ');

writeln;

end.

Дана последовательность чисел . Используя сортировку обменами, написать программу (на языке Visual Basic или Pascal) упорядочивания элементов по возрастанию.

const

SIZE=255;

var

a : array[1..SIZE] of integer;

min, i, j, n, t : integer;

begin

write('vvedite n: ');

readln(n);

write('vvedite massiv: ');

for i := 1 to n do

read(a[i]);

for i := 1 to n do

begin

for j := n downto i do

begin

if a[i] > a[j] then

begin

min := a[j];

a[j] := a[i];

a[i] := min;

end;

end;

end;

for i := 1 to n do

write(a[i], ' ');

writeln;

end.

Дана последовательность чисел . Используя сортировку вставками, написать программу (на языке Visual Basic или Pascal) упорядочивания элементов по убыванию.

const

SIZE=255;

var

a : array[1..SIZE] of integer;

min, i, j, n, t : integer;

begin

write('vvedite n: ');

readln(n);

write('vvedite massiv: ');

for i := 1 to n do

read(a[i]);

for i:=1 to n do

begin

t := a[i];

j:=i-1;

while (j>=0) and (a[j] > t) do

begin

a[j+1]:=a[j];

j:=j-1;

end;

a[j+1]:=t;

end;

for i := 1 to n do

write(a[i], ' ');

writeln;

end.

Написать программу на языке Pascal для решения задачи: Вычислить значение суммы членов бесконечного ряда c заданной точностью ε. На печать вывести значение суммы и число членов ряда, вошедших в сумму.

const

eps=0.001;

var

x, s, Sum : Double;

n, k, fak : Integer;

begin

Sum:=1;

s:=1;

n:=0;

repeat

n := n + 1;

fak := 1;

for k := n downto 1 do fak := fak * k;

s := cos(n*x)/fak;

Sum:= Sum+s;

until abs(s)<Eps;

writeln('Sum chlenov radya: ',Sum);

writeln('Count: ',n);

end.

Написать программу на языке Pascal для решения задачи: Протабулировать функцию при изменении аргумента в указанном диапазоне и c заданным шагом. Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы.

VAR

x, y,

xmin, xmax, dx : Real;

BEGIN

Writeln('Tab function.');

xmin := 2;

xmax := 5;

dx := 0.25;

x := xmin;

WHILE x<=xmax DO begin

if x > 3.5 then

begin

y := sin(x)*(ln(x)/ln(10));

end

else

begin

y := cos(x)*cos(x);

end;

Writeln(x:6:3, ' ', y:6:3);

x := x+dx;

end;

Readln

END.

Написать программу на языке Pascal для решения задачи: Отредактировать заданное предложение, заменяя многоточия точкой.

VAR

s : String;

i, j : integer;

BEGIN

Write('Vvedite string:');

readln(s);

for i := 1 to Length(s) do

begin

if copy(s,i,3) = '...' then

begin

delete(s,i,2);

end;

end;

writeln(s);

END.