Автор: Пользователь скрыл имя, 05 Мая 2012 в 23:45, контрольная работа
Цель: Овладеть навыками организации алгоритмов и программ линейной структуры и их дальнейшей отладки на ПЭВМ в среде Borland Паскаль.
Вариант №17.
Ввести с клавиатуры исходную информацию для вычисления следующих арифметических выражений:
Числовые значения, входящие в выражения, описать как константы.
Министерство образования и науки, молодежи и спорта Украины
Государственное высшее учебное заведение
«Приазовский
государственный технический
Факультет информационных технологий
Кафедра
автоматизации технологических
процессов и производств
Контрольная работа
по
дисциплине «Компьютерные технологии
и программирование»
Выполнил
студ. гр. И-11-МА Морозов
А.В.
Проверил
доц., к.т.н. Симкин
О.И.
Мариуполь,
2012
Задание 1.
Тема: Программирование задач линейной и разветвленной структуры.
Цель: Овладеть навыками организации алгоритмов и программ линейной структуры и их дальнейшей отладки на ПЭВМ в среде Borland Паскаль.
Вариант №17.
Ввести с клавиатуры исходную информацию для вычисления следующих арифметических выражений:
Числовые значения, входящие в выражения, описать как константы.
Блок-схема алгоритма.
Текст программы.
program Zad_1;
uses crt;
var
x: real;
A,C,D: real;
const
f=10;
z=20;
t=1e-9;
begin
clrscr;
write('введите значение х=');
readln(x);
{Расчитываем значение - A}
if x>t then { x > 0 ОДЗ}
begin
A:=x*ln(x)/ln(3)-7.2*sin(x)/(
writeln(' x=',x:8:4,' A=',a:10:6)
end
else WriteLn('Значение А не существует, т.к. x<=0!');
{Расчитываем значение - С}
C:=x; {чтоб организовать проверку и не изменить занчение х}
if abs(C)>t then
C:=abs(C)/C*exp(ln(abs(C))/9); {вычисляем корень нечетной степени}
C:=z*cos(x)+C+sin(x);
writeln(' x=',x:8:4,' C=',c:10:6);
{Расчитываем значение - D}
D:=f-7.2; {расчет корня квадратного и проверка}
if D>-t then
begin
D:=sqrt(abs(D))+5.7*f;
c:=cos(x); {расчет знаменателя tg квадрат и проверка}
c:=c*c;
if c>t then
begin
D:=D-sin(f)*sin(f)/c;
writeln(' x=',x:8:4,' D=',d:10:6)
end
else WriteLn('D нет возможности посчитать, т.к. tgf*tgf не существует');
end
else WriteLn('D нет возможности посчитать, т.к. не существует квадратного корня из отрицательного числа');
readkey
end.
Результаты работы программы:
введите значение х=10
x= 10.0000 A= 21.505498
x= 10.0000 C=-16.033902
x= 10.0000 D= 58.252948
Задание 2
Тема: Программирование задач циклической структуры.
Цель: Овладеть навыком организации алгоритмов и программ циклической
структуры и отладки их в среде Borland Паскаль.
Вариант №5.
При вводе с клавиатуры символов (любых) отображать на экране их номера в ASCII. Прекращается ввод заданием символа '!'. Программа должна определить количество введенных символов.
Блок-схема алгоритма.
Текст программы.
program Zad_2;
uses crt;
var ch:char;
k:byte;
begin
clrscr;
writeln('Нажмите любую клавишу, чтоб определить ее ASCII-код');
writeln('Cимвол ! -остановит выполнение программы');
k:=0;
repeat
ch:=readkey; {ожидается нажатие клавиши}
writeln(ch,' - ','клавиша ее ASCII-код - ',ord(ch)); {вывод ASCII-кода}
k:=k+1
until ch=#33;{33-ASCII-код символа !}
writeln('Количество введенных символов - ',k);
readkey;
end.
Результаты работы программы:
Нажмите любую клавишу, чтоб определить ее ASCII-код
Cимвол ! -остановит выполнение программы
q - клавиша ее ASCII-код - 113
w - клавиша ее ASCII-код - 119
e - клавиша ее ASCII-код - 101
r - клавиша ее ASCII-код - 114
t - клавиша ее ASCII-код - 116
y - клавиша ее ASCII-код - 121
! - клавиша ее ASCII-код - 33
Количество введенных
символов - 7
Задание 3
Тема: Программирование
задач разветвляющейся
Цель: Овладеть навыком организации алгоритмов и программ разветвляющейся структуры и отладки их в среде Borland Pascal.
Вариант №13.
Описать в программе названия специальностей (можно сокращенные) и факультетов ПГТУ. По вводу названия специальности программа должна выводить на экран название факультета, которому принадлежит эта специальность.
Блок-схема алгоритма.
Текст программы.
program Zad3;
uses crt;
const n=18;
spec:array[1..n,1..2] of string=
(('перевод','Гуманитарный факультет'),
('музыковедение', 'Гуманитарный факультет'),
('украиноведение', 'Гуманитарный факультет'),
('физ.воспитание', 'Гуманитарный факультет'),
('социология', 'Инженерно-педагогический факультет'),
('философия', 'Инженерно-педагогический факультет'),
('автоматизация', 'Факультет информационных технологий'),
('информатика', 'Факультет информационных технологий'),
('высшая математика', 'Факультет информационных технологий'),
('физика', 'Факультет информационных технологий'),
('пром.транспорт', 'Факультет транспортных технологий'),
('международ.перевозки и
('авто.транспорт', 'Факультет транспортных технологий'),
('эконом.предприят', 'Экономический факультет'),
('эконом.теория', 'Экономический факультет'),
('финансы и банковское дело', 'Экономический факультет'),
('учет и аудит', 'Экономический факультет'),
('менеджмент и маркетинг', 'Экономический факультет'));
var key:string;
i,pr:byte;
begin
clrscr;
pr:=0;
write('Введите интересующую вас специальность - ');
readln(key);
for i:=1 to n do
begin
if key=spec[i,1] then
begin
pr:=pr+1;
{ begin }
writeln('Данная специальность отнесена на ',spec[i,2]);
{ break } {прервать выполнение}
{ end }
end;
end;
if pr=0 then
writeln('Данной специальности нет или допущена ошибка при вводе');
readkey
end.
Результаты работы программы:
Введите интересующую вас специальность - физика
Данная специальность
отнесена на Факультет информационных
технологий
Задание 4
Тема: Программирование задач со структурой вложенных циклов.
Цель: Овладеть навыками организации алгоритмов и программ с вложенными циклами и отладки их в среде Borland Pascal
Вариант №7.
Вычислить значения трех функций Y, Z и S в соответствии со следующими условиями: Y = sin(A), если A > B; Z = cos(B), если A < B; S = tg(A+B), если A = B.
Параметры A и B задавать генерацией псевдослучайных чисел. Значения Y, Z и S сохранить в массивах Y, Z и S соответственно. Работа программы заканчивается, когда кол-во заполненных элементов в массивах Y, Z и S достигнет 25.
Блок-схема
алгоритма.
program Zad4;
uses crt;
var
Y:array[1..25] of real;
Z:array[1..25] of real;
S:array[1..25] of real;
A,B,i,n,k,ky,kz,ks:integer;
const
t=1e-9;
begin
clrscr;
write('Задайте интервал псевдослучайных значений, от и до - ');
readln(n,k);
randomize;
ky:=0;
kz:=0;
ks:=0;
for i:=1 to 25 do
begin
A:=trunc(random*(k-n)+n);
B:=trunc(random*(k-n)+n);
if A>B then
begin
ky:=ky+1;
Y[ky]:=sin(A);
{ writeln(i,'-y element массивa Y:',Y[ky]:6:4,' ','при А=',A,' ','В=',B,' ');}
end
else if A<B then
begin
kz:=kz+1;
Z[kz]:=cos(B);
{ writeln(i,'-y element массивa Z:',Z[kz]:6:4,' ','при А=',A,' ','В=',B,' ');}
end
else if A=B then
Информация о работе Контрольная работа по дисциплине «Компьютерные технологии и программирование»