Курсовая: программы на Paskal - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

программы на Paskal

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 1406 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!
Заказать
Узнать стоимость написания уникальной курсовой работы

Узнайте стоимость написания уникальной работы

Федеральное Агентство по образованию

Волгоградского Государственного Технического Университета

Волжский Политехнический институт



Кафедра ВИТ










Семестровая работа

по программированию








Выполнил: студентка

группы №107

Соколова О.А.

Проверил:

старший преподаватель:

Фадеева Марина Викторовна













Волжский, 2006 г.


Вариант №9.

  1. Присвоить целой переменной d первую цифру из дробной части заданного положительного вещественного числа х. Например: х = 39.497, тогда d = 4.

Блок-схема:

Текст программы:

program odinodin;

uses crt;

var x,z: real;

y,d: integer;

begin

clrscr;

writeln('vvedite polozhitelnoe veshestvennoe chislo');

readln(x); {Задаем число}

z:=x*10; {Заданному числу присваиваем его значение, умноженное на 10}

y:=trunc(z); {Округляем число до целой части}

d:=y mod 10; {Делим число на 10 и берем остаток от деления}

writeln('pervaya cifra iz drobnoi chasti zadannogo polozhitelnogo chisla=',d);

readkey;

end.

Результаты программы:


x

d

23.123

1

3.567

5

2.456

4

12.657

6

3.78

7

345.67

6

34.86

8

8.09

0

56.23

2

68.987

9


  1. Составить логическое выражение, принимающее значение ИСТИНА, если ладья, расположенная на поле (x1, y1) шахматной доски, бьёт поле (x2, y2) за один ход. Напечатать значение этого выражения для заданных x1, y1, x2, y2.

Блок-схема:

Текст программы:

Program odindva;

uses crt;

var x1,y1,x2,y2: integer;

begin

clrscr;

writeln('vvedite koordinati ladii: x1');

readln(x1); {Вводим координаты поля 1}

writeln('y1');

readln(y1);

writeln('vvedite koordinati polya: x2');

readln(x2); {Вводим координаты поля 2}

writeln('y2');

readln(y2);

if ((x1=x2) and ((y2y1-7))) or {Проверяем условия, при

((y1=y2) and ((x2x1-7))) then которых, поле бьется и выводим

writeln('byot pole s 1 hoda') else writeln('ne byot pole s 1 hoda'); сведения на экран}

readkey;

end.

Результаты программы:

Координаты поля 1

Координаты поля 2

Результат

2 3

3 5

ne byot pole s 1 hoda

2 7

2 8

byot pole s 1 hoda

6 1

4 1

byot pole s 1 hoda

3 8

3 6

byot pole s 1 hoda

2 8

3 5

ne byot pole s 1 hoda

1 1

1 7

byot pole s 1 hoda

3 7

3 8

byot pole s 1 hoda

5 8

2 8

byot pole s 1 hoda

7 3

4 5

ne byot pole s 1 hoda

2 6

2 7

byot pole s 1 hoda


  1. Задано целое число n: 20  n  99. Напечатать его в словесной форме, например: 31 - тридцать один.

Блок-схема:

Текст программы:

Program odintri;

uses crt;

var n,m,k: integer;

begin

clrscr;

writeln('vvedite chislo n ot 20 do 99');

readln(n);

m:=n div 10; {Разбиваем двузначное число на два и задаем условия записи}

k:=n mod 10;

if m=2 then writeln('dvadcat');

if m=3 then writeln('tridcat');

if m=4 then writeln('sorok');

if m=5 then writeln('pyatdesyat');

if m=6 then writeln('shesdesyat');

if m=7 then writeln('semdesyat');

if m=8 then writeln('vosemdesyat');

if m=9 then writeln('devyanosto');

if k=1 then writeln('odin');

if k=2 then writeln('dva');

if k=3 then writeln('tri');

if k=4 then writeln('chetire');

if k=5 then writeln('pyat');

if k=6 then writeln('shest');

if k=7 then writeln('sem');

if k=8 then writeln('vosem');

if k=9 then writeln('devyat');

readkey;

end.

Результаты программы:

Вводимые данные

Выводимые данные

20

dvadcat

31

tridcat odin

42

sorok dva

53

pyatdesyat tri

64

shesdesyat chetire

75

semdesyat pyat

86

vosemdesyat shest

97

devyanosto sem

78

semdesyat vosem

49

sorok devyat


  1. Вычислить приближенное значение интеграла по формуле прямоугольников для заданного целого n > 39.

Блок-схема:


Текст программы:

Program dvaodin;

uses crt;

const n=40;

var a,b,f,h,x,p,s: real;

i: integer;

begin

clrscr;

a:=0.1; {Задаем пределы интегрирования}

b:=0.5;

h:=(b-a)/n; {Задаем значения по формуле}

s:=0;

for i:=1 to n do

begin

p:=(1-sqr(a+i*h))/(a+i*h+sqr(a+i*h)*( a+i*h)); {Задаем значения по формуле}

s:=s+p;

end;

f:=h*s;

writeln(f);

readkey;

end.

Результаты программы:

1.3540421380Е+00


  1. Дана квадратная матрица A(N,N). Выполнить перестановку строк и столбцов исходной матрицы таким образом, чтобы элементы первой главной диагонали упорядочились по возрастанию.

Блок-схема:

fuction proVd:

procedure zamen:

procedure printF:

procedure recur:

randomize:

Текст программы:

Program dvadva;

uses crt;

const n=3;

type massiv = array[1..n,1..n] of integer;

var mas:massiv;

i,j:integer;

function proVd(tmp:massiv):boolean; {функция проверяет главную диагональ на правильность к условию }

var toll:boolean;

i:integer;

begin

toll:=true;

for i:=1 to n - 1 do if tmp[i,i]>tmp[i+1,i+1] then toll:=false;

proVd:=toll;

end;

procedure zamen(var tmp:massiv;x,y:integer;toll:boolean); {процедура упорядочивает элементы главной диагонали по возрастанию}

var t,i:integer;

begin

for i:=1 to n do

if toll then

begin

t:=tmp[i,x];

tmp[i,x]:=tmp[i,y];

tmp[i,y]:=t;

end else

begin

t:=tmp[x,i];

tmp[x,i]:=tmp[y,i];

tmp[y,i]:=t;

end;

end;


procedure printF(tmp:massiv); {процедура выводит матрицу на экран}

var i,j:integer;

begin

for i:=1 to n do begin

for j:=1 to n do write(tmp[i,j]:4);writeln;end;

end;


procedure recur(step:integer); { главная рекурсивная процедура, которая перебирает все возможны перестановки столбцов и строк, и если диагональ стала правильной выводит полученный массив и выходит}

var i,j:integer;

k:integer;

begin

if step>n then exit;

if proVd(mas) then

begin

printF(mas);

readkey;

halt;

end;

for i:=step to n-1 do

for j:=i+1 to n do

for k:= 0 to 1 do

begin

if k = 0 then

begin

zamen(mas,i,j,true);

recur(step+1);

zamen(mas,i,j,true);

end else

begin

zamen(mas,i,j,false);

recur(step+1);

zamen(mas,i,j,false);

end;

end;

end;


begin

clrscr;

randomize; {формируем матрицу случайным образом}

for i:=1 to n do

for j:=1 to n do mas[i,j]:=random(10);

printF(mas);

writeln('---');

recur(1);

readkey;

end.

Результаты программы:

Первоначальные данные

Итоговые данные

2 4 8

3 1 3

2 7 9

1 3 3

4 2 8

7 2 9



    1. Напечатать слова заданной непустой строки в порядке увеличения их длины. Считать, что слова разделены одним или несколькими пробелами или запятой.

Блок-схема:


Текст программы:

Program dvatri;

uses crt;

var m,k,n,i,j:integer;

s,p:string;

a:array[1..100]of string;

begin

clrscr;

readln(s);

i:=1;

for j:=1 to length(s) do begin {Считаем кол-во букв в каждом слове}

if s[j]<>' ' then a[i]:=a[i]+s[j];

if ((s[j]=' ') and (s[j+1]<>' '))then i:=i+1;

end;

for j:=1 to i do begin

for n:=1 to i-1 do begin

m:=length(a[n]); {Присваиваем в цикле длину каждого слова новой переменной}

k:=length(a[n+1]);

if m>k then {Сравниваем длину слов и расставляем в порядке увеличения}

begin

p:=a[n];

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

a[n+1]:=p;

writeln(a[j]);

end;

end;

end;

readkey;

end.

Результаты программы:

Вводимые данные

Выводимые данные

123 1234 1234567 12345

123 1234 12345 1234567

Wert werty wer wertyu we

We wer wert werty wertyu

Qazxsw edc rfvb gtyhn

Edc rfvb gtyhn qazxsw

Odin dva chetitre

Dva odin chetire

123456789 12345678 1234567 123456 12345 1234 123 12 1

1 123 1234 12345 123456 1234567 12345678 123456789

Tyugh okm rfgh

Okm rfgh tyugh

Abc ab abcd

Ab abc abcd

Za z zaz

Z za zaz

Ret tero er

Er ret tero

Koluni step lex

Lex step koluni


3.1 Используя множественный тип, описать функцию f(n), подсчитывающую количество гласных букв латинского алфавита в заданной непустой строке (прописные и строчные буквы не различать), и процедуру, печатающую эту строку без гласных букв и выводящую только первые вхождения каждого символа. Составить программу, использующую описанные процедуру и функцию. Пример: My name is Ann, функция f(x) возвращает 4, а процедура печатает буквы: MNS.

Блок-схема:

functin posch:

procedure print:

Текст программы:

program triodin;

uses crt;

var

str:string;

z:integer;

function posch(b:string):integer; {Функция считает кол-во гласных}

var

stroka:set of char;

i,k,j:integer;

glas:string;

begin

k:=0; {Обнуляем счетчик}

stroka:=[]; {Обнуляем строку}

glas:='EeYyUuIiOoAa'; {Задаем множество гласных}

for j:=1 to length(str) do

begin

if (glas[j] in stroka) or (glas[j+1] in stroka) then k:=k+1; {Проверяем букву на вхождение в множество гласных и, если она входит, увеличиваем счетчик}

end;

posch:=k;

end;


procedure print(str:string); {Процедура удаляет все гласные из строки и выводит каждое первое вхождение согласных}

var i: integer;

a: set of char;

b: char;

begin

a:=['E','e','Y','y','U','u','I','i','O','o','A','a']; {Задаем множество гласных букв}

b:=[ ]; {Задаем пустое множество}

for i:=1 to length(str) do

begin

if str[i] in a then delete(str,i,1); {Если буква входит в множество гласных, стираем ее}

if str[i] in b then break else b:=b+str[i]); {Если не входит, тогда записываем ее в множество b, если она там уже есть, то возвращаемся к началу цикла}

end;

writeln(b); {Выводим буквы на печать}

end;

begin

clrscr;

writeln('Vvedite stroky');

readln(str);

z:=posch(str);

writeln('Kolichestvo glasnih= ',z);

print(str,b);

readkey;

end.

Результаты программы:

Вводимые данные

Выводимые данные

My name is ann

4 mns

He is the man

3 hsmnr

Why are you

8 whrt

How do you do it

7 hwdt

You must

4 mst

Lets go

2 ltsg

Dont care

3 dntcr

Just wait

3 jstw

May be

3 mb

He will come

4 hwlcm


3.2. Описать рекурсивную функцию для вычисления биномиального коэффициента Составить программу, вычисляющую значение для m=0,1,...,n и n=1,2,...,k, где k1 - заданное целое число.

Блок-схема:

function Binom

Текст программы:

Program tridva;

uses crt;

var

n,m,k:integer;

sum : extended;

function Binom(bn:extended;n,k,kol:integer):extended;

{bn - промежуточное значение бинома;

n - нижний коэффициент бинома;

k - верхний коэффициент бинома;

kol - число использующая для вычисления факториала}

begin

if kol<=n then

begin

if kol>k then bn:=bn*kol;

if (n - k)>= kol then bn:=bn/kol;

Binom := Binom(bn,n,k,kol+1);

end else

Binom := bn;

end;

begin

clrscr;

sum:=0;

write('k = ');

read(k);

{writeln(binom(1,20,6,1):8:0);}

for n:=1 to k do

for m:=0 to n do sum:=sum + binom(1,n,m,1);

writeln('Summa = ',sum:8:0);

readkey;

end.

Результаты программы:

Водимые данные

Выводимые данные

1

2

2

6

3

14

4

30

5

62

6

126

7

254

8

510

9

1022

10

2046



4. Описать комбинированный тип для представления экзаменационной ведомости. Составить программу, которая обеспечивает ввод информации для заданного числа студентов и распечатку введенных данных в виде таблицы. Вычислить средний балл в каждой учебной группе и напечатать по каждой группе список студентов, имеющих средний балл выше среднего балла группы.

Блок-схема:

Текст программы:

Program cheture;

uses crt;

type

z=record

name: string[25];

lastn: string[25];

group: integer;

sb: real;

end;

const

n=10;

var

i,k6,k7,k10:integer;

s: array[1..n] of z;

sb6,sb7,sb10,s6,s7,s10: real;

sbg7,sbg6,sbg10: real;

begin

clrscr;

for i:=1 to n do

begin {Водим данные о студентах: имя, фамилию, номер группы и средний балл}

writeln('vvedite imya');

readln(s[i].name);

writeln('vvedite familiyu');

readln(s[i].lastn);

writeln('vvedite nomer gruppi: 106, 107 ili 110');

readln(s[i].group);

writeln('vvedite sredniy bal studenta');

readln(s[i].sb);

end;

for i:=1 to n do

begin

writeln(s[i].name,' ' ,s[i].lastn,' ',s[i].group,' ',s[i].sb);

{Выводим данные на экран}

end;

sb6:=0; sb7:=0; sb10:=0; k6:=0; k7:=0; k10:=0; sbg6:=0; sbg7:=0; sbg10:=0; {Обнуляем все счетчики}

for i:=1 to n do

begin {Считаем кол-во студентов в каждой группе}

if s[i].group=106 then

begin

k6:=k6+1;

sbg6:=sbg6+s[i].sb;

end;

if s[i].group=107 then

begin

k7:=k7+1;

sbg7:=sbg7+s[i].sb;

end;

if s[i].group=110 then

begin

k10:=k10+1;

sbg10:=sbg10+s[i].sb;

end;

end;

s6:=sbg6/k6; {Считаем средний балл каждой группы}

s7:=sbg7/k7;

s10:=sbg10/k10;


{Сравниваем средний балл группы со средним баллом студентов этой группы, если средний балл студента выше, то выводим сведения о студенте на экран}

For i:=1 to n do

begin

if s[i].group=106 then

begin

if s[i].sb>s6 then writeln(s[i].name,' ' ,s[i].lastn,' ',s[i].group,' ',s[i].sb);

end;

if s[i].group=107 then

begin

if s[i].sb>s7 then writeln(s[i].name,' ' ,s[i].lastn,' ',s[i].group,' ',s[i].sb);

end;

if s[i].group=110 then

begin

if s[i].sb>s10 then writeln(s[i].name,' ' ,s[i].lastn,' ',s[i].group,' ',s[i].sb);

end;

end;

readkey;

end.

Результаты программы:

Вводимые данные

Выводимые данные

Daniel Carvalho 107 5

Egor Titov 110 2

Vadim Evseev 110 3, 2

Petr Bystrov 110 2,4

Alexandr Kolinko 106 3, 4

Sergei Semak 107 4,8

Dmitriy Kirichenko 107 4,4

Andrey Arshavin 106 4,1

Alexandr Kerzhakov 106 3,3

Pavel Mamaev 106 3,7

Daniel Carvalho 107 5

Andrey Arshavin 106 4,1

Pavel Mamaev 106 3,7

Vadim Evseev 110 3, 2





1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
- Вовочка!Что ты написал в сочинении? "В воскресенье было прекрасное субботнее утро". Как это может быть?
- Ну, Марь Иванна, отмечаем же день Октябрьской революции в ноябре.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, курсовая по программированию "программы на Paskal", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru