Помощь студентам дистанционного обучения: тесты, экзамены, сессия
Помощь с обучением
Оставляй заявку - сессия под ключ, тесты, практика, ВКР
Скоро вступительные экзамены?

Лабораторная работа по программированию (Вариант 56)



Помощь с дистанционным обучением
Получи бесплатный расчет за 15 минут
 

Введите контактный e-mail:

 

Введите номер телефона

 

Что требуется сделать?

 

Каким способом с Вами связаться?:

E-mail
Телефон
Напишем вам на вашу почту
 
Перезвоним вам для уточнения деталей
 
Перезвоним вам для уточнения деталей
 

или напишите нам прямо сейчас

Написать в WhatsApp
 

1. Введение
Лабораторная работа № 1 посвящена созданию программ с использо-ванием простых управляющих структур: условного оператора, цикла. В за-дании используются простые типы данных (нет необходимости использовать массивы). Поэтому программы, написанные с использованием массивов, не засчитываются. Кроме того, программы должны быть разработаны в рамках структурного программирования. В частности, запрещается использовать операторы перехода и метки.
Задание состоит из двух задач. Решение первой задачи предусматрива-ет использование простых типов данных, а решение второй задачи – строко-вого типа данных. В ходе выполнения лабораторной работы необходимо со-ставить программы на языке Паскаль. В некоторых программах полезно определить вспомогательные функции или процедуры. Во всех задачах строки вводятся пользователем с клавиатуры.
Многие задачи лабораторной работы № 1 имеют вид: «Дана последо-вательность из n (действительных) целых чисел. Определить (вычислить) …» или «Даны натуральное n и вещественные числа a1, a2, …, an. Определить (вычислить) …» и т.п. Во всех этих задачах не требуется хранения исходных последовательностей значений. Вводится n, затем в цикле, работающем n раз, осуществляется пошаговый ввод чисел, и определенным образом посте-пенно вычисляется необходимый результат.

2. Анализ задачи № 1

Задача 1
Даны целое n>2 и вещественные числа a1, b1, …, an, bn (ai < bi). Рассмат-ривая пары ai и bi как левые и правые концы отрезков на одной и той же прямой, определить концы отрезка, являющегося пересечением всех этих от-резков. Если такого отрезка нет, сообщить об этом. Например, если n = 3 и a1 = 0, b1 = 10, a2 = 1, b2 = 11, a3 = –1, b3 = 5, то результатом будет отрезок [1, 5].
Поскольку для отрезка являющегося пересечением всех отрезков левая его граница является наибольшим значением последовательности a1, a2,…an, а правый конец является наименьшим значением последовательности b1, b2, …, bn, то для построения такого отрезка необходимо найти эти величины.

3. Решение задачи № 1

3.1. Описание используемых переменных, обоснование выбора типа данных

n – количество отрезков
i – счетчик цикла
a,b – начало и конец текущего отрезка
max_a –
min_b:real; // текущий самый наименьший правый конец отрезка

3.2. Описание алгоритма

Алгоритм решения задачи представлен блок-схемой приведенной на рисунке 1.

Рис. 1. Блок-схема решения задачи 1

3.3. Тестирование программы

Скриншоты тестирования программы приведены на рисунках 2 – 5.
Рис. 2. Реакция программы на неверный ввод n
Рис. 3. Реакция программы на неверный ввод концов отрезка
Рис. 4. Вывод решения при его наличии
Рис. 5. Сообщение об отсутствии решения

4. Заключение по задаче № 1

Была написана программа на языке программирования PascalABC. После отладки было проведено тестирование, которое показало, что про-грамма работает верно.

5. Анализ задачи № 2

Задача 2 Дана строка S. Создать новые строки из строки S:
а) заменить все восклицательные знаки точками;
б) заменить каждую точку многоточием (т.е. тремя точками);
в) заменить каждую из групп стоящих рядом точек одной точкой;
г) заменить каждую из групп стоящих рядом точек многоточием (т.е. тремя точками).
Для решения задачи будем использовать стандартные функции Паска-ля для работы со строками. Поскольку задача состоит из нескольких подза-дач для ее решения будем использовать функции пользователя.

6. Решение задачи № 2

6.1. Описание используемых переменных, обоснование выбора типа данных

s – строка вводимая пользвателем
sn – строка сформированная по условию одной из подзадач.
В программе использованы следующие функции:
Replace_Ch_By_Str(Str,s:string – функция замены символа группой символовж;
Replace_Group_By_Char – функция замены группы символов точкой;
Replace_Group_By_Str – функция замены символа группой символов.

6.2. Описание алгоритма

Алгоритм решения задачи представлен блок-схемой приведенной на рисунке 6.
Рис.6. Блок-схема решения задачи

6.3. Тестирование программы

Скриншоты тестирования программы приведены на рисунках 7 – 11.
Рис. 7. Случай одной точки
Рис. 8. Случай одного восклицательного знака
Рис. 9. Случай двух точек
Рис. 10. Случай трех точек
Рис. 11. Случай произвольной строки

7. Заключение по задаче № 2

Была написана программа на языке программирования PascalABC. После отладки было проведено тестирование, которое показало, что про-грамма работает верно.
Приложение 1. Листинг программы для решения задачи № 1
program Segments;
// программа определения общего пересечения всех заданных отрезков
uses CRT;

var
n:integer; // количество отрезков
i:integer; // счетчик цикла
a,b:real; // начало и конец текущего отрезка
max_a:real; // текущий самый наибольший левый конец отрезка
min_b:real; // текущий самый наименьший правый конец отрезка

begin
// ввод количества отрезков
repeat
writeln;
write(‘ Введите количество отрезков n=’);
readln(n);
// проверка корректности ввода
if n<2 then writeln (‘ n должно быть больше двух, повторите ввод!’); until n>2;
// ввод начала и конца очередного отрезка
repeat
writeln;
write(‘ Введите через пробел начало и конец 1-го отрезка a b=’);
readln(a,b);
// проверка корректности ввода
if a>=b then writeln(‘ a должно быть меньше b, повторите ввод!’);
until a<b;
// инициализация начальных значений max_a и min_b
max_a:=a;
min_b:=b;
for i:=2 to n do
begin
// ввод очередной пары значений начала и конца отрезка
repeat
write(‘ Введите через пробел начало и конец ‘, i,’-го отрезка a b=’);
readln(a,b)
until a<b; // присваивание текущего максимума для левых концов отрезка if (a>max_a) then max_a:=a;
// присваивание текущего минимума для правых концов отрезка
if (b<min_b) then min_b:=b;
end;
writeln;
// вывод найденного отрезка
if max_a writeln(‘ Пересечением этих отрезков является отрезок [‘,
max_a,’;’,min_b,’]’)
else
// печать сообщения об отсутствии общего пересечения
writeln(‘ Эти отрезки не пересекаются.’);
end.
Приложение 2. Листинг программы для решения задачи № 2
program Create_String;
// программа создания новых строк из заданной
uses
CRT;

function Replace_Ch_By_Ch(s:string; Ch_1,Ch_2:Char):string;
// процедура замены в строке символа Ch_1 на Ch_2

var
L,i:integer;
s1:string;
eq:boolean;

begin
s1:=s;
L:=length(s1);

for i:=1 to L do
begin
eq:=s1[i]=Ch_1;
if eq then s1[i]:=Ch_2;
end;
Replace_Ch_By_Ch:=s1;
end;

function Replace_Ch_By_Str(Str,s:string; Ch:Char):string;
// процедура замены символа группой символов

var
k:integer;
s1:string;

begin
s1:=s;
k:=1;
while(k<=length(s1)) do
begin
if s1[k]=Ch then
begin
Delete(s1,k,1);
insert(Str,s1,k);
k:=k+length(Str);
end
else
k:=k+1;
end;
Replace_Ch_By_Str:=s1;
end;

function Replace_Group_By_Char(s:string):string;
//функция замены группы символов точкой

var
s1:string;
begin
while pos(‘..’, s1) <> 0 do delete (s1, pos(‘..’, s), 1);
Replace_Group_By_Char:=s1;
end;

function Replace_Group_By_Str(Str,s:string; Ch:Char):string;
// процедура замены символа группой символов

var
k,pnts,m:integer;
s1:string;

begin
s1:=s;
k:=1;
while(k<=length(s1)) do
begin
if s1[k]=Ch then
begin
m:=k+1;
pnts:=1;
while (m<=length(s1)) and (s1[m]=Ch) do begin pnts:=pnts+1; m:=m+1; end; if pnts>1 then
begin
Delete(s1,k,pnts);
insert(Str,s1,k);
k:=k+length(Str)
end
else
k:=k+1;
end
else
k:=k+1;
end;
Replace_Group_By_Str:=s1;
end;

var s,sn : string;

begin
writeln(‘ Введите строку:’);
readln(s);
writeln(‘ Замена восклицательных знаков точками:’);
sn:=Replace_Ch_By_Str(‘.’,s,’!’);
writeln(sn);
writeln(‘ Замена точек многоточием:’);
sn:=Replace_Ch_By_Str(‘…’,s,’.’);
writeln(sn);
writeln(‘ Замена групп точек на точку:’);
// sn:=Replace_Group_By_Str(‘.’,s,’.’);
sn:=Replace_Group_By_Char(s);
writeln(sn);
writeln(‘ Замена групп точек на многоточие:’);
sn:=Replace_Group_By_Str(‘…’,s,’.’);
writeln(sn);
end.

Помощь с дистанционным обучением
Получи бесплатный расчет за 15 минут
 

Введите контактный e-mail:

 

Введите номер телефона

 

Что требуется сделать?

 

Каким способом с Вами связаться?:

E-mail
Телефон
Напишем вам на вашу почту
 
Перезвоним вам для уточнения деталей
 
Перезвоним вам для уточнения деталей
 

или напишите нам прямо сейчас

Написать в WhatsApp
 

Оставить комментарий

 

Ваше имя:

Ваш E-mail:

Ваш комментарий

Inna Petrova 18 минут назад

Нужно пройти преддипломную практику у нескольких предметов написать введение и отчет по практике так де сдать 4 экзамена после практики

Иван, помощь с обучением 25 минут назад

Inna Petrova, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Коля 2 часа назад

Здравствуйте, сколько будет стоить данная работа и как заказать?

Иван, помощь с обучением 2 часа назад

Николай, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Инкогнито 5 часов назад

Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения. Сам диплом готов, пришлю его Вам по запросу!

Иван, помощь с обучением 6 часов назад

Здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Василий 12 часов назад

Здравствуйте. ищу экзаменационные билеты с ответами для прохождения вступительного теста по теме Общая социальная психология на магистратуру в Московский институт психоанализа.

Иван, помощь с обучением 12 часов назад

Василий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Анна Михайловна 1 день назад

Нужно закрыть предмет «Микроэкономика» за сколько времени и за какую цену сделаете?

Иван, помощь с обучением 1 день назад

Анна Михайловна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Сергей 1 день назад

Здравствуйте. Нужен отчёт о прохождении практики, специальность Государственное и муниципальное управление. Планирую пройти практику в школе там, где работаю.

Иван, помощь с обучением 1 день назад

Сергей, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Инна 1 день назад

Добрый день! Учусь на 2 курсе по специальности земельно-имущественные отношения. Нужен отчет по учебной практике. Подскажите, пожалуйста, стоимость и сроки выполнения?

Иван, помощь с обучением 1 день назад

Инна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Студент 2 дня назад

Здравствуйте, у меня сегодня начинается сессия, нужно будет ответить на вопросы по русскому и математике за определенное время онлайн. Сможете помочь? И сколько это будет стоить? Колледж КЭСИ, первый курс.

Иван, помощь с обучением 2 дня назад

Здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Ольга 2 дня назад

Требуется сделать практические задания по математике 40.02.01 Право и организация социального обеспечения семестр 2

Иван, помощь с обучением 2 дня назад

Ольга, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Вика 3 дня назад

сдача сессии по следующим предметам: Этика деловых отношений - Калашников В.Г. Управление соц. развитием организации- Пересада А. В. Документационное обеспечение управления - Рафикова В.М. Управление производительностью труда- Фаизова Э. Ф. Кадровый аудит- Рафикова В. М. Персональный брендинг - Фаизова Э. Ф. Эргономика труда- Калашников В. Г.

Иван, помощь с обучением 3 дня назад

Вика, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Игорь Валерьевич 3 дня назад

здравствуйте. помогите пройти итоговый тест по теме Обновление содержания образования: изменения организации и осуществления образовательной деятельности в соответствии с ФГОС НОО

Иван, помощь с обучением 3 дня назад

Игорь Валерьевич, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Вадим 4 дня назад

Пройти 7 тестов в личном кабинете. Сооружения и эксплуатация газонефтипровод и хранилищ

Иван, помощь с обучением 4 дня назад

Вадим, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Кирилл 4 дня назад

Здравствуйте! Нашел у вас на сайте задачу, какая мне необходима, можно узнать стоимость?

Иван, помощь с обучением 4 дня назад

Кирилл, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Oleg 4 дня назад

Требуется пройти задания первый семестр Специальность: 10.02.01 Организация и технология защиты информации. Химия сдана, история тоже. Сколько это будет стоить в комплексе и попредметно и сколько на это понадобится времени?

Иван, помощь с обучением 4 дня назад

Oleg, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Валерия 5 дней назад

ЗДРАВСТВУЙТЕ. СКАЖИТЕ МОЖЕТЕ ЛИ ВЫ ПОМОЧЬ С ВЫПОЛНЕНИЕМ практики и ВКР по банку ВТБ. ответьте пожалуйста если можно побыстрее , а то просто уже вся на нервяке из-за этой учебы. и сколько это будет стоить?

Иван, помощь с обучением 5 дней назад

Валерия, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Инкогнито 5 дней назад

Здравствуйте. Нужны ответы на вопросы для экзамена. Направление - Пожарная безопасность.

Иван, помощь с обучением 5 дней назад

Здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Иван неделю назад

Защита дипломной дистанционно, "Синергия", Направленность (профиль) Информационные системы и технологии, Бакалавр, тема: «Автоматизация приема и анализа заявок технической поддержки

Иван, помощь с обучением неделю назад

Иван, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Дарья неделю назад

Необходимо написать дипломную работу на тему: «Разработка проекта внедрения CRM-системы. + презентацию (слайды) для предзащиты ВКР. Презентация должна быть в формате PDF или формате файлов PowerPoint! Институт ТГУ Росдистант. Предыдущий исполнитель написал ВКР, но работа не прошла по антиплагиату. Предыдущий исполнитель пропал и не отвечает. Есть его работа, которую нужно исправить, либо переписать с нуля.

Иван, помощь с обучением неделю назад

Дарья, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru