Написание программ на языке программирования Паскаль
Федеральное агентство
железнодорожного транспорта
Московский государственный
университет путей сообщения
Нижегородский филиал
Контрольная работа
по дисциплине «Прикладное
программирование»
на тему: «Написание программ на языке
программирования Паскаль»
Выполнил:
студент 2 курса
шифр
1360-сТПб-7166
Колосова С.С.
Проверил:
Каспаров И.В.
Н. Новгород 2013 год
Общие указания
Контрольная работа представляется на проверку в электронном виде на CD диске или другом носителе информации
и в распечатанном виде.
Пояснительная записка должна включать в себя:
1. Титульный лист, который должен содержать данные студента и его
учебный шифр. Он представляется на проверку в напечатанном виде на стандартном
листе формата А4;
2. Задание на контрольную работу;
. Описание основных этапов решения задач;
. Расчётные формулы и комментарии к ним и т.п.;
. Список использованной литературы.
Задание и методические указания к выполнению контрольной работы
В 1-ой задаче предлагается вычислить приближённое значение функций,
заданных бесконечными рядами, что широко используется при составлении
всевозможных таблиц специальных функций.
Задачи 2 и 3 посвящены обработке матричной и символьной информации
соответственно.
Задача 4 является ключевой, в ней создаётся меню, пункты которого
вызывают предыдущие задачи.
Вариант 1-й и 3-й задачи выбирается по последней, а 2-й - по
предпоследней цифрам учебного шифра студента. Вариант 4 задачи использует ранее
выбранные.
Задача 1
Задание. Для функций, представленных ниже бесконечными рядами, вычислить
их приближённые значения с точностью ε=10-3 в точке x=1,5.
Вариант 6
=.
Описание основных этапов решения задач.
При написании программы, я включила в нее следующие шаги:
. Программа выполняет формулу, стоящую в правой части равенства, и
выводит на экран ее значение при x=1,5;
. Программа вычисляет приближенное значение бесконечного ряда,
указанного в правой части равенства с точностью до члена ряда, меньшего ε=10-3 для x=1,5.
. Программа находит разность между первым и вторым значениями и
выводит ее на экран как погрешность.
Расчётные формулы и комментарии к ним.
Поскольку выражение для разложения бесконечного ряда содержит факториал,
то для простоты вычисления я выразила к-ый член ряда через (к-1)-й.
матрица символ погрешность функция
Значение первого члена ряда я вычислила и задала до цикла с помощью
оператора присваивания, а значения последующих членов - по формуле (1).
Текст программы.vichislenie;crt;,y:real;,a,s,p:real;:integer;;;(‘Вычислим значение функции y=(x+1)*e^x при x=1.5’);
x:=1.5;;:=(1+x)*exp(x);(‘y=’);(y);(‘Вычислим по-другому’);
s:=0;
k:=0;
writeln(‘Вычислим
приближенное значение правой части равенства, представленной бесконечным рядом
с точностью до exp=10^-3’);
exp:=0.001;abs(a)>=eps do:=s+a;:=k+1;:=a*x*(k+1)/(k*k);;(‘сумма ряда=’,s);(‘вычислим погрешность’);:=y-s;(‘Погрешность равна’,p);;.
Задача 2
Задание. Составить и выполнить программу согласно своему шифру (см.
указание к выполнению контрольной работы).
В а р и а н т 6
Для заданной
вещественной матрицы размера 4Х4 найти ее максимальный элемент и указать строку
и столбец, в которых он находится.
При написании программы я использовала цикл.
Текст программы.matrix;: array[1..4,1..4] of
integer;,k:byte;:=integer;
writeln;
writeln;
writeln(‘Задача
для обнаружения максимального элемента матрицы.’);
writeln;
writeln(‘Матрица
размера 4х4 задается компьютером случайным образом:’);
writeln;;i:=1 to 4 dok:=1 to 4 do[i,k]:=trunc(random*100)+1;;
end;i:=1 to 4 dok:=1 to 4 do(A[i;k]:7,’ ‘);;;;;;:=A[1,1];i:=1
to 4 dok:=1 to 4 doA[i,k]>s then s:=A[i,k];;
end;
write(‘Максимальный
элемент матрицы ‘);
write(s);;;i:=1 to 4 dok:=1 to 4 doA[i,k]=s then(‘Строка максимального элемента ’,i,’ Столбец максимального элемента ',k);
end;;;.
Задание. Составить и выполнить программу согласно своему шифру (см.
указание к выполнению контрольной работы).
В а р и а н т 6
Ввести произвольную символьную цепочку. Отсортировать её символы в
порядке неубывания (по алфавиту) вывести символы полученной цепочки с нечётных
мест.
Program stroke;,sn:string;,j,k:integer;:char;
writeln;
writeln;
writeln(‘Введите
произвольно несколько буквенных символов с клавиатуры’);
write(‘s=’);(s);i:=0 to length(s) doj:=0 to length(s)-1
dos[j]>s[j+1] then:=s[j+1];[j+1]:=s[j];[j]:=c;;
writeln;
writeln;
writeln(‘А
это символы, которые располагаются в предыдущей цепочке на нечетных местах’);
sn:=’ ‘;i:=1 to length(s) doi mod 2=1 then sn:=sn+s[i];i:=1
to length(sn) do(sn[i]);;.
Задача 5
Составить программу, меню которой содержит 3 пункта, каждый из которых
вызывает соответствующую программу из разработанных ранее согласно своему
варианту в задачах 1-3.
Текст программы.zapusk;dos;
writeln;
writeln(‘Эта
программа сейчас запустит все три программы, которые были написаны ранее.
Нажмите Enter, чтобы начать’);
readln;
exec(‘c:/z1.exe’,’ ‘);
SwapVectors;
readln;(‘c:\z2.exe’,’ ‘);;
writeln(‘И
снова нажмите Enter, чтобы запустить третью задачу’);
readln;(‘c:\z3.exe’,’ ‘);;
end.
Литература
Только интернет-ресурсы
(сайты и форумы):
1. <http://baspas.narod.ru>;
. <http://vbrus.narod.ru/PascalInfo3.htm>;
. <http://www.cyberforum.ru/pascal/thread103265.html>;
. <http://www.cyberforum.ru/pascalabc/thread423268.html>;