Скачиваний:
24
Добавлен:
05.01.2021
Размер:
242.89 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра «Корабельных систем управления»

отчет

по лабораторной работе №3

по дисциплине «Программирование и основы алгоритмизации»

Тема: ОПЕРАТОР ПЕРЕКЛЮЧЕНИЯ И

ФУНКЦИЙ ВВОДА-ВЫВОДА.

Студент гр. 9494

Лобазев Н.А.

Преподаватель

Модин Н.В.

Санкт-Петербург

2020

1. Задание на лабораторную работу.

Цель работы.

Освоение оператора переключения языка программирования MATLAB, реализация различных способов ввода данных с клавиатуры и вывода на экран.

Условие:

1. Изменить программу второй лабораторной, добавив

ввод данных с клавиатуры и вывод значений функции на экран.

2. Составить блок-схемы алгоритмов эмулятора календаря и обработки

строки символов (см. таблица 8) в соответствии с вариантом задания.

3. Написать и отладить программы в соответствии с алгоритмами.

Исходные данные:

Функция

Календарь и ввод строки

2. Блок-схемы алгоритмов решения задачи

Алгоритм функции двух переменных

Алгоритм календаря

Алгоритм выбора строки

3. Тексты программ

lab3.m

T= input('input T:');

if T<0

T=-T;

end

k=0;

x=zeros(1,21);

for t=-2*T:0.4:2*T

if t<-T

x(1,k+1)=0;

elseif t<=0

x(1,k+1)=3+3*t;

elseif t<=T

x(1,k+1)=3-3*t;

else

x(1,k+1)=0;

end

k=k+1;

if t<0

fprintf('f(%2.2f %2.2f ) = %-4.3f\n', t, T, x(1,k))

else

fprintf('f( %2.2f %2.2f ) = %-4.3f\n', t, T, x(1,k))

end

end

p=-1;

while p==-1

D=input('Enter a date(DD.MM.): ', 's');

D = sscanf(D, '%f');

DD = fix(D);

MM = fix((D-DD).*100+0.5);

switch MM

case 1

p = 0;

case 2

p = 31;

case 3

p = 58;

case 4

p = 58;

case 5

p = 120;

case 6

p = 151;

case 7

p = 181;

case 8

p = 212;

case 9

p = 243;

case 10

p = 273;

case 11

p = 304;

case 12

p = 334;

otherwise

s=['wrong type date'];

disp(s)

end

switch MM

case [1, 3, 5, 7, 8, 10, 12]

if or(DD<1, DD>31)

p=-1;

s=['wrong type date'];

disp(s)

end

case 2

if or(DD<1, DD>28)

p=-1;

s=['wrong type date'];

disp(s)

end

otherwise

if or(DD<1, DD>30)

p=-1;

s=['wrong type date'];

disp(s)

end

end

end

p = 2+p+DD;

W = mod(p, 7);

switch W

case 0

s=['This is Monday'];

case 1

s=['This is Tuesday'];

case 2

s=['This is Wednesday'];

case 3

s=['This is Thursday'];

case 4

s=['This is Friday'];

case 5

s=['This is Saturday'];

case 6

s=['This is Sunday'];

end

disp(s);

str = input('Enter your string: ','s');

A = regexpi (str,'[a, e, i, o, u, y]');

s = ['Quantity of vowels in the string: ', num2str(length(A))];

disp(s);

4. Результаты выполнения программы

Листинг:

>> lab3

input T:2

f(-4.00 2.00 ) = 0.000

f(-3.60 2.00 ) = 0.000

f(-3.20 2.00 ) = 0.000

f(-2.80 2.00 ) = 0.000

f(-2.40 2.00 ) = 0.000

f(-2.00 2.00 ) = -3.000

f(-1.60 2.00 ) = -1.800

f(-1.20 2.00 ) = -0.600

f(-0.80 2.00 ) = 0.600

f(-0.40 2.00 ) = 1.800

f( 0.00 2.00 ) = 3.000

f( 0.40 2.00 ) = 1.800

f( 0.80 2.00 ) = 0.600

f( 1.20 2.00 ) = -0.600

f( 1.60 2.00 ) = -1.800

f( 2.00 2.00 ) = -3.000

f( 2.40 2.00 ) = 0.000

f( 2.80 2.00 ) = 0.000

f( 3.20 2.00 ) = 0.000

f( 3.60 2.00 ) = 0.000

f( 4.00 2.00 ) = 0.000

Enter a date(DD.MM.): 04.12

This is Friday

Enter your string: qwertyuiopasdfghjklzxcvbnm

Quantity of vowels in the string: 6

Конец листинга.

5. Выводы.

В ходе работы мы освоили работу с простейшими математическими функциями и средствами графики в среде MATLAB, а именно с функцией построения графика, функциями управления окном графиков, основными функциями и функциями работы полиномами. По работе составлен отчёт в соответствии с предъявленными требованиями.

Соседние файлы в папке лабы 3 вар matlab