Хелпикс

Главная

Контакты

Случайная статья





MUSICOT4.PAS



MUSICOT4.PAS

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

Составление эксплутационной документации

 

Системные требования:

 

 

Название:

Turbo Pascal 7.1

Лицензия:     

FreeWare - Бесплатная

Год выхода:

Разработчик:

Borland International, Inc.

Язык:

Английский

Платформа:

х86

ОС:    

CP/M, CP/M-86, MS-DOS,

Windows 3.x, Macintosh,

Win95, Win98, WinME, WinNT,

Win2000, WinXP, Win2003

Требования:

 - Процессор: 700 Ггц или выше.

 - Оперативная память: 128 - 256мб

 - Видеокарта: 64мб

 - Свободное место на жестком диске: 10мб

 

Для запуска программы используется файл MUSICOT4.EXE. Первоначально выводится сообщение о том кто выполнил эту программу. (Нарушение авторских прав приследуется по закону ©)

Далее после нажатия клавиши <ENTER> Выводится сообщение с текстом выполняемой программы. После нажатия <ENTER> программа приходит в исполнение и предлагает пользователю ввести первоначальные данные необходимые для выполнения программы такие как количество строк и столбцов обоих матриц и их элементы.После этого выдаётся средние арифметические обоих матриц (если возможно).Далее предлагается ввести с клавиатуры строку в которой должно содержаться слово «кошка».После ввода строки по нажатию <ENTER> выдаётся замененная строка где слово «кошка» заменено на слово «собака». По нажатию <ENTER> программа завершает исполнение и закрывается.

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

Тестирование программного продукта

 

Тест №1

Ввод размерности и элементов матрицы.

 

 

По нажатию <ENTER> выводится сообщение. В данном случае говорится о том, что количество столбцов матриц равно. Тогда выводятся средние арифметические обеих матриц.

 

 

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

 

Тест №2

В случае, когда количество столбцов второй матрицы больше

 

 

Выводится соответствующее сообщение и среднее арифметическое второй матрицы.

 

 

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

 

Тест №3

В случае, когда количество столбцов первой матрицы больше

 

 

Выводится соответствующее сообщение и среднее арифметическое первой матрицы.

 

 

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

 

 

После чего необходимо ввести строку содержащую слово «кошка».

 

 

После ввода и нажатия <ENTER> слово «кошка» в строке заменяется на слово «собака»

 

 

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

 

Заключение

 

Я, Волков Иван Николаевич, студент 2 курса группы 093 специальности 230105.51 Программное обеспечение вычислительной техники и автоматизированных систем, ФГОУ СПО «Ярославский автомеханнический техникум». Разработал отчетную программу в рамках практики для получения первичных профессиональных навыков. Для реализации программы я использовал язык программирования Turbo Pascal версия 7.0.

 

 

Достоинства:

 

Программа работает без ошибок, неточностей. Логически понятный и простой интерфейс. Ясна и понятна рядовому пользователю и требует лишь первоначальных навыков владения ПК.

 

Недостатки:

 

Огранниченные возможности языка программирования.

 

Дополнения:

 

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

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

 

Список литературы

 

  1. http://t-b-pascal.narod.ru/history.html (22.05.2011)

 

  1. Турбо Паскаль 7.0 – К.: Издательская группа BHV, 2000. – 432c.

ISBN 966-552-057-1

ISBN 5-7315-0086-X

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

 

Приложение

 

Листинг программы с комментариями:

 

program mariachi; //Название программы

uses crt; //Подключение модуля CRT

type matr=array[1..10,1..10] of integer; //описание типа матрицы

var i,j,n,m,n1,m1,t,z:integer;s:real;a,b:matr; //описание глобальных переменных

procedure vvod(var n,m:integer;var a:matr); //Процедура ввода

var i,j:integer; //описание локальных переменных

begin //Открытие операторных скобок

write('Введите количество строк');readln(n); //Запрос ввода и чтение количества //строк

write('Введите количество столбцов');readln(m); //Запрос ввода и чтение //количества столбцов

for i:=1 to n do //цикл с параметром определяющий номер строки

for j:=1 to m do // цикл с параметром определяющий номер столбца

begin //Открытие операторных скобок

write('элемент[',i,',',j,']='); //Запрос ввода элемента матрицы

readln(a[i,j]); //чтение элемента матрицы

end; //закрытие операторных скобок

end; //закрытие операторных скобок

procedure vivod(n,m:integer;a:matr); //Процедура вывода

var i,j:integer; //Описание типа переменных

begin //Открытие операторных скобок

for i:=1 to n do // цикл с параметром определяющий номер строки

begin //Открытие операторных скобок

for j:=1 to m do // цикл с параметром определяющий номер столбца

write(a[i,j]:7); //вывод переменной

writeln; //пропуск строки

end; //закрытие операторных скобок

writeln; //пропуск строки

end; //закрытие операторных скобок

procedure col(n,m:integer; a:matr;var k:integer); //процедура нахождения //количества положительных и чётных элементов

var i,j:integer; t:real; //описание локальных переменных

begin //Открытие операторных скобок

k:=0; //команда присваивания начального значения количества столбцов где все //элементы чётные и положительные

for j:=1 to m do //цикл с параметром

begin //Открытие операторных скобок

t:=0; //команда присваивания количество чётных и положительных элементов в //данном столбце

for i:=1 to n do //цикл с параметром

if (a[i,j] mod 2 =0) and (a[i,j]>0) //если при делении элемента на 2 в остатке //остаётся 0 и если элемент положителен

then // То

t:=t+1; //увеличение значения переменной на единицу

if t=n //если количество элементов в столбце удовлетворяющих условию равно //количеству строк

then //то

k:=k+1; //увеличение значения количество столбцов на единицу

end; //закрытие операторных скобок

end; //закрытие операторных скобок

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

 

function sr_arifm(n,m:integer;a:matr):real; //функция нахождения среднего //арифметического

var i,j:integer; s,k:real; //описание локальных переменных

begin //Открытие операторных скобок

s:=0; //команда присваивания значения переменной s

k:=0; //команда присваивания значения переменной k

for i:=1 to n do //цикл с параметром

for j:=1 to m do //цикл с параметром

if a[i,j]<0 //Если элемент меньше нуля

then //то

begin //Открытие операторных скобок

s:=s+a[i,j]; //команда присваивания значения переменной s

k:=k+1; //команда присваивания значения переменной k

end; //закрытие операторных скобок

if k>0 then //Если переменная k больше нуля - То

sr_arifm:= s/k else // вывод среднего арифметического или

sr_arifm:=0; //присваивание ему нуля

end; //закрытие операторных скобок

procedure stroka; //процедура ввода строки

var s:string; n:integer; //описание локальных переменных

begin //открытие операторных скобок

write('Введите строку содержащую слово "кошка"---');readln(s); //Ввод и чтение строки

if pos('кошка',s)<>0 //Если позиция слова «кошка» в строке не равна 0

then n:=pos('кошка',s); // То переменной n присваивается данная позиция

delete(s,n,5); //происходит удаление слова «кошка»

insert('собака',s,n); //Вставка слова «собака»

writeln(s,'---замененная строка'); //вывод пояснения

end; //закрытие операторных скобок

begin //открытие операторных скобок

textcolor(blue); //выбор цвета текста

textbackground(lightgray); //выбор цвета фона

clrscr; //очистка экрана

gotoxy(10,10); //перемещение курсора на указанную строчку

writeln('Программу выполнил студент группы 093 Волков Иван Николаевич');

gotoxy(10,11); //перемещение курсора на указанную строчку

writeln('В рамках практики для получения первичных профессиональных навыков');

readln; //запись данных

clrscr; //очистка экрана

gotoxy(10,11); //перемещение курсора на указанную строчку

writeln('Даны две матрицы А и В.Вычислить в каждой матрице'); //вывод текста

gotoxy(10,12); //перемещение курсора на указанную строчку

writeln('количество столбцов, где все элементы четные и положительные.'); //вывод текста

gotoxy(10,13); //перемещение курсора на указанную строчку

writeln('Для матрицы с меньшим количеством таких столбцов,'); //вывод текста

gotoxy(10,14); //перемещение курсора на указанную строчку

writeln('найти среднее арифметическое'); //вывод текста

gotoxy(10,15); //перемещение курсора на указанную строчку

writeln('отрицательных элементов.Ввести с клавиатуры строку текста'); //вывод //текста

gotoxy(10,16); //перемещение курсора на указанную строчку

writeln('и заменить все слова "кошка" на "собака".'); //вывод текста

gotoxy(10,17); //перемещение курсора на указанную строчку

writeln('При решении задач использовать процедуры и функции,'); //вывод текста

gotoxy(10,18); //перемещение курсора на указанную строчку

writeln('операторы модулей (CRT и другие)'); //вывод текста

gotoxy(10,19); //перемещение курсора на указанную строчку

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

 

readln; //запись данных

clrscr; //очистка экрана

writeln('Первая матрица');vvod(n,m,a); //ввод пояснения и первой матрицы

writeln('Вторая матрица');vvod(n1,m1,b); //ввод пояснения и второй матрицы

clrscr; //очистка экрана

writeln('Первая матрица');vivod(n,m,a); //вывод пояснения и первой матрицы

writeln('Вторая матрица');vivod(n1,m1,b); //вывод пояснения и второй матрицы

col(n,m,a,t); col(n1,m1,b,z); //вызов процедуры нахождения количества столбцов

writeln('Количество столбцов 1 матрицы',t); //Вывод пояснения и количества //столбцов первой матрицы

writeln('Количество столбцов 2 матрицы',z); //Вывод пояснения и количества //столбцов второй матрицы

if t>z then //Если переменная t больше переменной z То

begin //открытие операторных скобок

writeln('Количество столбцов первой матрицы больше'); //вывод пояснения

writeln('Среднее арифметическое 1 матрицы',sr_arifm(n,m,a):7:2) //вывод среднего //арифметического первой матрицы

end //закрытие операторных скобок

else begin //Или открытие операторных скобок

if t<z then //если переменная t меньше переменной z То

begin //Открытие операторных скобок

writeln('Количество столбцов второй матрицы больше'); //вывод пояснения

writeln('Среднее арифметическое 2 матрицы',sr_arifm(n1,m1,b):7:2) //вывод //среднего арифметического второй матрицы

end //закрытие операторных скобок

else //Или

begin //открытие операторных скобок

writeln('Число столбцов матриц равно'); //вывод пояснения

writeln('Среднее арифметическое 1 матрицы',sr_arifm(n,m,a):7:2); //вывод //среднего арифметического первой матрицы

writeln('Среднее арифметическое 2 матрицы',sr_arifm(n1,m1,b):7:2); //вывод //среднего арифметического второй матрицы

end;end; //Два закрытия операторных скобок

stroka; //вызов процедуры ввода строки

readln; //запись данных

end. //закрытие программы

 

         

ППН 230105.51.11.003.00 ПЗ 093

 

Лист

 

         
Изм. Лист № докум. Подпись Дата

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.