Автор работы: Пользователь скрыл имя, 06 Декабря 2011 в 16:05, курсовая работа
Целью курсового проекта является развитие навыков алгоритмизации, кодирования и тестирования программной продукции. В ходе выполнения курсового проекта необходимо решить шесть задач на языке программирования Pascal по темам: циклы, одномерные массивы и матрицы, строки и файлы
Введение
1 Задание 1…………………………………………………………………………………….....4
1.1 Работа программы…………………………………………………………………………...4
1.2 Назначение переменных…………………………………………………………………….4
1.3 Блок – схема алгоритма программы………………………………………………………..5
1.4 Текст программы…………………………………………………………………………….6
1.5 Тестирование……………………………………………………………………………..….6
2 Задание 2…………………………………………………………………………………….…7
2.1 Работа программы…………………………………………………………………………...7
2.2 Назначение переменных………………………………………………………………….....7
2.3 Блок – схема алгоритма программы………………………………………………………..8
2.4 Текст программы………………………………………………………………………..….9
2.5 Тестирование……………………………………………………………………………..…10
3 Задание 3………………………………………………………………………………………11
3.1 Работа программы …………………….................................................................................11
3.2 Назначение переменных………………………………………………...............................11
3.3 Блок – схема алгоритма программы………………………………………………………12
3.4 Текст программы…………………………………………………………………………...13
3.5 Тестирование……………………………………………………………………………….14
4 Задание 4……………………………………………………………………………………...14
4.1 Работа программы………………………………………………………………………….14
4.2 Назначение переменных…………………………………………………………………...14
4.3 Блок – схема алгоритма программы………………………………………………………16
4.4 Текст программы…………………………………………………………………………...17
4.5 Тестирование……………………………………………………………………………….17
5 Задание 5……………………………………………………………………………………...18
5.1 Работа программы……………………………………………………………………….....18
5.2 Назначение переменных…………………………………………………………………...18
5.3 Блок – схема алгоритма программы………………………………………………………19
5.4 Текст программы…………………………………………………………………………...20
5.5 Тестирование…….………………………………………………………………………….21
Задание 6……………………………………………………………………………………......22
6.1 Работа программы………………………………………………………………………......23
6.2 Назначение переменных…………………………………………………………………...23
6.3 Текст программы …………………………………………………………………………..24
6.4 Тестирование …………………………………………………………………………........27
Заключение……………………………………………………………………………………..29
write('M[',i,'j','] = ', Mas[i,j]);
writeln;
end;
writeln;
Summa:=0;
Max_S:=0;
for j:=1 to M do
begin
for i:=1 to N do Summa:=Summa+Mas[i,j];
write(Summa,' ');
if Summa>Max_S then Max_S:=Summa;
end.
writeln;
writeln('Max = ',Max_S);
readln;
End.
2.5 Тестирование
При вводе количество элементов массивов N, равном 3, программа работает корректно (1). При вводе количества элементов массивов M , равном 4, программа работает корректно (2). При вводе произвольного значения элементов программа также выполняет свой алгоритм (3).
1:
2:
3:
3 Задание №3
Вводится строка произвольного текста. Удалить из нее первое и последнее слово (слова разделены пробелами).
3.1 Работа программы
Вводятся две строки произвольного текста. Поменять местами их первые слова (слова разделены пробелами)
3.2 Назначение переменных
Назначение переменных, используемых в задаче приведено в таблице 4
Таблица 4 – Назначение переменных
Переменная | Тип | Назначение |
ind | integer | Индекс символа |
i | integer | элемент строки |
s | string | Строка текста |
3.3
Блок – схема алгоритма
программы
3.4 Текст программы
program Zadacha3;
uses crt;
var s1,s2,slovo1,slovo2:string;
i,n:integer;
begin
clrscr;
writeln('ўўҐ¤ЁвҐ бва®Єг');
readln(s1);
writeln('ўўҐ¤ЁвҐ бва®Єг');
readln(s2);
n:=pos(' ',s1);
slovo1:=copy(s1,1,n-1);
delete(s1,1,n);
n:=pos(' ',s2);
slovo2:=copy(s2,1,n-1);
delete(s2,1,n);
s1:=slovo2+' '+s1;
s2:=slovo1+' '+s2;
writeln(s1);
writeln(s2);
readln;
end.
3.5 Тестирование
Когда последнее слово строки оканчивается на “k”, программа выдает верный ответ (1). При наличии между словами, впереди и после строки неопределенного количества пробелов, программа также успешно выполняет свой алгоритм (2).
1:
2:
4 Задание №4
Вводится строка произвольного текста. Удвоить в ней все буквы «А» (прописные или заглавные).
4.1 Работа программы
Вводится строка, произвольного текста. В цикле идет подсчет и удвоение всех букв “А”. В конце работы программы выводится на экран все буквы “А” в удвоенном количестве.
4.2 Назначение переменных
Назначение переменных, используемых в задаче приведено в таблице 4
Таблица 4 – Назначение переменных
Переменная | Тип | Назначение |
S | string | Строка |
opn | integer | Считает отрывающиеся скобки |
cls | integer | Считает закрывающиеся скобки |
i | integer | Элемент строки |
4.3
Блок – схема алгоритма
программы
4.4 Текст программы
program Zadanie_4;
Uses CRT;
var stroka: string;
temp: string;
i: integer;
Begin
ClrScr;
writeln('Vvedite striku: ');
readln(stroka);
temp:='';
for i:=1 to length(stroka) do
if (stroka[i]='A') or (stroka[i]='a')
then temp:=temp+stroka[i]+stroka[i]
else temp:=temp+stroka[i];
writeln('Novaya stroka: ', temp);
readln;
4.5 Тестирование
Вводится строка произвольного текста, имеющая в себе буквы “а” (1). При вводе текста, программа успешно выполняет свой алгоритм (2).
1:
2:
5 Задание №5
Дан текстовый файл с произвольным именем. Создать файл B.TXT, в который поместить первую половину строк исходного файла и C.TXT, в который поместить оставшуюся половину. Вывести на экран первую и последнюю строку исходного файла.
5.1 Работа программы
Вначале происходит инициализация и создание файлов с первого по третий. Далее поочередно считываем строки из первого и второго файла и записываем их в третий (строки из первого и второго файла помещаются в хронологическом порядке). Подсчитываем количество строк в третьем файле, максимальный и среднюю длину строки. Закрываем файлы.
5.2 Назначение переменных
Назначение переменных, используемых в задаче приведено в таблице 5
Таблица 5 – Назначение переменных
Переменная | Тип | Назначение |
file1 | text | исходный текстовый файл для чтения |
file2 | text | исходный текстовый файл для чтения |
file3 | text | Хранит чередующиеся числа из 1ого и 2ого файлов |
s, s1 | string | Строки |
count | integer | Количество строк в файле |
max | integer | Максимальная длина строки |
sr | integer | Средняя длина строки |
5.3 Блок – схема алгоритма программы
5.4 Текст программы
program Zadanie_5;
Uses CRT;
var F1: Text;
F2: Text;
F3: Text;
T: string;
i: integer;
count: integer;
N: integer;
First_stroka: string;
Second_stroka: string;
Begin
ClrScr;
Assign(F1, 'File1.txt');
Reset(F1);
count:=1;
readln(F1,T);
First_stroka:=T;
while not(Eof(F1)) do
begin
readln(F1,T);
count:=count+1;
end;
Second_stroka:=T;
Close(F1);
N:=round(count/2);
Assign(F1, 'File1.txt');
Reset(F1);
Assign(F2, 'B.txt');
Rewrite(F2);
Assign(F3, 'C.txt');
Rewrite(F3);
i:=0;
while not Eof(F1) do
begin
i:=i+1;
readln(F1,T);
if i<=N then writeln(F2,T)
else writeln(F3,T);
end;
Close(F1);
Close(F2);
Close(F3);
writeln('Pervaya stroka: ', First_stroka);
writeln('Vtoraya stroka: ', Second_stroka);
readln;
end.
5.5 Тестирование
Программа выполняет заданный алгоритм.
6 Задание №6
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Удалить из заданной строки все знаки препинания.
Б. Заменить в заданной строке все цифры на пробелы.
В. Выделить первое слово заданной строки.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
6.1 Работа программы
Библиотечный модуль содержит в себе следующие подпрограммы.
В цикле функция считает количество символов отличных от пробела, после нахождения пробела счетчик количества слов увеличивается на 1 и так до завершения цикла.
В цикле процедура добавляет каждый символ строки s к строке s1. При нахождении символа пробела увеличивается значение счетчика слов. Проверяется равен ли счетчик числу введенному пользователем. Если числа равны то цикл останавливается и s1 выводится на экран это и есть искомое слово, если числа не равны то строка s1 опустошается. Цикл продолжается.
В
цикле процедура считает количество
слов в строке. После того как введенное
число пользователем будет равно с счетчиком
слов. Устанавливается первая переменная
которая послужит номером буквы в строке
с которой следует стирать символы. Дальше
ищется первый пробел после этого индекса,
и количество шагов поиска букв будет
равно длине слова. Выполняется функция
delete(). Строка выводится на экран.
Программа,
демонстрирующая
6.2 Назначение переменных
Назначение переменных, используемых в подпрограммах, приведено в таблице 6.
Таблица 6 – Назначение переменных подпрограмм модуля.
Информация о работе Программирование и основы алгоритмизации