Курсовая: программы на 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Экономико-математическое моделирование
91Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Один чувак был неисправимым оптимистом и во всем видел лишь положительные стороны. Однажды друг ему рассказывает:
- Ты представляешь, Колян вчера вернулся домой из командировки, застал жену в постели с любовником, взял ружье, застрелил их обоих, а потом застрелился сам!
- Ух ты, вот здорово!
- Здорово?? Ты что, не понимаешь, что произошла самая настоящая трагедия???
- Это да, но если бы Колян вернулся на день раньше, то убитым оказался бы я.
Anekdot.ru

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

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

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


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