Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы Pascal.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
285.47 Кб
Скачать

Задания I уровня

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

        1. Дана программа нахождения меньшего из двух чисел:

на алг.языке

на Паскале

Программма МИД

Описание а,b,min:Вещественный

Конец_Описания

Ввод (а,b,’Введите 2 числа’)

Если а>b

То min:=a

Иначе min:= b

Конец_Если

Вывод (min)

Конец_Программы

Var a,b, min: real;

BEGIN

READ(a,b);

IF A<B

THEN min: = a

ELSE min: = b;

writeln(min)

END.

Введите программу в память компьютера, исполните ее для значения a=5; b=7 (когда Вы нажмете клавиши ‘ctrl+f9’ (исполнение программы), компьютер переключится на черный экран ( экран пользователя). Здесь Вы вводите значения a и b, указывая, например, 5 и 7 (нажимая клавишу ввода)). Просмотр ответов–комбинация клавиш ‘Alt-F5’.

2. Найти меньшее из трех, используя следующий алгоритм:

Программа Наименьшее

Описание

a, b, c, минимум: Вещественный

Конец_Описания

Ввод (a, b, c,’Введите 3 числа’)

Если a < b

То минимум : = a

Иначе минимум:= b

Конец_Если

Если с < минимум

То минимум : = с

Конец_Если

Вывод (минимум)

Конец_Программы

3. Выяснить, существует ли треугольник с длинами сторон х, у, z. (треугольник существует, если длина каждой стороны меньше суммы двух других сторон).

4. Даны действительные числа а, b,c (a0). Выяснить, имеет ли уравнение Ах2+Вх+С=0 действительные корни. В этом случае найти корни квадратного уравнения. Иначе должен выдаваться ответ, что действительных коней нет.

5. Напишите программу, которая по номеру дня недели - целому числу от 1 до 7 - выдает в качестве результата количество занятий в вашей группе в соответствующий день.

Задания II уровня

  1. Два зайца поспорили, кто из них больше съест морковок за один присест. Напечатайте рекорд первого зайца, если он больше рекорда второго, и оба значения, если это не так.

  2. Пройдет ли сундук с сокровищами со сторонами а, b, с в иллюминатор затонувшего корабля диаметра d?

  3. Имеется треугольник с координатами (0,0), (5,0), (0,5).Попадет ли точка А(х,у) внутрь либо на границы этого треугольника? Ответ вывести в форме «Да» / «Нет»

  4. Даны координаты (как целые от 1 до 8) двух полей шахматной доски. Определить, может ли ферзь за один ход перейти с одного из этих полей на другое.

  5. Разборчивая невеста при выборе жениха руководствуется правилом: «жених должен быть старше ее, но не намного». По известным возрастам: невесты – N лет, женихов R1 лет, R2 лет, R3 лет– определить, которого она выберет– первого второго или третьего.

САМОСТОЯТЕЛЬНАЯ РАБОТА:

Условимся считать поля k,l и m,n – различными и это числа от 1 до 8.

  1. Определить, являются ли поля (k,l) и (m,n) полями одного цвета?

  2. На поле (k,l) стоит ладья. Определить, угрожает ли она полю (m,n)?

  3. На поле (k,l) стоит слон. Определить, угрожает ли он полю (m,n)?

  4. На поле (k,l) стоит ферзь. Определить, угрожает ли он полю (m,n)?

  5. На поле (k,l) стоит конь. Определить, угрожает ли он полю (m,n)?

  6. На поле (k,l) стоит король. Определить, угрожает ли он полю (m,n)?

  7. Даны координаты (как целые от 1 до 8) двух полей шахматной доски. Определить, может ли ферзь за один ход перейти с одного из этих полей на другое. Ответ вывести в форме «Да» / «Нет»

  8. Даны координаты (как целые от 1 до 8) двух полей шахматной доски. Определить, может ли ладья за один ход перейти с одного из этих полей на другое. Ответ вывести в форме «Да». В противном случае найти координаты (t,s) клетки первого хода, чтобы это можно было сделать за два хода и вывести сообщение «Нет/(t,s)».

  9. У белых на доске остался король, у черных – король и ладья. Охарактеризовать положение белых с помощью одного из слов «шах», «мат», «пат», «обыкновенная позиция».

  10. У белых на доске остался король, у черных – король и ферзь. Охарактеризовать положение белых с помощью одного из слов «шах», «мат», «пат», «обыкновенная позиция».

КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ:

1. Опишите зависимости между переменными а и х; у и х, которые определяются следующими сериями команд:

a) Если х>y б) if f>0 then y=2*y else

То z:= -y*х if f=0 then y:=abs(y)

Иначе z:=y – х+1 else y:=--1;

Конец_Если

  1. Сколько вариантов различных действий есть у команды ветвления в полной форме? в неполной? а у команды выбора CASE (выбор одного варианта из нескольких)?

  1. Объясните ошибки в следующих записях: а) х=у=1; б) if x>0 or y=4 then z:=1; else z:=2;.

  1. Запишите на Паскале выражение, истинное при выполнении указанного условия и ложное в противном случае: а) x принадлежит отрезку [0,1]; б) каждое из чисел x, y, z положительно; в) только одно из чисел x, y, z положительное; г) хотя бы одно из чисел x, y, z положительно.

  1. Нарисуйте на плоскости (x, y) область, в которой и только в которой истинно указанное выражение: а) x*x>=1; б) x*x<=1.

ЛАБОРАТОРНАЯ РАБОТА

ТЕМА: ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ. ОПЕРАТОР CASE..OF.

ЦЕЛЬ: Изучить основные операторы и конструкции языка Паскаль для программирования разветвляющихся алгоритмов. Научиться использовать оператор выбора (варианта) CASE в программах.

ПО: Turbo Pascal

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ:

Оператор варианта применяется, когда требуется сделать выбор из нескольких возможностей. Эта структура позволяет переходить на одну из ветвей в зависимости от заданного выражения. Оператор выбора заменяет несколько операторов развилки (его ещё называют оператором множественного ветвления):

например, сообщать название сезона по его номеру:

CASE <К-порядковая переменная> of case n of

<константа 1> :<оператор 1>; 1: writeln('зима ');

<константа 2> :<оператор 2>; 2: writeln('весна ');

. . . 3: writeln(' лето');

<константа N>:<оператор N>; 4: writeln('осень ');

[ELSE <оператор>;] end {case};

{ветку [ELSE] можно не использовать.}

END {case};

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

Повторимся, выражение К может быть любого порядкового типа (например 1..10).