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

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

Автор статьи
Валерия
Валерия
Наши авторы
Эксперт по сдаче вступительных испытаний в ВУЗах
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.

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

Написать в WhatsApp Написать в Telegram

О сайте
Ссылка на первоисточник:
http://kurskmed.com
Поделитесь в соцсетях:

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

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