Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Лабораторная работа по «Программированию»

Автор:   •  Декабрь 24, 2023  •  Лабораторная работа  •  1,314 Слов (6 Страниц)  •  48 Просмотры

Страница 1 из 6

Министерство науки и высшего образования РФ

Федеральное государственное бюджетное образовательное

учреждение высшего образования

ОТЧЕТ

Лабораторная работа №1

по дисциплине

«Программирование»


  1. Введение

Лабораторная работа посвящена созданию программ с использованием простых управляющих структур (условных операторов, циклов) в рамках структурного программирования.

В данной работе рассматривается алгоритм написания двух программ на языке программирования Паскаль с описанием логики построения алгоритма, блок-схем и листинга готовых программ.


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

Вариант 2. Даны целое 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].

Способ решения задачи, приведенный в данной лабораторной работе, это циклическое сравнение координат каждого отрезка, начиная со второго, с координатами первого отрезка. В случае, если левая координата попадает в область первого отрезка и находится правее левой координаты первого отрезка (т.е. ее значение больше), значит эта координата записывается в переменную и будет являться искомым значением. Последующие координаты сравниваются уже с этой переменной. Если же левая координата не попала  в область первого отрезка, значит искомого отрезка не существует, о чем присвоим булевой переменной значение true и выведем сообщение пользователю. Правая координата вычисляется аналогичным образом, только ее значение должно быть меньше координаты первого отрезка (т.е. она находится левее).



  1.  Блок-схема алгоритма

[pic 1]

Рис.1 Блок-схема алгоритма задачи №1.


    repeat

      writeln('Введите число b', i, '. Число b', i, ' > a', i);

      readln(b);

    until b>a;    

    if x2>b then x2:=b;

  end;

  if er=false then  //если хоть один отрезок не имеет общих точек с предыдущими

  writeln('Искомый отрезок [', x1, '; ', x2, ']')

  else writeln('Искомый отрезок не существует'); //то выводим на экран эту строку

end.


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

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

В данной работе реализован общий цикл перебора четырех вариантов изменения строки, внутри которого при помощи оператора case of выбирается нужный вариант.

а) записываем значение длины строки, далее в цикле перебираем каждый символ в поисках восклицательного знака, если находим, то в новую строку записываем точку, если нет, то записываем найденный символ.

б) тоже, что в варианте «а», только при нахождении точки записываем в новую строку найденный символ три раза, если нет, то записываем найденный символ один раз.

в) оператором pos ищем в строке две точки, если находим, то удаляем один символ (то есть одну точку из двух) и записываем измененную строку в новую строку. Оператор pos прогоняем в цикле, пока двоеточия не закончатся.

г) ищем в строке точку, если находим, то увеличиваем счетчик на единицу, затем проверяем следующий символ, если снова точка – увеличиваем счетчик. Таким образом находим все идущие подряд точки, а в новую строку записываем многоточие. Прерываем цикл, когда за точкой найден другой символ.

...

Скачать:   txt (9.9 Kb)   pdf (331.9 Kb)   docx (174.8 Kb)  
Продолжить читать еще 5 страниц(ы) »
Доступно только на Essays.club