Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

контрольной работы для студентов заочного отделения

по предмету

Основы программирования

 

Наименование специальности

09.02.03Программирование в компьютерных системах

 

Квалификация выпускника

 

Техник-программист

 

 

Воскресенск 2015 г.

 

Разработчик(и):

ГБПО МО

«Воскресенский

колледж»преподавательВострякова А.Н

(место работы) (занимаемая должность) (инициалы, фамилия)

 

___________________ _________________ _____________________

(место работы) (занимаемая должность) (инициалы, фамилия)

 

Одобрено на заседании предметно-цикловой комиссии _____________________________________ дисциплин Протокол №_______ от «_____» _________ 20____г. Председатель ПЦК ________________ /_____________ /  

Оглавление

 

 

Пояснительная записка---------------------------------------------------------------- 4

Указания по выполнению контрольной работы-------------------------- 5

Требования к оформлению контрольной работы.-------------------------- 5

Содержание контрольной работы------------------------------------------------- 6

Задания контрольной работы по вариантам---------------------------------- 6

Основные критерии оценки выполнения контрольной работы------ 12

Список литературы-------------------------------------------------------------------- 13

Приложение ------------------------------------------------------------------------------ 14

 


 

Пояснительная записка

Учебная дисциплина «Основы программирования» входит в цикл общепрофессиональных предметов.

В результате изучения данной дисциплины студент должен

знать:

- основные модели алгоритмов;

- методы построения алгоритмов;

- методы вычисления сложности работы алгоритмов.

уметь:

- разрабатывать алгоритмы для конкретных задач;

- определять сложность работы алгоритмов.

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

Данная контрольная работа составлена в соответствии с рабочей программой по данной дисциплине и является практик ориентированной.

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

Методические рекомендации предназначены для студентов заочного отделения специальности «Программирование в компьютерных системах»

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

Методические рекомендации содержит:

1. материалы по теории программирования на языке Турбо Паскаль (описание разделов программ, описание структуры программы, описание операторов и операторных конструкций, описание стандартных алгоритмов применяемых при разработке программ и т.д.);

2. примеры решения задач на языке турбо паскаль;

3. рекомендации по выполнению и оформлению контрольной работы;

4. перечень заданий;

5. дополнительная литература.

 

 


 

Указания по выполнению контрольной работы

В соответствии с тематикой контрольной работы, требуется:

 

1. Ознакомится с заданием и подобрать нужные материалы для его выполнения.

2. Разработать алгоритм программы в соответствии с заданием.

3. Разработать интерфейс программы.

4. Разработать алгоритм программы на языке программирования в соответствии с разработанным алгоритмом программы.

5. Выполнить отладку программы.

6. Выполнить тестирование программы.

7. Осуществить оптимизацию программного кода.

8. Оформить содержание контрольной работы в MS Word.

 

 

Требования к оформлению контрольной работы.

· Контрольная работа выполняется на одной стороне листа с соблюдением межстрочных интервалов.

· Контрольная работа должна быть выполнена на стандартных листах бумаги А4 (287*210). При размещении текста на листе соблюдаются следующие требования ГОСТ 6.38-90:

Размер левого поля - 30 мм,

Правого - 15мм,

Верхнего - 20 мм,

Нижнего - 20 мм.

· Шрифт Times New Roman, 14 пт, межстрочный интервал 1,5, выравнивание «по ширине», величина абзацного отступа 1,25 мм.

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

· Разделы нумеруются согласно требований ГОСТ 1.5-68 арабскими цифрами и разделяются точками.

· Заголовки разделов выполняются с выравниванием абзаца «по центру» (абзацный отступ 0 мм), начиная с нового листа. Расстояние от текста до следующего заголовка должно быть 12 пунктов, а от заголовка до следующего за ним текста - 6 пунктов.

· Таблицы, рисунки, формулы нумеруются последовательно арабскими цифрами в пределах раздела, если в отчете есть на них ссылки.

 

Содержание контрольной работы

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

 

Задания контрольной работы по вариантам

 

Задание 1. Разработать алгоритм линейной программы на языке программирования высокого уровня вычисляющий данное выражение.

Вариант: 1

Вариант: 2

Вариант: 3

Вариант: 4

Вариант: 5

Вариант: 6

 

 

Вариант: 7

Вариант: 8

Вариант: 9

Вариант: 10

Задание 2. Разработать разветвляющийся алгоритм для решения задач на языке высокого уровня.

Варианты задач (номер задачи соответствует номеру варианта):

1. Среди трех чисел найти среднее. Остальные два сложить. Если среди чисел есть равные, вывести сообщение "Ошибка".

2. Пользователь вводит целое число. Надо вывести на экран сколько в этом числе цифр и положительное оно или отрицательное.

Например: "это однозначное положительное число".

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

3. Дано число определить является ли оно простым.

4. Даны координаты точки и радиус круга с центром в начале координат. Определить, принадлежит ли данная точка кругу.

5. Треугольник существует только тогда, когда сумма любых двух его сторон больше третьей.

Дано: a, b, c – стороны предполагаемого треугольника.

Требуется сравнить длину каждого отрезка с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует.

6. Всем известна прямоугольная (декартова) система координат, в которой две перпендикулярные оси делят плоскость на четверти. В первую четверть попадают точки, у которых обе координаты (x и y) больше нуля. Во вторую: x < 0, y > 0; третью: x < 0, y < 0; четвертую: x > 0,

y < 0. Допустим, требуется написать программу, определяющую по координатам точки, в какой четверти она находится.

7. Дано трёхзначное число. Определить, является ли оно палиндромом (палиндром – число, которое читается одинаково слева на право, и справа на лево) если да, то найти сумму его цифр.

8. Даны три числа. Вывести их квадраты по убыванию.

9. Даны 4 числа. Вывести их по убыванию.

10. Даны два числа. Посчитать сколько раз в их сумме уложится их разность.

 

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

Варианты задач (номер задачи соответствует номеру варианта):

1. Составить таблицу значений функции y = 5 - x2/2 на отрезке [-5; 5] с шагом 0.5.

2. Вывести на экран кубы чисел от A до B.

3. Дан диапазон чисел вывести все числа, делящиеся на 4 и 3.

4. Дан диапазон чисел найти сумму всех чисел, делящихся на три.

5. Дан диапазон чисел сложит друг с другом каждое третье число.

6. Дан диапазон чисел нужно по три числа вывести в рамочку.

Рамочку можно нарисовать любыми символами.

7. Дан диапазон чисел. Нужно каждое третье число вывести в рамочку в строку.

8. Дан ряд чисел. Сложить по пять чисел между собой и вывести на экран.

9. Дан числовой ряд найти сумму всего ряда и определить на каком числе сумма превысит число, введенное пользователем специально. Вывести это число на экран.

10. Программа запрашивает числа и выводит на экран на сколько число больше или меньше предыдущего. Выход из цикла 0.

Задание 4. Разработать алгоритм программы для обработки одномерного массива.

Варианты задач (номер задачи соответствует номеру варианта):

1. Даны два массива. Сложить элементы первого массива и прибавить сумму к каждому элементу второго массива.

2. Даны два массива. Прибавить каждый элемент первого массива к соответствующему элементу второго массива.

3. Даны два массива. Определить в каком массиве больше четных чисел.

4. Даны два массива. Определить в каком из них больше чисел превышающих 50.

5. Даны два массива. найти разность соответствующих элементов и сохранить ответы в третьем массиве.

6. Даны два массива нужно наибольший элемент первого прибавит ко всем элементам второго массива.

7. Дан массив. Создать массив 2(динамически) из четных чисел первого массива.

8. Даны два массива. Определить, сколько раз данное число встречается в двух массивах одновременно.

9. Даны два массива. В массиве 1 найти количество элементов, больших среднего арифметического массива 2.

10. Даны два массива. Определить, сколько раз данное число встречается в двух массивах одновременно.

Задание 5. Разработать функцию и вынести ее в отдельный модуль.

Варианты задач (номер задачи соответствует номеру варианта):

1. Функция подсчитывает площадь прямоугольника.

2. Находит произведение трех чисел и возводит в квадрат.

3. Написать функцию возведения числа в произвольную степень.

4. Написать функцию вычисляющую n!

5. Функция получает три числа, находит среднее арифметическое.

6. Функция находит тангенс числа x.

7. Функция находит котангенс числа x.

8. Функция получает 3 числа и находит наибольшее из них.

9. Функция определяет делится ли число на 2 и 3 одновременно. Если делится возвращает 1, иначе 0.

10. Функция вычисляет выражения x=(a*b/c)^2.

Задание 6. Разработать алгоритм обработки строк на языке высокого уровня.

Варианты задач (номер задачи соответствует номеру варианта):

1. Определить сколько слов в строке.

2. Определить сколько раз встречается в сроке предлог, заданный пользователем.

3. Дана строка удалить из нее каждый третий пробел.

4. Дана строка и дана подстрока из трех символов. Определить сколько раз подстрока встречается в строке.

5. Посчитать все гласные в строке.

6. Дана строка найти символ который находится по середине.

7. Дана строка удалить все буквы а и записать в конце строки.

8. Первое слово строки записать в конце.

9. Последние слово строки написать первым.

10. Удалить слова в которых букв меньше 5.


 

Основные критерии оценки выполнения контрольной работы

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

 


Список литературы

Основные источники:

1. Голицина О.Л., Попов И.И. Основы алгоритмизации и программирования: учебное пособие / Голицина О.Л., Попов И.И. – 3-е изд., испр. И доп. – М.: ФОРУМ, 2010. – 432 с.

2. Колдаев И. Д. Основы алгоритмизации и программирования: учебное пособие / Под редакцией проф. Л. Г Гагариной – М.: ФОРУМ, 2010. – 416 с.

Перечень электронных источников:

1. http://www.programmer-lib.ru/pascal.php

2. http://pascal.proweb.kz/index.php?page=2

3. http://schools.keldysh.ru/sch887/pascal.htm

4. http://wiki.iteach.ru/images/b/b8/%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D0%B8_-_%D0%9F%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8CFom.pdf

5. http://tpdn.ru/guide/pf/31/?PAGEN_1=4&sid=31

6. http://pascal.net.ru/%D0%A3%D1%80%D0%BE%D0%BA+%D0%B4%D0%BB%D1%8F+%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85

 


 

приложение 1

ТУРБО ПАСКАЛЬ

 

Язык программирования - это средство реализации алгоритмов задач в виде программ на компьютере.

В алфавит Паскаля (Pascal) входит:

латинские буквы, арабские цифры, специальные символы, такие как +,-,*, /,:, ', <, >, =, (,), {,}, [,] и т. д., а также служебные слова.

Идентификатор (имя объекта) - служит для обозначения меток, констант, типов, переменных, процедур, функций.

Служебное слово –последовательность символов зарезервированных в Паскале несущие установленный смысл (and, array, var, и т.д.).

Правила задания идентификаторов

Идентификатор записывается:

1. латинскими буквами и цифрами но начинаться запись должна с буквы;

2. нельзя использовать знаки препинания и пробелы.

3. Можно использовать символ нижнего подчеркивания «_». Этот символ можно использовать в начале идентификатора, в середине или в конце.

Пример: _DFG56; fgs_34;

4. Если идентификатор содержит несколько слов то их можно разделить заглавными буквами.

Пример: StrToInt;

Переменная

Переменная – основной элемент языка, характеризуется идентификатором (именем), значением и типом. Бывают имена (переменные) со стандартными типами и с типами даваемые программистами.

Переменная описывается в разделе VAR:

VAR

< идентифекатор>:<тип данных>;

Пример:

VAR

asd, b: integer;

 

Типы данных

Любые объекты, т.е. константы, переменные, значения функций или выражения, в Паскале характеризуются своими типами. Тип определяет множество допустимых значений того или иного объекта, а также множество операций, которые к нему применимы. Кроме того, тип определяет формат внутреннего представления данных в памяти ЭВМ.

Паскаль характеризуется разветвленной структурой типов данных:

Простые типы

Порядковые типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определенным образом упорядочить и, следовательно, с каждым из них можно сопоставить некоторое целое число - порядковый номер значения. В Паскале есть следующие порядковые типы:

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

Тип Диапазон Размер в байтах
Integer Byte Shortint Word Longint от -32768 до +32767, 0... 255 -128... 127 0... 65535 -2147483648... 2147483647 1 1 2 4

 

Char - символьный тип, представляет собой набор символов, определяемый конкретной реализацией. Во внутреннем представлении он занимает 1 байт, множество значений этого типа фиксировано и упорядочено. Все символы считаются перенумерованными, начиная с нуля. Такой набор символов определен в каждой вычислительной системе. Он необходим, по крайней мере, для связи системы с внешним миром.

Константой символьного типа является один из допустимых символов, взятый в апострофы. Если апостроф сам является символом, то апостроф, являющийся значением константы, записывается дважды, например ‘7’, ‘+’, ‘F’, ‘’’’, ‘j’, ‘?’.

Boolean - логический тип, определяет диапазон логических значений, который содержит два элемента False (ложь) и True (истина). Во внутреннем представлении он занимает 1 байт.

Перечисляемый тип - задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:
Type colors = (red, white, blue, black);

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

<минимальное значение>..<максимальное значение>

При определении типа-диапазона нужно руководствоваться следующими правилами:

-".." рассматриваются как один символ, поэтому между точками пробелы недопустимы;

- левая граница не должна превышать правую границу.

Пример: Type month = 1..12;

lat = ’a’.. ’z’;

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

Тип Диапазон Знач. цифры Размер в байтах
Real Single Double Extended 1 от 2.9Е-39 до 1.7Е+38.5E-45... 34E38 5E-324... 1.7E308 1.6E-4951...1.1E4932 11-12 7-8 15-16 19-20 4 8 10

 

Операции

В таблице приведены арифметические операции, которые определены для целого и вещественного типов:

Знак операции Операция Типы операндов Тип результата
+ Сложение Целый или вещественный Целый, если оба операнда целого типа, в противном случае - вещественный.
- Вычитание Целый или вещественный
* Умножение Целый или вещественный
/ Деление Целый или вещественный Вещественный
Div Целочисленное деление Целый Целый
Mod Остаток от целочисленного деления Целый Целый

 

В Паскале определены следующие логические операции:

Not - логическое НЕ;

And - логическое И;

Or - логическое ИЛИ;

Xor - исключительное ИЛИ.

Данные операции определяются следующим образом:

P Q Not P P And Q P Or Q P Xor Q
True True False False True False True False False False True True True False False False True True True False False True True False

 

В Паскале используются следующие операции отношения: =, <>, >, <, <=, >=. Операции сравнения применимы к данным простых типов. Сравнивать можно между собой значения одного типа: целые, вещественные, символьные, логические, значения перечисляемого типа. Допустимо также сравнивать между собой целые и вещественные числа.

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

 

Приоритет Операция
2 3 4 Not *, /, Div, Mod, And +, -, Or, Xor =,<>, <, >, <=, >=

 

Функции.

Все функции можно разделить на два вида: не выводящие за пределы типа, т. е. аргументы и результат относятся к одному типу, и те, у которых тип результата не совпадает или может не совпадать с типом результата. Ниже приводится перечень часто используемых функций Паскаля.

 

Вызов функции Тип аргумента Тип результата Назначение
Abs(x) целый вещественный целый вещественный Возвращает абсолютное значение x
Pi - вещественный Возвращает значение числа ПИ
Sin(x) целый вещественный вещественный Возвращает синус x радиан
Cos(x) целый вещественный вещественный Возвращает косинус x радиан
ArcTan(x) целый вещественный вещественный Возвращает арктангенс x радиан
Sqrt(x) целый вещественный вещественный Возвращает квадратный корень из x>=0
Sqr(x) целый вещественный целый вещественный Возвращает значение квадрата x
Exp(x) целый вещественный вещественный Возвращает значение e в степени x
Ln(x) целый вещественный вещественный Возвращает натуральный логарифм x, x>0
Trunc(x) вещественный целый целый Возвращает целую часть значения x
Frac(x) вещественный целый вещественный Возвращает дробную часть значения x
Int(x) вещественный целый вещественный Возвращает целую часть значения x
Round(x) вещественный целый целый Округляет x до ближайшего целого
Odd(x) целый логический Проверяет нечетность значения x
Ord(x) порядковый целый Возвращает порядковый номер, соответствующий значению x
Chr(x) символьный целый Возвращает символ с заданным порядковым номером x
Pred(x) порядковый порядковый Возвращает предшествующее значение x
Succ(x) порядковый порядковый Возвращает последующее значение x

 

 

Составные части программы.

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

Program (имя программы)

Label (Список меток)

Const (Список постоянных значений)

Type (Описание сложных типов данных)

Var (Описание переменных программы)

Begin (Начало программного блока)

(Алгоритм из операторов и операндов)

End. (Конец программы)

 

 


Оператор присваивания

Оператор присваивания используется для задания значения переменных и имеет следующий синтаксис:

 

имя-переменной: = выражение;

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

Пример:

x:=3.14;

a:=b+c;

i:=i+1; (значение ячейки памяти i увеличивается на 1)

 

Операторы ввода и вывода информации

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

Сначала операторы ввода (форматы операторов):
Read (<Список ввода>);
Readln (<Список ввода>);

В таком формате эти команды позволяют вводить данные в переменные во время выполнения программы с клавиатуры. Элементами списка ввода могут быть имена переменных, которые должны быть заполнены значениями, введенными с клавиатуры.

Выполнение операторов ввода происходит так: ход программы приостанавливается, на экран выводится курсор, компьютер ожидает от пользователя набора данных для переменных, имена которых указаны в списке ввода. Пользователь с клавиатуры вводит необходимые значения в том порядке, в котором они требуются списком ввода, нажимает Enter. После этого набранные данные попадают в соответствующие им переменные и выполнение программы продолжается.

 

Примечание: данные при вводе разделяются пробелами или вводятся через Enter.

 

Пример:

Read(a);

read(x1,x2,y);

 

Разница между работой процедур Read и Readln (от Read line) состоит в следующем: после выполнения Read значение следующего данного считывается с этой же строчки, а после выполнения Readln - с новой строки.

 

Для вывода информации в Паскале также есть две команды:
Write (<Список вывода>);
Writeln (<Список вывода>);

Такой формат использования Write и Writeln позволяет выводить на экран монитора данные из списка вывода. Элементами списка вывода могут являться имена переменных, выражения, константы. Прежде чем вывести на экран, компьютер значения выражений сначала вычислит. Элементы списка, также как и в операторах ввода, разделяются запятыми.

Различие между двумя операторами вывода таково: после выполнения оператора Writeln (от Write line) происходит переход на новую строчку, а после выполнения инструкции Write, переход на новую строчку не происходит и печать по последующим командам вывода Write или Writeln будет происходить на той же строчке. При вызове оператора Writeln без параметров просто происходит переход на новую строчку.

 

Пример:

Write('x=',x);

writeln('x=',x:6:2);

{число 6 означает количество позиций на изображение всего числа, а цифра 2 количество изображений дробной части}

writeln(x,2*a-a, sqrt(x), y);

 

 

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

 

Процедура (функция) Назначение Пример вызова Примечания
read(список-ввода) ввод данных (клвиатура) read(a, b, c)  
readln(список-ввода) ввод данных, пропуск маркера конца строки readln(a, b, c)  
write(список-вывода) Вывод данных (экран) write(‘n = ’,n:10) write(‘n = ‘,n:p:q) p,q: величины целого типа
writeln(списоквывода) Вывод данных, вывод маркера конца строки writeln(‘?’:s+2) writeln(‘’:spaces) s,spaces: величины целого типа
clrscr очистить весь экран (окрасить в цвет фона) clrscr модуль crt (смотри приложение)
textcolor(цвет) выбрать цвет символа textcolor(magenta) модуль crt (смотри приложение)
textbackground(цвет) выбрать цвет фона textbackground(0) модуль crt (смотри приложение)
window(x1,y1,x2,y2) окно (x1,y1)-(x2,y2) window(1,1,40,10) модуль crt (смотри приложение)
wherex позиция курсора x - номер колонки x:= wherex модуль crt (смотри приложение)
wherey позиция курсора y - номер строки y:= wherey модуль crt (смотри приложение)
gotoxy(x,y) установить курсор в положение (x, y); x - колонка [1..80]; y - строка [1..25]; gotoxy(40,10) gotoxy(50,wherey) модуль crt (смотри приложение)

 

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

 

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

 

Условный оператор имеет два варианта записи.

Полная форма:

If <логическое выражение> Then <оператор1> Else <оператор2>;

В этом случае в зависимости от значения логического выражения выбирается для выполнения оператор1 или оператор2

Неполная форма:

If <логическое выражение> Then <оператор>;

В этом случае в зависимости от значения логического выражения выполняется записанный после Then оператор или не производится никаких действий.

 

Если после Then или Else необходимо выполнить действия, описанные несколькими операторами, то эти операторы должны быть заключены в операторные скобки Begin - End. Такая конструкция называется составным оператором.

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

 

Замечание: Знак «точка с запятой» не ставится перед служебным словом Else, но операторы в группах, естественно, отделяются друг от друга этим знаком.

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

В простых условиях могут применяться знаки операций сравнения: >(больше), <(меньше), =(равно), <>(не равно), >=(больше или равно), <=(меньше или равно).

Примеры простых условий:

A=5 {Значение переменной А равно 5}

(C+D3)>=(D1*(45-2)) {Значение выражения в левой части больше либо равно значению выражения из правой части}
S<>'ABC' {Значение переменной S не равно строковой константе 'ABC'}

В сложных условиях добавляются логические операторы AND, OR, NOT, XOR. В таких случаях простые части условия заключаются в скобки.

 

Пример:

If (a>4) AND (a<20) OR (a=0) Then <оператор1> Else <оператор2>;

 

пример:

"Из двух чисел выбрать наибольшее".

На первый взгляд решение очевидно, но оно не столь тривиально, как кажется.

Program Example;
Var A,B,C: Real; {A,B - для хранения аргументов, C - результат}
Begin

Writeln ('Введите два числа');
Readln (A,B); {Вводим аргументы с клавиатуры}
If A>B Then C:=A Else C:=B; {Если A>B, то результат - A, иначе результат - B}
Writeln (C); {Выводим результат на экран}

End.

Оператор выбора

Если у вас не два возможных варианта выполнения программы, а больше, то может использоваться оператор выбора CASE. Структура этого оператора в Турбо Паскале:

CASE <ключ_выбора> OF

C1: <оператор1>;

C2: <оператор2>;

...

CN: <операторN>;

[ ELSE <оператор0>;]

END;

 

Здесь <ключ_выбора> - это выражение порядкового типа, в зависимости от значения которого принимается решение; C1,…,CN – значения, с которыми сравнивается значение <ключа>; <оператор1>,…, <операторN> - оператор (возможно составные), из которых выполняется тот, с константой которого происходит первое совпадение значения <ключа>, <оператор0> выполнится, если значение ключа не совпадает ни с одной из констант C1,…,CN.

Ветвь Else не обязательна, и в отличие от оператора if, перед ней можно ставить точку с запятой. Если для нескольких значений <ключа> действия совпадают, то эти константы можно перечислить через запятую перед двоеточием или даже задать диапазон значений (нижняя граница.. верхняя граница).

 

Пример:

Вводится целое число, если это цифра, то определить четная она или нет, а если число, то определить, попадает ли оно в диапазон от 10 до 100, если нет, то выдать соответствующее сообщение.

Program chislo;

var i:integer;

Begin

write ('Введите целое число: ');

readln (i);

case i of

0,2,4,6,8: writeln ('Четная цифра');

1,3,5,7,9: writeln ('Нечетная цифра');

10…100,200: writeln ('Число от 10 до 100 или 200');

else writeln ('Число либо отрицательное, либо > 100, но не 200');

end;

Readln

end.
Циклические алгоритмы

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

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

 

 

Цикл "С параметром". Оператор цикла с параметром

Оператор цикла с параметромимеет такую структуру:

 

For <имя_переменной> := <выр1> To <выр2> Do <оператор>;

 

<имя переменной> - параметр цикла
<выражение1> - начальное значение параметра цикла
<выражение2> - конечное значение параметра цикла
Все три указанных выше объекта должны быть одного порядкового типа.
<оператор> - тело цикла.

 
 

Этот оператор цикла выполняется следующим образом:

 

В данном случае параметром будет являться целочисленная переменная, которая будет изменяться на единицу при каждой итерации цикла. Таким образом, задав начальное и конечное значения для такой переменной, можно точно установить количество выполнений тела цикла.

Читается данная структура так: "Для переменной (далее следует ее имя) от начального значения до конечного выполнять оператор (являющийся телом цикла)". Иногда цикл с параметром даже называют "Для" или "For". В первом случае параметр с каждой итерацией увеличивается на единицу, во втором - уменьшается.

Выполняется этот цикл по следующему алгоритму:
1. переменной-параметру присваивается начальное значение;
2. выполняется тело цикла;

3. переменная-параметр автоматически увеличивается на 1 (в первом случае формата);

4. если параметр превышает конечное значение, то происходит выход из цикла, иначе - переход к пункту 2.

 

Примечание:

при использовании Downto параметр автоматически уменьшается на 1, а выход из цикла происходит тогда, когда параметр становится меньше конечного значения.

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

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

Цикл "ПОКА". Оператор цикла с предусловием

 

While < логическое выражение> Do < оператор>;

 

Здесь тело цикла выполняется до тех пор, пока логическое выражение возвращает значение True.

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...