42582

Линейные программы и условные операторы в Pascal

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

Информатика, кибернетика и программирование

Регистр символов в Паскале не имеет значения.1 Для вычисления значений z1 и z2 необходимо ввести с клавиатуры значение переменной и вывести полученные значения z1 и z2 на экран. Выполняемые функции нахождение значения z по формулам и . 8 Результаты тестирования Разработанные программы были протестированы в 3х режимах: корректные значения граничные значения некорректные данные.

Русский

2013-10-30

327 KB

17 чел.

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

ФИЛИАЛ ГОСУДАРСТВЕННОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)» в г. Смоленске

Кафедра информатики

Отчёт

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

Тема: «Линейные программы и условные операторы в Pascal»

по курсу: «Информатика и программирование»

Студент: Сороченков М.А.
Группа: ПИЭ-11
Преподаватель: Нестеров А.П.
Вариант: 1

Смоленск, 2011


1 Теоретической введение

  1.  Переменные

Программы на Паскале начинаются с ключевого слова program и следующего за ним имени программы с точкой с запятой; за ним следует тело программы, состоящее из секций описания переменных, типов и констант, объявлений процедур и функций и следующего за ними блока операторов, являющегося точкой входа в программу. В языке Паскаль блок ограничивается ключевыми словами begin и end. Операторы разделяются точками с запятой, после тела помещается точка, служащая признаком конца программы. Регистр символов в Паскале не имеет значения.

Требования к именам переменных:

  •  Всегда начинаются с латинской буквы 
  •  В именах допускаются только латинские буквы 
  •  Длина имени переменной не более 63 символов.
  •  Не разрешается использовать в имени следующие символы:
    + - * / \ ^ = > < <> >= <=
    . , : " ' ! $ ( ) ?
    а также пробелы и русские буквы
  •  Имена переменных желательно делать осмысленными, например, Speed1 или Skorst1 (переменные обозначающие скорость у 1-го объекта)
  •  Не разрешается использование зарезервированных слов
    1.  Типы переменных

Типы могут быть простыми (элементарными) (целые, символьные (литерные), вещественные), а также сложными (ограниченные, перечисляемые, булевские, строковые…).

Элементарные типы объявляются в разделе var. Сложные же объявляются в разделе types и используются для описания переменных в разделе var.

  1.  Операторы

Команду алгоритма, записанную на языке программирования, принято называть оператором. Раздел операторов — основная часть программы.

Ввод исходных данных с клавиатуры происходит по оператору read  или readln:

read(<список переменных>);

или readln(<список переменных>);

Разница в выполнении этих операторов в том, что после выполнения ввода по оператору readln экранный курсор перемещается в начало новой строки, а по оператору read этого не происходит.

Вывод результатов происходит по оператору write или writeln:

write(<список вывода>);

или writeln(<список вывода>);

Оператор присваивания на Паскале имеет следующий формат:

<числовая переменная> := <арифметическое выражение>

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

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

  1.  Линейный алгоритм

Линейный алгоритм является аналогом обычного последовательного решения какой-либо задачи, когда все действия записываются поочередно.

В программировании реализация линейного алгоритма является наиболее простой конструкцией, так как подразумевает выполнение всего трех этапов:

1. ввод данных;

2. вычисления с помощью операторов присваивания;

3. вывод данных.

  1.  Условный оператор IF

Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид:

  IF  "условие"  Then  "оператор1"  Else  "оператор2";

где "условие" - выражение логического типа;

"оператор1" выполняется, если условие верно ( True ),

"оператор2" выполняется, если условие не верно ( False ).


2 Техническое задание

2.1 Задача 1

Найти значение z1 и z2:

2.2 Задача 2

Вести координаты x и y и выяснить попадёт ли точка в заштрихованную фигуру.

2.3 Задача 3

Если максимальное значение из трёх взятых чисел больше 50, то найти произведение этих чисел, иначе – уменьшить каждое число в 2 раза.

3 Анализ технического задания

3.1 Для вычисления значений z1 и z2 необходимо ввести с клавиатуры значение переменной a и вывести полученные значения z1 и z2 на экран.

 

3.2 Для того что бы выяснить, попадёт ли точка с координатами (х ; y) в заштрихованную фигуру, необходимо составить уравнения каждой из линий, образующих фигуру: x2 + y2 = 2, y = - (x - 1), y = x - 1, y = - (x + 1), y = x + 1 и x = 0; преобразовать их в неравенства, при выполнении которых, точка будет внутри образованной фигуры: x2 + y2 < 2, y < - (x - 1), y > x - 1, y > - (x + 1), y < x + 1 и x < 0. При удовлетворении этим условиям точка попадёт внутрь фигуры.

3.3 Для того что бы выяснить, есть ли среди трёх введённых чисел, число большее 50, необходимо сравнить каждое из введённых чисел  с числом 50. (a>50 или b>50 или c>50)  Если хотя бы одно число >50, то необходимо посчитать произведение этих чисел, если нет – то каждое из веденных чисел нужно разделить на 2.

4 Блок-схема

4.1 Задача 1. Блок схема алгоритма представлена на рисунке 4.1.

Рисунок 4.1 – Блок-схема алгоритма.


4.2 Задача 2. Блок схема алгоритма представлена на рисунке 4.2.

Рисунок 4.2 – Блок-схема алгоритма


4.3 Задача 3. Блок схема алгоритма представлена на рисунке 4.3.

Рисунок 4.3 – Блок-схема алгоритма


5 Модульная структура программы

Программа состоит из одного модуля – самой программы.

6 Спецификация на программные модули

6.1 Задача 1

  1.  Имя модуля p1.
    1.  Имя вызываемого модуля – нет.
    2.  Выполняемые функции -  нахождение значения z по формулам  и

    .

  1.  Входные данные  - A типа real.
    1.  Выходные данные – Z типа real.
    2.  Особенности и ограничениянет.

6.2 Задача 2

  1.  Имя модуля p2.
    1.  Имя вызываемого модуля - нет.
    2.  Выполняемые функции – выяснение попадания точки с координатами (x;y) внутрь заданной фигуры..
    3.  Входные данные  - X и Y типа real.
    4.  Выходные данные – сообщение «Popali» или «Ne popali».
    5.  Особенности и ограничениянет.

6.2 Задача 3

  1.  Имя модуля p3.
    1.  Имя вызываемого модуля – нет.
    2.  Выполняемые функции – нахождения произведения введенных чисел a, b и с если выполняется условие (a>50) or (b>50) or (c>50), и уменьшение введенных чисел a, b и с в 2 раза – если условие не выполняется.
    3.  Входные данные  - a, b и c типа real.
    4.  Выходные данные – a, b, c, d, s типа real.
    5.  Особенности и ограничениянет.

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

7.1 Задача 1

program p1;

uses crt;

var z,a:real;      {Описание переменных}

begin

clrscr;     

write ('Vvedite znachenie a:');

readln(a);      {Ввод данных с кл-ры}

z:=cos(a)+sin(a)+cos(a)*3+sin(a)*a; {Вычисление z}

writeln('Znachenie z1=',z:2:2);  {Вывод z}

z:=1/4-1/4*sin(5/2*pi-8*a);   {Вычисление z}

write('Znachenie z2=',z:2:2);   {Вывод z}

readln;

end.

7.2 Задача 2

program p2;

uses crt;

var a,b,c,d,e,ox:boolean;    {Условия}

   x,y:real;      {Координаты точки}

begin

clrscr;

writeln('vvedite x and y');

readln(x,y);      {Ввод данных с кл-ры}

a:=(sqr(x)+sqr(y)<1);

b:=(y<-(x-1));

c:=(y>x-1);

d:=(y>-(x+1));

e:=(y<x+1);

ox:=x<0;

if (b and c and d and e) or (a and ox)

 then write('Popali')

   else write ('Ne popali');  {Проверка выполнения

условий и вывод

результата}

readln;

end.

7.3 Задача 3

program p3;

uses crt;

var a,b,c,s:real;

begin

clrscr;

writeln('Vvedite 3 peremennih');

readln(a,b,c);      {Ввод данных с кл-ры}

if (a>50) or (b>50) or (c>50) then {Проверка условия(сравнение)}

 begin

  s:=a*b*c;        {Выч-е произведения если условие верно}

  writeln('Proizvedenie=',s:2:2);   {Вывод}

  end

else

 begin

  a:=a/2;        {Уменьшение вдвое}

  b:=b/2;

  c:=c/2;

  write('a/2=',a:2:2,' b/2=',b:2:2,' c/2=',c:2:2);

 end;

readln;

end.

8 Результаты тестирования

Разработанные программы были протестированы в 3х режимах: корректные значения, граничные значения, некорректные данные. Результаты представлены в таблицах 8.1, 8.2 и 8.3.

Таблица 8.1 Результаты тестирования программы из задачи 1

Режим тестирования

Введённое значения

Значение z1

Значение z2

Корректные значения

15.8

-5.53

0.06

Корректные значения

-40

26.39

0.02

Граничные значения

0

4

0

Некорректные данные

b

Ошибка ввода

Некорректные данные

32..4

Ошибка ввода

Вывод: программа работает некорректно в случае ввода символа вместо числового значения и ошибочной записи дроби. Во всех остальных случаях результаты соответствуют действительности.

Таблица 8.2 Результаты тестирования программы из задачи 2

Режим тестирования

X

Y

Результат

Корректные значения

-0.5

0.5

Popali

Корректные значения

1

1

Ne popali

Граничные значения

0

1

Ne popali

Граничные значения

-1

0

Ne popali

Некорректные данные

b

-

Ошибка ввода

Некорректные данные

32..4

-

Ошибка ввода

Вывод: программа работает некорректно в случае ввода символа вместо числового значения и ошибочной записи дроби. Во всех остальных случаях результаты соответствуют действительности.

Таблица 8.3 Результаты тестирования программы из задачи 3

Режим тестирования

A

B

C

S

A

B

C

Корректные значения

45

7

74

23310.00

-

-

-

Корректные значения

13

6

42

-

6.5

3

21

Граничные значения

0

0

0

-

0

0

0

Граничные значения

49

49

49

-

24.5

24.5

24.5

Некорректные данные

k

-

-

Ошибка ввода

Некорректные данные

32..4

-

-

Ошибка ввода

Вывод: программа работает некорректно в случае ввода символа вместо числового значения и ошибочной записи дроби. Во всех остальных случаях результаты соответствуют действительности.

9 Заключение

В результате выполнения лабораторной работы освоены основные операторы и принципы построения линейных алгоритмов на языке Pascal, а так же принципы работы с условным оператором «if».


 

А также другие работы, которые могут Вас заинтересовать

30924. Кора больших полушарий 41.5 KB
  Нейроны коры не имеют непосредственной связи с внешней или внутренней средой т. Методы изучения функций коры больших полушарий: 1. Человек аненцефал врожденное отсутствие коры БП. Отсутствие коры больших полушарий у человека несовместимо с жизнью.
30925. Межполушарные взаимоотношения 27.5 KB
  Абстрактное мышление и сознание связаны с левым полушарием а конкретно чувственное мышление с правым полушарием. А Правое полушарие осуществляет обработку всей поступившей информации одновременно синтетически по принципу дедукции при этом лучше воспринимаются пространственные и относительные признаки предмета; Б Левое полушарие проводит обработку поступившей информации последовательно аналитически по принципу индукции лучше воспринимаются абсолютные признаки предмета и временные отношения. А Правое полушарие обуславливает более...
30926. Анализаторы 60 KB
  Суживающаяся воронка слой фоторецепторов 130 млн. По горизонтали в каждом слое различные свойства рецепторов в сетчатке палочки и колбочки; в свою очередь колбочки подразделяются на воспринимающие красный зеленый и фиолетовый цвет. Адаптация рецепторов. Некоторые рецепторы кроме обычной чувствительной иннервации по которой сигналы от рецепторов поступают в мозг получают эфферентные волокна.
30927. Зрительный анализатор 43 KB
  Строение и функции оптической системы глаза. Изза этого происходит преломление световых лучей внутри глаза. Преломляющая сила для здорового глаза для рассмотрении на далеких расстояниях составляет 59 D а при рассмотрении близких предметов 705 D. Обеспечивает приспособление глаза к ясному видению предметов расположенных на различном расстоянии.
30928. Топология. Функциональный анализ. Учебник 6.26 MB
  Слово «топология» относят ныне к двум разделам математики. И изначально для каждого из них имелись свои определения при слове «топология». Одну топологию, родоначальником которой был Пуанкаре, называли долгое время комбинаторной, за другой (у истоков ее были исследования Кантора) закрепилось название общей или теоретико-множественной
30929. Гідрогазодинаміка. Курс лекцій 5.25 MB
  Метою вивчення дисципліни ”гідрогазодинаміка” є засвоєння студентами понять і законів гідравліки і газодинаміки та застосування їх надалі у процесі вивчення спеціальних дисциплін та проведення необхідних інженерних розрахунків. Предмет ”Гідрогазодинаміка” базується на дисциплінах ”Вища математика”, ”Фізика”, ”Теоретична механіка”, ”Прикладна механіка”, ”Термодинаміка”
30930. Финансы и кредит. Конспект лекций 1.74 MB
  Размер процентной ставки зависит от ряда объективных и субъективных факторов: общего состояния экономики, в том числе денежно кредитного рынка, кратковременных и долгосрочных ожиданий его динамики, вида сделки, ее валюты, срока кредита и т.д.
30931. Проектирование информационных систем (ИС) CASE средствами 638.5 KB
  Современные крупные проекты ИС характеризуются как правило следующими особенностями: сложность описания достаточно большое количество функций процессов элементов данных и сложные взаимосвязи между ними требующая тщательного моделирования и анализа данных и процессов; наличие совокупности тесно взаимодействующих компонентов подсистем имеющих свои локальные задачи и цели функционирования например традиционных приложений связанных с обработкой транзакций и решением регламентных задач и приложений аналитической обработки...
30932. Філософія та соціологія 410 KB
  Комунікативна повсякденна практика, навколо якої утворюється життєвий світ, забезпечується спільною грою культурного відтворення, соціальної інтеграції та соціалізації, яка в цій практиці укорінена. Життєвий світ як результат соціалізації, тобто структурованості суспільними і культурними зв’язками.