Реферат по предмету "Информатика, программирование"


Программирование на Турбо Паскале

Цель работы:
Изучение правилописания множественных типов данных, приемов использования множеств и операцийнад множествами в Паскаль-программах. Приобретение навыков решения задач сиспользованием множеств.
Задание:
Данопредложение, состоящее из латинских букв. Вывести все согласные буквы, которыевходят хотя бы в одно слово.
/>/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

/>
/>                                                               /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

/>/>/>/>/>
sum:= sum2(n,m,11,1,a)   />/>                                                                /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

/>

/>

function sum1(n,m,i,j,s,k:integer; a: matrix):integer;
/>/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

/>
function sum2(n,m,i,j,k: integer; a: matrix):integer;
/>/>/>


procedureshow_matrix(n,m: integer;a: matrix);
/>/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

/>

Программа:
{*****************************************}
{Программа:lab21 }
{Цель: поиск символов в тексте }
{Описание параметров и переменных: }
{ a — матрица }
{ i,j,n,m — вспомагательные переменные }
{ c — ключ выхода }
{ sum — сумма }
{Подпрограммы: есть }
{Программист: Кондрахин А.В., гр.343 }
{Проверил: Москвитина О.А., каф. ВПМ }
{Дата написания: 14 марта 2004 г. }
{*****************************************}
program lab21;
uses crt;
/>
type
matrix = array[1..10,1..10] of integer;
var
a :matrix;
i,j,n,m:integer;
c :char;
sum :integer;
procedure show_matrix(n,m: integer;a: matrix);
var
i,j :integer;
begin
Writeln('Матрица:');
for i:=1 to n do
begin
Write('│ ');
for j:=1 to m do
Write(a[i,j]:3);
Writeln(' │');
end;
Writeln;
Writeln('Для продолжения нажмите любую клавишу...');Readkey;
end;
function sum1(n,m,i,j,s,k: integer; a: matrix):integer;{восходящая рекурсия}
var
tsum :integer;
begin
if (i=n) and (j=m)
then begin{терминальная ветвь}
Writeln('│','Терм. ветвь':12,'│',s:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│');
sum1:=s+a[i,j];
end {терминальная ветвь}
else if not(i=n) and (j=m)
then begin{рекурсивная ветвь}
Writeln('│','Вход ',k:7,'│',s:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│');
tsum:=sum1(n,m,i+1,1,s+a[i,j],k+1,a);
sum1:=tsum;
Writeln('│','Выход ',k:6,'│',tsum:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│')
end {рекурсивная ветвь}
else begin{рекурсивная ветвь}
Writeln('│','Вход ',k:7,'│',s:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│');
tsum:=sum1(n,m,i,j+1,s+a[i,j],k+1,a);
sum1:=tsum;
Writeln('│','Выход ',k:6,'│',tsum:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│')
end; {рекурсивная ветвь}
end;{восходящая рекурсия}
function sum2(n,m,i,j,k: integer; a: matrix):integer;{нисходящая рекурсия}
var
tsum :integer;
begin
if (i=n) and (j=m)
then begin {терминальная ветвь}
Writeln('│','Терм. ветвь':12,'│',a[i,j]:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│');
sum2:=a[i,j];
end {терминальная ветвь}
else if not(i=n) and (j=m)
then begin{рекурсивная ветвь}
Writeln('│','Вход ',k:7,'│',0:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│');
tsum:=sum2(n,m,i+1,1,k+1,a)+a[i,j];
sum2:=tsum;
Writeln('│','Выход ',k:6,'│',tsum:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│')
end {рекурсивная ветвь}
else begin{рекурсивная ветвь}
Writeln('│','Вход ',k:7,'│',0:26,'│','a[',i,',',j,']=',a[i,j]:7,'│');
tsum:=sum2(n,m,i,j+1,k+1,a)+a[i,j];
sum2:=tsum;
Writeln('│','Выход ',k:6,'│',tsum:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│')
end; {рекурсивная ветвь}
end;{нисходящая рекурсия}
begin
ClrScr;
c:='Y';
while (UpCase(c)='Y') do
begin
Write('Введите число строк:');Readln(n); {Ввод данных}
Write('Введите число столбцов:');Readln(m);
Writeln('Введите матрицу:'); {Ввод матрицы}
for i:=1 to n do
begin
for j:=1 to m do
begin
Write('a[',i,',',j,']=');Read(a[i,j]);
end;
Writeln;
end;
show_matrix(n,m,a); {Эхо-вывод матрицы}
Writeln(verh);Writeln(inc1);Writeln(cent1);
Writeln('│','Восходящая':12,'│ │ │');
sum:=sum1(n,m,1,1,0,1,a); {Вызов рекурсии}
Writeln(niz);
Writeln('СУММА:',sum:51);Writeln;
Writeln('Для продолжения нажмите любую клавишу...');Readkey;
Writeln(verh);Writeln(inc1);Writeln(cent1);
Writeln('│','Нисходящая':12,'│ │ │');
sum:=sum2(n,m,1,1,1,a); {Вызов рекурсии}
Writeln(niz);
Writeln('СУММА:',sum:51);Writeln;
Write('Ввести еще одну матрицу? (Y/N):');
c:=Readkey;Writeln(c);
Writeln;
end;
end.
Просчет контрольного варианта на ЭВМ:
Введите число строк:3
Введите число столбцов:3
Введите матрицу:
a[1,1]=1
а[1,2]=2
а[1,3]=Ч
a[2,1]=6
а[2,2]=3
а[2,3]=7
a[3,1]=8
а[3,2]=5
а[3,3]=9
Матрица:
│ 1 2 Ч │
│ 6 3 7 │
│ 8 5 9 │
Для продолжения нажмителюбую клавишу...Рекурсия Значение суммы значения i, j
Восходящая
Вход 1
Вход 2
Вход 3
Вход 4
Вход 5
Вход 6
Вход 7
Вход 8
Терм, ветвь
Выход 8
Выход 7
Выход 6
Выход 5
Выход 4
Выход 3
Выход 2
Выход 1
1
3
7
13
16
23
31
36
45
45
45
45
45
45
45
45
а[1,1]= 1
а[1,2]= 2
a[1,3]= 4
а[2,1]= 6
а[2,2]= 3
а[2,3]= 7
а[3,1]= 8
а[3,2]= 5
а[3,3]= 9
а[3,2]= 5
а[3,1]= 8
а[2,3]= 7
а[2,2]= 3
а[2,1]= 6
а[1,3]= 4
а[1,2]= 2
а[1,1]= 1
СУММА                                                                      45
Для продолжения нажмителюбую клавишу.Рекурсия Значение суммы значения i, j
Нисходящая
Вход 1
Вход 2
Вход 3
Вход 4
Вход 5
Вход 6
Вход 7
Вход 8
Терм, ветвь
Выход 8
Выход 7
Выход 6
Выход 5
Выход 4
Выход 3
Выход 2
Выход 1
9
14
22
29
32
38
42
43
45
а[1,1]= 1
а[1,2]= 2
a[1,3]= 4
а[2,1]= 6
а[2,2]= 3
а[2,3]= 7
а[3,1]= 8
а[3,2]= 5
а[3,3]= 9
а[3,2]= 5
а[3,1]= 8
а[2,3]= 7
а[2,2]= 3
а[2,1]= 6
а[1,3]= 4
а[1,2]= 2
а[1,1]= 1
СУММА                                                                      45
Ввести еще одну матрицу?(Y/N):n


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Управлінські моделі. Цільові управлінські моделі
Реферат Chopin And Ravel Essay Research Paper Chopin
Реферат Аннотация рабочей программы учебной дисциплины внешнеэкономическая деятельность Направление подготовки 080100 «Экономика»
Реферат Виготовлення штока бурового насосу УНБ 600
Реферат Повышение производительности труда при поливе картофеля
Реферат Анализ политики качества организации на соответствие требованиям стандартов
Реферат Законодательство о праве собственности и других вещных правах
Реферат Musical Controversy Essay Research Paper There is
Реферат Организация питания туристов "Шведский стол"
Реферат Friar Laurence Always Intended The Best For
Реферат Indian Imperialism Essay Research Paper Britian was
Реферат оценка формирования и распределения доходов предприятия торговли в современных условиях
Реферат И. С. Шмелев
Реферат Релігієзнавство як сфера гуманітарного знання
Реферат Высокомолекулярные флокулянты в процессах очистки природных и сточных вод