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

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

Скачать материал

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

Выбранный для просмотра документ аннотация.docx

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

Для обучения программированию использована новая версия среды разработки программ PascalABC. Это отечественная система программирования, специально созданная для изучения языка паскаль и приёмов программирования на нём. PascalABC.NET - лучший старт в мир программирования! Программа бесплатна, её интерфейс полностью выполнен на русском языке, она имеет небольшой размер, легка в освоении

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

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист по продажам

Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Выбранный для просмотра документ Паскаль.docx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программирование
на языке Pascal

Тематическое планирование

№ занятия

Тема занятия

  1.  

Алгоритмы. Введение в программирование

  1.  

PascalABC. Операторы ввода-вывода данных

  1.  

Оператор присваивания, арифметические операции. Решение задач

  1.  

Типы данных в Pascal. Решение задач

  1.  

Самостоятельная работа. Решение задач

  1.  

Стандартные функции. Условный оператор. Решение задач

  1.  

Логический тип данных. Практическая работа

  1.  

Самостоятельная работа. Подготовка к к/р

  1.  

Контрольная работа №1. Линейные и разветвляющиеся программы

  1.  

Вложенные условные операторы. Оператор Case

  1.  

Оператор Case. Решение задач

  1.  

Цикл с параметром

  1.  

Циклы с условиями

  1.  

Решение задач на циклы. Подготовка к контрольной работе

  1.  

Контрольная работа №2. Циклы

  1.  

Генератор случайных чисел. Одномерные массивы. Ввод/вывод элементов, выборка

  1.  

Поиск максимального и минимального элементов в одномерном массиве

  1.  

Сортировка элементов массива

  1.  

Двумерные массивы: ввод, вывод, нахождение max и min

  1.  

Решение задач по теме массивы, подготовка к к/р

  1.  

Контрольная работа №3. Массивы: одномерные и двумерные

  1.  

Текстовый режим. Модуль CRT.

  1.  

Работа в графическом режиме

  1.  

Самостоятельная работа по практике (Задачи по графике)

  1.  

Подпрограммы: Процедуры и функции

  1.  

Решение задач на составление подпрограмм – функций

  1.  

Символьный тип данных. Решение задач

  1.  

Строковой тип данных. Процедуры и функции для работы со строками

  1.  

Самостоятельная работа. Решение задач

  1.  

Перечислимый и ограниченный тип данных

  1.  

Работа с типом Запись

  1.  

Решение задач по теме «Записи»

  1.  

Экзамен по теории

  1.  

Экзамен по практике

 

Содержание

Занятие №1. Алгоритмы. Введение в программирование. 4

Занятие №2. PascalABC. Операторы ввода-вывода данных. 10

Занятие №3. Оператор присваивания. Арифметические операции. 13

Занятие №4. Типы данных в Pascal. 15

Занятие №5. Самостоятельная работа. Решение задач. 20

Занятие №6.Стандартные функции. Ветвление. Условный оператор. 22

Занятие №7. Логический тип данных. Логические операции  с переменными. 24

Занятие №8. Самостоятельная работа. 26

Занятие №9. Контрольная работа №1. Линейные и разветвляющиеся программы.. 27

Занятие №10-11. Вложенные условные операторы. Оператор выбора. 31

Занятие №12. Цикл с параметром. 33

Занятие №13. Циклы с условиями. 35

Занятие №14. Решение задач на циклы. 37

Занятие №15. Контрольная работа по теме «Циклы». 38

Занятие №16 Генератор случайных чисел. 39

Занятие №17.Поиск максимального и минимального элементов массива. 41

Занятие №18. Массивы: алгоритмы сортировки. 42

Занятие №19-20. Работа с двумерными массивами. 43

Занятие №21. Контрольная работа по теме «Массивы». 44

Занятие №22.Управление текстовым режимом. Модуль CRT. 61

Занятие №23-24. Работа в графическом режиме. Модуль  GraphABC.. 63

Занятие №25-26. Подпрограммы (процедуры и функции) 65

Занятие №27.Символьный тип данных. 67

Занятие №28. Строковой тип данных. 68

Занятие №29. Строковой тип данных. 70

Занятие №30. Перечисляемый и ограниченный тип данных. 71

Занятие №31-32. Работа с типом Запись. 74

Список задач к экзамену. 76

Список вопросов к экзамену. 78

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

 


 

Занятие №1. Алгоритмы. Введение в программирование

Алгоритмы

Алгоритм - точное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Слово алгоритм происходит от algorithmi – латинской формы написания имени великого математика IX в. Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению поставленной задачи. Исполнитель алгоритма - это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.

Основные свойства алгоритмов

Понятность для исполнителя — т.е. исполнитель алгоритма должен знать, как его выполнять.

Дискретность (прерывность, раздельность) — т.е. разделение процесса решения задачи на отдельные простые этапы.

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

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

Результативность (или конечность). Это свойство состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов.

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

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

  1. словесная (записи на естественном языке);
  2. графическая (изображения из графических символов);
  3. псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
  4. программная (тексты на языках программирования).

 

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Евклида): 

 

Словесный способ:

  1. задать два числа;
  2. если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;
  3. определить большее из чисел;
  4. заменить большее из чисел разностью большего и меньшего из чисел;
  5. повторить алгоритм с шага 2.

Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи (НОД (125;75)=25).

Словесный способ не имеет широкого распространения по следующим причинам:

-        такие описания строго не формализуемы;

-        страдают многословностью записей;

-        допускают неоднозначность толкования отдельных предписаний.

 

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

Символы, наиболее часто употребляемые в блок-схемах

Наименование

Обозначение

Функция

Блок начало-конец
(пуск-остановка)

Flowchart start stop.png

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

Блок действия

Flowchart process.png

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

Логический блок (блок условия)

Flowchart selection.png

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

Предопределённый процесс

Flowchart preprocess.png

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

Данные
(ввод-вывод)

Flowchart io.png

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

Граница цикла

Flowchart loop.png

Символ состоит из двух частей − соответственно, начало и конец цикла − операции, выполняемые внутри цикла, размещаются между ними. Условия цикла и приращения записываются внутри символа начала или конца цикла − в зависимости от типа организации цикла. Часто для изображения на блок-схеме цикла вместо данного символа используют символ условия, указывая в нём решение, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла).

Соединитель

Flowchart connector.png

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

Комментарий

Flowchart note.png

Используется для более подробного описания шага, процесса или группы процессов. Описание помещается со стороны квадратной скобки и охватывается ей по всей высоте. Пунктирная линия идет к описываемому элементу, либо группе элементов (при этом группа выделяется замкнутой пунктирной линией). Также символ комментария следует использовать в тех случаях, когда объём текста, помещаемого внутри некоего символа (например, символ процесса, символ данных и др.), превышает размер самого этого символа.

Базовые алгоритмические структуры

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

1. Следование

 

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

Полное ветвление

Неполное ветвление

 

 

3. Цикл

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

 

Цикл со счетчиком

 

Цикл с предусловием

Цикл с постусловием

 

Введение в программирование

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

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

Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке – программой для компьютера.

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

-        машинные;

-        машинно-оpиентиpованные (ассемблеpы);

-        машинно-независимые (языки высокого уровня).

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

Языки высокого уровня делятся на:

  1. процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;
  2. логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
  3. объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.

 

Язык программирования Pascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском Институте информатики (Швейцария), и назван в честь Блеза Паскаля – выдающегося математика, философа и физика 17-го века. Первоначальная цель разработки языка диктовалась необходимостью создания инструмента "для обучения программированию как систематической дисциплине". Постепенно Pascal стали использоваться не только для целей обучения, но и для разработки программных средств в профессиональном программировании. В настоящее время Паскаль давно вышел из ранга кабинетного, учебного языка. И нашел свое достойное продолжение, прекрасное расширение, как язык Object Pascal, как составная часть, ядро, реальная основа языка визуального программирования на DELPHI под Windows.

 


 

Занятие №2. PascalABC. Операторы ввода-вывода данных.

Транслятор — программа, которая принимает на вход программу на одном языке (он в этом случае называется исходный язык, а программа — исходный код), и преобразует её в программу, написанную на машинном коде.

Наиболее часто встречаются две разновидности трансляторов:

1.      Компиляторы — выдают результат в виде исполняемого файла. Этот файл:

-            транслируется один раз, может быть запущен самостоятельно

-            не требует для работы наличия на машине создавшего его транслятора

2.      Интерпретаторы — исполняют программу построчно. В данном случае программа интерпретируется при каждом запуске и требует для исполнения наличия на машине интерпретатора и исходного кода.

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

Основные понятия языка Pascal

алфавит Pascal:

ü  латинские буквы от A до Z

ü  арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

ü  знаки препинания . , :  ; ..

ü  знаки арифметических операций + – * /

ü  знаки логических операций  >  <  =  >= <=  <>

ü  специальные символы (   ) {   } [   ] ' := (*   *)

Идентификатор – последовательность латинских букв, арабских цифр, знаков подчёркивания. Начинается с латинской буквы. Длина до 127 символов. Используется в качестве имён переменных, меток, программ и подпрограмм. Нельзя в качестве идентификаторов использовать зарезервированные слова.

Зарезервированные слова – слова, используемые в операторах, названиях операций, функций и т. п. Всего их около 80. Например, begin, sin, while.

Константы – постоянные величины. Встречаются числовые (например, 2345, -67, 34.77) и текстовые константы (например, 'const', 'константа'). В числовых константах вместо запятой используется точка. В текстовых константах возможно использование кириллицы. Текстовые константы заключаются в апострофы.

Переменные – это идентификаторы (имена), используемые для обозначения исходных данных и результатов вычислений. Переменные в ходе выполнения программы могут менять значения (например, A, A1, X21,Z).

Выражение – последовательность переменных и числовых констант, объединённых знаками арифметических (арифметическое выражение, например, Pi*r+1/2.5,  Х/5 + 2.5 0) или арифметических и логических операций (логические выражения, например, Х + 2.5 = 0,  x+1>=12). Выражения всегда записываются в строчку, указывая все арифметические операции, включая знак умножения

Комментарии – это пояснения, вставляемые в текст программы. Комментарий -  любой текст, заключённый в {   } или (*   *), либо находящийся после //. Комментарии не выполняются программой.

Оператор – это инструкция, которую должен выполнить Pascal. Программа состоит из последовательности операторов. Исполняемые операторы должны заканчиваться ; Существует несколько типов операторов:

Оператор присваивания – это последовательность из переменной, знака присваивания ( := ) и арифметического выражения. Например, x:=x+1;

Структурный оператор – это оператор, состоящий из нескольких зарезервированных слов и логических проверок. К ним относятся операторы циклов и условные операторы.

Нестандартные операторы – это подпрограммы, оформленные стандартным образом и записанные в библиотеки (модули). Вызываются при указании имени и параметров.

Составной оператор – это группа операторов, заключённая между begin … end;

Begin

Оператор 1; Оператор 2; … Оператор n;

End;

Пустой оператор – оператор Begin End;, не выполняющий никакого действия.

Структура программы

Program имя программы; //заголовок

            Const Константа1 = значение; //объявление констант (раздел описаний)

                        Константа2 = значение;

                        ...

                        КонстантаN = значение;

            Type ...; //объявление типов

            Var     СписокПеременных1 : Тип; //описание переменных

                        СписокПеременных2 : Тип;

                        ...

                        СписокПеременныхN : Тип;

            Label СписокМеток;

            Function ...

            Procedure ...

            Begin

              Операторы программы      //раздел операторов

            End.

Расширение файла - *.pas

Операторы ВВОДА данных в переменные с клавиатуры

Read (a1,a2,...,an);

Readln (a1,a2,...,an);  – после ввода информации (выполнения оператора) переводит курсор на следующую строку

a1,a2,...,an – имена переменных.

При переходе к выполнению этих операторов программа ожидает ввода данных и нажатия клавиши Enter. Данные, вводимые в разные переменные, разделяются пробелом. Пример записи оператора - Readln(k,t,e); Оператор Readln; без списка переменных используется для задержки информации на экране до нажатия на клавишу Enter и ставится в конце программы.

Операторы ВЫВОДА  текстовой информации на  экран

Write(a1,a2,...,an);

Writeln(a1,a2,...,an); – после вывода информации переводит курсор на следующую строку

a1,a2,...,an  – имена переменных, констант или арифметические выражения

Например, Write(2+У, Х);Writeln (‘A=’, а);Write(а, с);

Переменные типа Real рекомендуется выводить в форматированном виде.

Форматированный вывод - вывод информации с  указанием размерности, т.е. после переменной через двоеточие указывается количество символов под все число, а затем, для вещественных переменных, снова через двоеточие число десятичных знаков.

Например: Write(а:5:2,с:6:3); - под а отводится 5 символов, включая точку, знак числа и два десятичных знака величины числа. Знак «+» перед числом при выводе будет опущен. Если в а находится число 2,5678, то выведется на экран: _2.56

Пример 1.

Program dialog;

var  s:string;

begin 

     writeln (‘ Privet! Kak tebya zovut?’);

     readln (s);

     writeln (s,‘,  kak tvoi dela?’);

     readln (s);

     writeln (‘Nu ladno, vsego horoshego!’);

     readln (s);

end.


 

Занятие №3. Оператор присваивания. Арифметические операции.

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

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

идентификатор:= выражение;

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

Арифметические операции.

Знак

Название операции

Тип переменных

Тип результата

+

Сложение

любые

Соотв. типу переменных

-

Вычитание

любые

Соотв. типу переменных

*

Умножение

любые

Соотв. типу переменных

/

Деление

любые

Соотв. типу переменных

div

Деление нацело

целые

целые

mod

Взятие остатка

целые

целые

Выражения

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

Например: выражение –1+ –2 является числовым выражением и принимает целочисленное значение

 –3; конструкция 2+*4 – не является выражением, как и конструкция ‘s’*’a’ или ‘s’+’a’+1.

Приоритет операций

ОПЕРАЦИЯ

ПРИОРИТЕТ

()

Первый

not

Второй

*, /, div, mod, and

Третий

+, -, or, xor

Четвертый

=, <>, <, >, <=, >=, in

Пятый

 

Список задач к занятию

  1. Запишите на языке TP выражения:

2.      Вычислите значение выражения:

25 div 6=4; 17 div 3=5; 17 mod 3=2; 15 mod 5=0; 25 div -6=-4; -25 div 6=-4; -25 div -6=4; 25 mod -6=1; -25 mod 6=-1; -25 mod -6=-1.

 

  1. Выведите на экран сумму двух чисел (блок-схема и задача);
  2. Введите текст задачи

Program z1;

Uses wincrt;

Var a,b,c: real;
begin
a:=10;
b:=1.5;
c:=2*a+b;

writeln ('a=',a,'b=',b,'c=', c);
end.

Выполните форматированый вывод данных. Сохраните задачу под именем z1.pas

5.      Исправьте предыдущую задачу так, чтобы данные вводились с клавиатуры. Сохраните задачу под именем z2.pas

Program z2;

Uses wincrt;

var a,b,c: real;
begin
readln(a,b)
c:=2*a+b;

writeln ('a=',a,'b=',b,'c=', c);
 end.

6.      Составьте программу, которая по введённым числам x и y выводит значение выражения 

  1. Найти объем параллелепипеда, если известны его измерения.

Program objem;

Uses wincrt;

var v,a,b,c:real;

begin

   write('Введите a,b,c: ');readln(a,b,c);

   v:=a*b*c;

   writeln('    Объем параллелепипеда =  ',v:6:2);

end.

 


 

Занятие №4. Типы данных в Pascal.

Самостоятельная работа

Вариант I

1.      Напишите операторы для ввода данных с клавиатуры (с примером).

2.      Напишите общий вид оператора присваивания.

3.      Запишите математические выражения на языке Pascal:

Самостоятельная работа

Вариант II

1. Напишите операторы для вывода данных на экран (с примером).

2.Напишите общий вид оператора присваивания.

3.Запишите математические выражения на языке Pascal:

Типы данных

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

Иерархия типов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рассмотрим простые типы.

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

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

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

Данные вещественного типа

В языках программирования различают представление вещественных значений в видах: с фиксированной запятой (24.787)      
с плавающей запятой. (0.24787*102)

Примеры записи вещественных чисел:

14299          16.9453       3e11       +14299     -2517.0    +2.311e-12    -12345.1   0.234e+21

Тип

Диапазон

Размер в байтах

Real
Single
Double
Extended
Comp

2.9·10-39 ... 1.7·1038
1.5·10-45 ... 3.4·1038
5.0·10-324 ... 1.7·10308
3.4·10-4932 ... 1.1·10-4932
-2·1063 ... +2·1063-1

6
4
8
10
8

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

writeln(x:5:3)

Над данными вещественного типа можно выполнять следующие операции, дающие вещественный результат:

+ (сложение); - (вычитание); * (умножение); / (деление).

Пример 1. Найти объем параллелепипеда

var v,a,b,c:real;

begin

   write('                              Введите a,b,c: ');readln(a,b,c);

   v:=a*b*c;

   writeln('    Объем параллелепипеда =  ',v:6:2);

end.

Функции преобразования данных порядкового типа

Функция

Назначение

Тип аргументa

Тип  функции

Odd(x)

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

Longint

True (арг.нечет)

False (арг.четн)

Predd(x)

Определение предыдущего значения величины x

Любой порядковый тип

Тот же тип

Succ(x)

Определение последующего значения величины x

Любой порядковый тип

Тот же тип

Данные целого типа

 

 

 

 

 

Тип

Диапазон

Размер в байтах

Byte 
ShortInt 
Word
Integer 
LongInt

0 ... 255
-128 ... 127
0 ... 65535
-32768 ... 32767
-2147483648 ... 2147483647

1
1
2
2
4

В арифметических выражениях для целых чисел можно использовать знаки:

+ (сложение);  - (вычитание);  * (умножение);

div (нахождение целой части частного);  mod (взятие остатка).

Пример 2

25 div 6=4; 17 div 3=5; 17 mod 3=2; 15 mod 5=0; 25 div -6=-4; -25 div 6=-4; -25 div -6=4; 25 mod -6=1;  -25 mod 6=-1; -25 mod -6=-1.

Данные логического типа

В языке Паскаль имеются две логические константы: true (истина) и  false (ложь). Логическая переменная принимает одно из этих значений и имеет тип boolean. Значения логического типа занимают один байт памяти.

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

Над логическими данными допускаются следующие операции: or - дизъ­юнкция(или); and - конъюнкция(и); not - отрицание(не). Логические опера­ции  or  и and  выполняются над двумя величинами, а not - над одной.

Считают, что false < true.

Результаты операций над логическими данными задаются следующей таб­лицей:

A

B

not A

A or B

A and B

true

true

false

true

true

false

true

true

true

false

true

false

false

true

false

false

false

true

false

false

Например, результат операции   (c>10) or (d<4)  при  c=20  и  d=7 будет истинным, а при  c=5  и  d=8 - ложным.

Результат операции   (c>10) and (d<4)   при  с=20  и  d=7  будет ложным; при  с=5  и  d=8 - также ложным.

Данные символьного типа

Множеством значений символьного типа (char) является расширенный набор символов кода ASCII.Значения, входящие в это множество, перенумерованы, начиная с нуля, и упорядочены по возрастанию кодов символов. 

Пример 3.   'A'         '0'        ';'         '+'

Константы и переменные символьного типа занимают один байт памяти.

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

                           <   <=     =   <>   >=  >

Большей является та символьная величина, код ASCII которой больше.

Пример 4. 'a' < 'z'

В Паскале имеются функции, позволяющие:

-        по символу определить его код ORD('символ');

-        по коду определить символ CHAR(код).

Перечислимый тип данных

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

Описание перечислимого типа имеет вид:

type   имя типа=(список констант);

var   имя переменной: имя типа;

Пример описания перечислимого типа:

type god=(zima,vesna,leto,osen);

var a:god;

Здесь god - имя перечислимого типа; zima, vesna, leto, osen - константы; а - переменная, которая может принимать значение любой из констант.

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

Так, zima имеет порядковый номер 0, vesna - 1, leto - 2, osen - 3.Упорядоченность констант позволяет применять к ним отношения <, <=, =, <>, >=, >, а также стандартные функции  ord, pred, succ.

ЗАМЕЧАНИЕ. В языке допускается указывать константы перечислимого типа непосредственно в разделе переменных без использования раздела type, например:

var a:(zima,wesna,leto,osen);

Пример 5. Имеется перечень зверей: lisa,wolk,zaec,zubr, tigr, lew, medwed, kosulia, olen, bars. Составить программу, определяющую в этом списке  порядковый номер тигра и порядковый номер зверя после косули.

type zwer=(lisa,wolk,zaec,zubr,tigr,lew,medwed,kosulia,olen,bars);

 var  p1,p2:zwer;n1,n2:integer;

 begin

   p1:=tigr;p2:=succ(kosulia);

   n1:=ord(p1)+1;n2:=ord(p2)+1;

   writeln('порядковый номер тигра = ',n1:2);

   writeln('порядковый номер зверя ','после косули=',n2:2)

 end.

Ограниченный тип данных (диапазон)

Если какая-то переменная принимает не все значения своего типа, а только значения, содержащиеся в некотором ограниченном диапазоне, то  ее можно рассматривать как переменную ограниченного типа. Например, на основе типа

type mesiac=(ianw,fewr,mart,apr,may,iun,iul,awg,sent,okt,noiab,dek);

можно ввести ограниченный тип:  type leto=iun..awg;

Общий вид ограниченного типа:

type  имя типа=константа..константа;

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

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

2. В качестве базового типа можно использовать любой простой тип, кроме вещественного (real).

Например, возможны отрезки целого типа      

index=0..63;

символьного типа       letter='a'..'z';

перечислимого типа    osen=sent..noiab;

3. Начальное значение при определении ограниченного типа не должно  быть больше конечного значения.

4. Переменные ограниченного типа должны быть описаны в разделе переменных с помощью имен этих типов.

Пример 6

var

char1,char2:letter;

poleshahmat:index;

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

var char1,char2:'a'..'z';

poleshahmat:0..63;

Список задач к занятию

1.      Напишите программу, сообщающую для введенного с клавиатуры целого числа следующее (предыдущее) значение.

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

3.      Напишите программу, сообщающую для введенного с клавиатуры символа его код.

4.      Напишите программу, сообщающую для введенного с клавиатуры целого числа соответствующий символ. Для каких наименьшего и наибольшего целых чисел существует соответствующий символ?

 

Занятие №5. Самостоятельная работа. Решение задач

Самостоятельная работа

Вариант №1

1.     Запишите число в обычной форме:

0.501Е-5,   -24.8Е+5,   0.1Е-4?

2.     Пусть а=245, b=-435, c=35.126. Что будет выведено на экран после выполнения следующих команд:

А) write (a, b, c); write (a:5, ‘c=’,c:7:2);

      Б) writeln (‘a=’, a, ‘b= ‘, b:4); write ((b-a), с*2:6:2)?

3.     Запишите по правилам языка Паскаль такие выражения:

а.     ax2+bx+c;

б.    

4.     Вычислить значения выражений:

a)      20 div 6; 

b)      15 mod ( 20 div 3)

5.     Записать выражения в математической форме:

(-b+b*b-4*a*c))/(2*a);

6.     Чему равны значения переменных x и y после выполнения команд: x:=2; y:=5; y:=y-1; x:=x+y?

7.     Укажите допустимые и недопустимые имена переменных:

name, _F45, время, x.5, a##, yz, begin

8.     Каким служебным словом обозначаются:

-        данные целого типа

-        начало программы?

 

Самостоятельная работа

Вариант №2

1.     Запишите число в обычной форме:

0.8-2,   -5.7Е+3,   0.1Е-4?

2.     Пусть а=245, b=-435, c=35.126. Что будет выведено на экран после выполнения следующих команд:

a)      write (‘a, b, c’); writeln (‘c=’,c:8:1);

b)      writeln (‘b= ‘, b:6); write ((a+c):9:3, ‘b’)?

3.     Запишите по правилам языка Паскаль такие выражения:

а.     2x+3x2;

б.    

4.     Вычислить значения выражений:

a)      20 mod 6;

b)      100 div 10 mod 3.

5.     Записать выражения в математической форме:

(-3ab+(b-4*a*c))/(2*a);

6.     Чему равны значения переменных x и y после выполнения команд: x:=2; y:=5; x:=x+1; y:=y-x?

7.     Укажите допустимые и недопустимые им ена переменных:

      3Var, end, a65, end_of_name, prog_12, путь,A+b

8.      Каким служебным словом обозначаются:

-        данные вещественного типа

-        конец программы?

 

Список задач к занятию

Линейные задачи

  1. Даны два ненулевых числа. Найти их сумму, разность, произведение и частное.
  2. Написать программу для вычисления среднего арифметического трех чисел X, Y, Z, введенных с клавиатуры
  3. Даны два числа. Найти среднее арифметическое их квадратов и среднее арифметическое их модулей.
  4. Найти периметр и площадь прямоугольного треугольника, если даны длины его катетов a и b
  5. Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба. 
  6. Найти длину окружности и площадь круга заданного радиуса R. В качестве значения Pi использовать 3.14.
  7. Дана длина окружности. Найти площадь круга, ограниченного этой окружностью. В качестве значения Pi использовать 3.14.
  8. Найти площадь кольца, внутренний радиус которого равен R1, а внешний радиус равен R2 (R1 < R2). В качестве значения Pi использовать 3.14
  9. Найти решение системы уравнений вида

заданной своими коэффициентами A1, B1, C1, A2, B2, C2, если известно, что данная система имеет единственное решение.

  1. У введённого трёхзначного числа вывести последнюю цифру.
  2. Дано целое четырехзначное число. Используя операции div и mod, найти сумму его цифр.
  3. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U < V). Время движения лодки по озеру T1 ч, а по реке (против течения) — T2 ч. Определить путь S, пройденный лодкой.

13.  Написать программу, которая вычисляет стоимость поездки на автомобиле на дачу (туда и обратно). Исходными данными являются: расстояние до дачи (в километрах), количество  бензина, которое потребляет автомобиль на 100 км пробега, цена одного литра бензина.

 


 

Занятие №6.Стандартные функции. Ветвление. Условный оператор

Стандартные функции

Функция

Назначение

Abs(x)

|x|

Sqr(x)

Sqrt(x)

sin(x)

sin x

cos(x)

cos x

arctan(x)

arctg x

exp(x)

ln(x)

ln x

Trunc(х)

Целая часть x

Round(х)

ближайшее к х целое число

Random(x)

Возвращает случайное целое  число из промежутка [0;x)

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

If <условие> Then <оператор 1> Else <оператор 2>;

Выполнение условного оператора начинается с вычисления значения логического выражения, записанного в условии. Если условие истинно, то выполняется <оператор 1>, в противном случае − <оператор 2>. Если в качестве оператора должна выпол­ниться серия операторов, то они заключаются в операторные скобки Begin End;.

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

 

Пример 1. Вывести на экран меньшее из двух данных чисел.

  1. Пользуясь формулой min(x, y)=(x+y-|x-y|)/2

Program Example_2;

Var x, y, c: integer;

begin

            writeln('Введите два числа');

            readln(x,y);

            c:=(x+y-abs(x-y)) div 2;

            writeln('меньшее из двух чисел',x, 'и',y, 'равно', c);

end.

  1. С помощью оператора ветвления

Program Example_max;

Var x,y: Integer;

  Begin

Writeln('введите 2 числа'); {вводим два целых числа через пробел}

Readln(x,у) ;

     If x<y Then Writeln(x) {если x меньше у, то  выводим x}

            Else Writeln(у);  {иначе выводим у}

 End.

Введем два числа − 5 и 7. Переменная х получит значение 5, а переменная у − значение 7 (х=5, у=7). Условие х>у не выполняется, так как 5 не больше 7. Управление передается на оператор, стоящий после Else, то есть Writeln(y), а следовательно, на экране появится 7.

Примечание. Обратите внимание на то, что перед служебным словом Else разделитель − точка с запятой − не ставится.

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

If <условие> Then <оператор>;

Ветвь Else может отсутствовать, если в случае невыполнения условия ничего делать не надо. Например, рассмотрим следующую задачу: если значение переменной х меньше 0, то поменять его на противоположное. Задача решается с помощью такого условного оператора:

If x<0 Then x:=-x;

 

Список задач к занятию

1.      Составьте программу для расчета следующих выражений по введённому числу x:

2.      Составьте программу, определяющую, является ли число полным кратным 5.

 

3.      Точка плоскости задана своими координатами (x,y). Написать программу, определяющую, принадлежит ли она окружности радиуса 4 с центром в точке (2,2).

 

Решение задачи 3.

            Var x, y: real;

            begin

                        writeln('Введите координаты точки');

                        readln(x,y);

                        if (x-2)*(x-2)+(y-2)*(y-2)<=16

                                    then writeln('точка принадлежит окружности')

                                    else writeln('точка не принадлежит окружности’)

           end.

 

 


 

Занятие №7. Логический тип данных. Логические операции
с переменными

Переменные логического типа описываются посредством идентификатора Boolean. Они могут принимать только два значения − FALSE (ложь) и TRUE (истина).

Переменные логического типа обычно получают значения в результате выполнения операций сравнения (отношения): "<" (меньше), ">" (больше), "≤" (меньше или равно), "≥" (больше или равно), "<>" (не равно), "=" (равно). Результат операции отношения равен TRUE, если отношение удовлетворяется для значений входящих в него операндов, и FALSE в противном случае.

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

Логические операции Pascal

Значения

операндов

Результат операции

X

Y

not X

X and Y

X or Y

X xor Y

false

false

true

false

false

false

false

true

true

false

true

true

true

false

false

false

true

true

true

true

false

true

true

false

 

 

 

 

 

 

 

 

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

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

 

Пример 1. Написать программу, проверяющую, принадлежит ли число, введенное с клавиатуры, интервалу (0;5).

Решение

Обозначим через х число, вводимое с клавиатуры пользователем (это переменная целого типа).  х принадлежит заданному интервалу лишь в том случае, если одновременно выполняются оба условия: (х>0) и (х<5).

 

Program Example_interval;

Uses crt;

Var x: Integer;

Begin

Writeln('Введите число х');

Readln(х);

If (x>0) and (x<5) Then

Writeln (х,' принадлежит (0;5)')

Else

Writeln(x,' не принадлежит (0;5)');

Readkey;

End.

Пример 2. Даны три числа x, y, z. Написать программу, в результате выполнения которой числа удвоятся, если xyz, и будут заменены на их абсолютные величины в противном случае.

Uses crt;

var x,y,z: integer;

begin

      writeln('Введите три числа'); readln(x,y,z);

      if (x<=y) and (y<=z) then

                  begin

                              x:=2*x;

                              y:=2*y;

                              z:=2*z;

                  end

else

             begin

                         x:=abs(x);

                         y:=abs(y);

                         z:=abs(z);

             end;

writeln (x, ' ', y, ' ', z);

readkey;

end.

 

Список задач к занятию

Условный оператор и сложные условия

  1. Написать программу, которая определяет, принадлежит ли точка х отрезку [a,b].
  2. Проверить истинность высказывания: «Данные числа x, y являются координатами точки, лежащей во второй координатной четверти».
  3. Проверить истинность высказывания: «Данные числа x, y являются координатами точки, лежащей в первой или третьей координатной четверти»
  4. Проверить истинность высказывания: «Данное целое число является четным двузначным числом».
  5. Проверить истинность высказывания: «Данное целое число является нечетным трехзначным числом».
  6. Проверить истинность высказывания: «Среди трех данных целых чисел есть хотя бы одна пара совпадающих».
  7. Проверить истинность высказывания: «Среди трех данных целых чисел есть хотя бы одна пара взаимно противоположных».
  8. Проверить истинность высказывания: «Сумма цифр данного трехзначного числа является четным числом»
  9. Даны два числа. Меньшее из них замените квадратом, а большее умножьте на 10.
  10. Написать программу, вычисляющую значение функции y(x) для заданного х.

 

Решение задачи 10.

            var x,y: real;

            begin

                        writeln('Введите значение x');

                        readln(x);

                        if x<=10 then y:=210 else y:=x*x*x;

                                    writeln('y(', x,')=',y);

            end.

 


 

Занятие №8. Самостоятельная работа.

Самостоятельная работа

Вариант №1

  1. Записать на языке Pascal:

  1. Записать выражения на языке алгебры:

  1. Укажите значение переменной s после выполнения следующего оператора присваивания:

а.      s:=5;

s:=57;

б.      s:=-7.5;s:=2*s;

в.      s:=6; s:=-1.5*s; s:=0;

Вариант №2

  1. Записать на языке Pascal:

  1. Записать выражения на языке алгебры:

  1. Укажите значение переменной s после выполнения следующего оператора присваивания:

а.      s:=0;

s:=-21;

б.      s:=-3.14; s:=-3*s;

в.      s:=2; s:=-3.5*s; s:=12;

 

Список задач к занятию

  1. Даны три целых числа. Возвести в квадрат отрицательные числа и в третью степень — положительные (число 0 не изменять).
  2. Даны вещественные координаты точки, не лежащей на координатных осях OX и OY. Вывести номер координатной четверти, в которой находится данная точка.
  3.  Значения переменных X, Y, Z поменять местами так, чтобы они оказались упорядоченными по возрастанию.
  4. На числовой оси расположены три точки: A, B, C. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести эту точку и ее расстояние от точки A.
  5. Проверить, являются ли все цифры данного трехзначного числа различными. Вывести сообщение

 

Занятие №9. Контрольная работа №1. Линейные и разветвляющиеся программы

Вариант №1

Тест по теории

1)      Чему равно значение переменной К после следующих действий:

K:=5;

S:=K+2;

K:=S+2;

K:=K+10+S;

а) 5                        б)12                в) 7                 г) 26

2)      Найдите правильно записанное на языке Pascal выражение :

а) (2*x*x+SQRT(x*x*x) / (a+b);

б) (2*x*x+SQRT(x*x*x)) / (a+b);

в) (2x*x+SQRT(x*x*x) ) / (a+b);

г) (2*x*x+SQRT x*x*x) / (a+b);

 

3)      Что вычисляет функция ABS (Х)?

а) Остаток от деления

б) Квадратный корень

в) Модуль числа

г) Целую часть от деления.

 

4)       Чему равно значение выражения

SQRT (ABS(49))?

а) –49                    б) 7                 в) –7               г) 49

 

5)      Какое служебное слово описывает  вещественный тип данных?

а) real                    б) boolean                   в) integer                    г) longint

 

6)      Определите результат работы программы:

Writeln (‘5+5=’,5+5);

а) 10=10               б) 20               в) 5+5=5+5                 г) 5+5=10

 

7)      Найдите ошибки в операторах и отметьте правильный вариант ответа:

а) if a>b else c:=a–b;

б) if a>b else c:=a–b then c:=a+b;

в) if a>b then c:=a–b else c:=a+b;

г) if a>b  then c:=a+b else a<b c:=a–b;

Задачи

1)      Составить программу для вычисления значения выражения

.

2)      Вывести большее из двух введённых чисел.

3)      Проверить для числа, введённого с клавиатуры, является ли оно четырёхзначным и чётным. Вывести соответствующее сообщение.


 

Вариант №2

Тест по теории

1)      Чему равно значение переменной К после следующих действий:

K:=10;

S:=K+K+5;

K:=S;

S:=K–10;

а) 10                      б)15                в) 5                 г) 25

2)      Найдите правильно записанное на языке Pascal выражение :

а) (SQRT 1/x+x*x*x) / (2*x);

б) SQRT (1/x+x*x*x) / 2*x;

в) SQRT (1/x+x*x*x) / (2x);

г) SQRT (1/x+x*x*x) / (2*x);

 

3)      Что вычисляет функция MOD?

а) Остаток от деления

б) Модуль числа

в) целую часть от деления

г) квадратный корень

 

4)      Чему равно значение выражения

SQRT (ABS(–81))?

а) –9                      б) 9                 в) –81             г) 81

 

5)      Какое служебное слово описывает  целый тип данных?

а) real                    б) boolean                   в) comp                       г) longint

 

6)      Определите результат работы программы:

Writeln (‘15+15=’,15+15);

а) 30=30               б) 15+15=30               в) 15+15=15+15                    г) 60

 

7)      Найдите ошибки в операторах и отметьте правильный вариант ответа:

а) if a><b then c:=a–b;

б) if a>b then c:=a+b; else c:=a-b;

в) if a>b c:=a+b else c:=a–b;

г) if a>b  then c:=a–b else c:=a+b;

Задачи

1)      Составить программу для вычисления значения выражения

.

2)      Вывести меньшее из двух введённых чисел.

3)      Проверить для числа, введённого с клавиатуры, является ли оно четырёхзначным и нечётным. Вывести соответствующее сообщение.


 

Вариант №3

Тест по теории

1)      Чему равно значение переменной К после следующих действий:

S:=50;

K:=S/2–25;

S:=S–10;

K:=K+S;

а) 40                      б) 30               в) –40             г) 0

2)      Найдите правильно записанное на языке Pascal выражение :

а) SQRT a*a+4 / (a+2);

б) SQRT (a*a+4) / a+2;

в) SQRT (a*a)+4 / (a+2);

г) SQRT (a*a+4) / (a+2);

 

3)      Что вычисляет функция DIV?

а) Остаток от деления

б) Модуль числа

в) целую часть от деления

г) квадратный корень

 

4)      Чему равно значение выражения

SQRT (ABS(–25))?

а) 25                      б) 5                 в) –25             г) –5

 

5)      Какое служебное слово описывает  логический тип данных?

а) real                    б) boolean                   в) byte             г) longint

 

6)      Определите результат работы программы:

Writeln (‘8–2=’,8–2);

а) 8–2=8–2                       б) 12               в) 6=6             г) 8–2=6

 

7)      Найдите ошибки в операторах и отметьте правильный вариант ответа:

а) if a>b else c:=a–b then c:=a+b;

б) if a>b then c:=a–b else c:=a+b;

в) if a>b then c:=a–b; else c:=a+b;

г) if a>b  then c:=a+b and c:=a–b;

Задачи

1)      Составить программу для вычисления значения выражения

.

2)      Проверить утверждение: «Два введённых числа равны между собой». Вывести соответствующее сообщение.

3)      Проверить для числа, введённого с клавиатуры, является ли оно трёхзначным и нечётным. Вывести соответствующее сообщение.


 

Вариант №4

Тест по теории

1)      Чему равно значение переменной К после следующих действий:

K:=10

S:=K+5

K:=S*2;

K:=K–10+S;

а) 10                      б)20                в) 35               г) 15

2)      Найдите правильно записанное на языке Pascal выражение :

а) (n+1+SQRT(a+n) / (2*a);

б) n+1+SQRT(a+n) / (2*a);

в) (n+1+SQRT(a+n) )/ 2*a;

г) n+1+SQRT(a+n) / 2*a;

 

3)      Что вычисляет функция SQRT (Х)?

а) Остаток от деления

б) Квадратный корень

в) Модуль числа

г) Целую часть от деления.

 

4)      Чему равно значение выражения

SQRT (ABS(–36))?

а) 6                        б) –36             в) 36               г) –6

 

5)      Какое служебное слово описывает  целый тип данных?

а) real                    б) boolean                   в) extended                г) integer

 

6)      Определите результат работы программы:

Writeln (‘3+1=’,3+1);

а) 3+1=4               б) 8                 в) 3+1=3+1                 г) 4=4

 

7)      Найдите ошибки в операторах и отметьте правильный вариант ответа:

а) if a>b then c:=a–b else c:=a+b;

б) if a>b then c:=a–b; else c:=a+b;

в) if a>b c:=a–b else c:=a+b;

г) if a>b  else c:=a+b then c:=a–b;

Задачи

1)      Составить программу для вычисления значения выражения

.

2)      Проверить утверждение: «Два введённых числа не совпадают». Вывести соответствующее сообщение.

3)      Проверить для числа, введённого с клавиатуры, является ли оно трёхзначным и чётным. Вывести соответствующее сообщение.

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

 

1

2

3

4

5

6

7

Вариант №1

г

б

в

б

а

г

в

Вариант№2

г

г

а

б

г

б

г

Вариант№3

а

г

в

б

б

г

б

Вариант№4

в

б

б

а

г

а

а

Занятие №10-11. Вложенные условные операторы. Оператор выбора.

Пример 1. Написать программу вычисления значения функции y(x) для заданного x.

var x,y: real;

begin

                        writeln ('Введите значение x');

                        readln(x);

                        if x>5 then y:=x*x

                                    else if x>-7 then y:=25

                                               else y:=17*x-1;

                        writeln('y(',x,')=',y);

end.

Оператор варианта (выбора)

Case <порядковая переменная> Of

<константа 1>: <оператор 1>;

<константа 2>: <оператор 2>;

<константа n>: <оператор n>;

[Else <оператор>;]

 End;

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

Примечание

  1. Тип константы должен совпадать с типом выражения.
  2. В конструкции выбора, в отличие от условного опера­тора, перед Else ставится точка с запятой.
  3. В качестве операторов могут использоваться и состав­ные операторы.
  4. Можно задавать не только одну константу, но и спи­сок, и диапазон констант.

Пример 2. Дано целое число в диапазоне 1 – 5. Вывести строку — словесное описание соответствующей оценки (1 — "плохо", 2 — "неудовлетворительно", 3 — "удовлетворительно", 4 — "хорошо", 5 — "отлично").

uses wincrt;

var ocenka:byte;

begin

  write('Введите оценку цифрой: ');

  read(ocenka);

  case ocenka of

     1:write('плохо');

     2:write('неудовлетворительно');

     3:write('удовлетворительно');

     4:write('хорошо');

     5:write('отлично');

  else write ('такой оценки не бывает');

  end;

 end.

Список задач к занятию

1.      Написать программу вычисления значения функции y(x) для заданного x.

2.      Дано целое число в диапазоне 0 – 9. Вывести строку — название соответствующей цифры на русском языке (0 — "ноль", 1 — "один", 2 — "два", ...).

3.      Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести название соответствующего времени года ("зима", "весна" и т.д.).

4.      Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести число дней в этом месяце для невисокосного года.

5.      Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия и два числа A и B (В не равно нулю). Выполнить над числами указанное действие и вывести результат.

6.      Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины и длина отрезка L в этих единицах (вещественное число). Вывести длину данного отрезка в метрах.

7.      Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы и масса тела M в этих единицах (вещественное число). Вывести массу данного тела в килограммах.

8.      Дано целое число в диапазоне 20 – 69, определяющее возраст (в годах). Вывести строку — словесное описание указанного возраста, обеспечив правильное согласование числа со словом "год", например: 20 — "двадцать лет", 32 — "тридцать два года", 41 — "сорок один год".

9.      Элементы окружности пронумерованы следующим образом: 1 — радиус (R), 2 — диаметр (D), 3 — длина (L), 4 — площадь круга (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения Pi использовать 3.14.

10.  Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной.

11.  В восточном календаре принят 60-летний цикл, состоящий из 12- летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года вывести его название, если 1984 год был началом цикла — годом зеленой крысы.

 


 

Занятие №12. Цикл с параметром.

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

For <параметр>:= А То В Do

Begin

<тело цикла>;

End;

For <параметр>:=А Downto В Do

Begin

<тело цикла>;

End;

где А − начальное значение параметра, В − конечное значение параметра.

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

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

Рассмотрим, как выполняется оператор цикла с параметром вида

For <параметр>:=А То В Do

Begin <тело цикла> End;

Сначала вычисляются значения выражений А и В. Если А<В, то <параметр> последовательно принимает значения, равные А, А+1,..., В-1, В и для каждого из этих значений выполняется <тело цикла>. Если А>В, то <тело цикла> не выполняется ни разу.

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

For <параметр>:=А Downto В Do

Begin <тело цикла> End;

Если А>В, то <параметр> последовательно принимает значения, равные А, А–1,..., В+1, В и для каждого из этих значений выполняется <тело цикла>. Если А<В, то <тело цикла> не выполняется ни разу.

Если <тело цикла> состоит из нескольких операторов, то операторы тела цикла заключаются в операторные скобки Begin-End, иначе не заключаются.

Пример 1. Задано натуральное число n. Написать программу вычисления суммы натуральных чисел от 1 до n: S=1+2+3+…n

Program Summa;

Uses crt;

Var n, s, I: integer;

Begin

            write ('Введите натуральное число: '); readln(n);

            s:=0;

            for I:=1 to n do s:=s+I;

            writeln('Сумма натуральных чисел = ',s);

            readkey;

End.

Пример 2. Задано натуральное число n. Написать программу вывода на экран натуральных чисел от 1 до n в обратном порядке.

Program Vyivod;

Uses crt;

Var n, i: integer;

Begin

            write ('Введите натуральное число: '); readln(n);

            For i:=n downto 1 do

                        write(i, ‘ ‘ );

            readkey;

End.

 

Пример 3. Для заданного натурального числа n написать программу вычисления его факториала n!=1*2*...*n. Восклицательный знак в конце буквы n! − это знак математической операции, называется он факториал и обозначает произведение всех натуральных чисел от единицы до указанного числа. Например: 6!=1*2*3*4*5*6=720.

program Factorial;

Var f, i, n: integer;

Begin

            write ('Введите натуральное число: '); readln(n);

            f:=1;

            for i:=1 to n do f:=f*i;

            writeln(n, '!= ', f);

            readkey;

End.

 

Список задач к занятию

  1. Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их возрастания, а также количество N этих чисел.
  2. Дано вещественное число A и целое число N (> 0). Вывести A в степени N: .
  3. Дано вещественное число A и целое число N (N> 0). Вывести

4.      Для заданного натурального числа n написать программу вычисления выражения:

 

 


 

Занятие №13. Циклы с условиями.

Цикл с предусловием

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

Оператор цикла с предусловием

While <условие> Do <тело цикла>;

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

Пример №1. Вычислить НОД двух натуральных чисел, используя алгоритм Евклида.

  1. Задать два числа;
  2. Если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;
  3. Определить большее из чисел;
  4. Заменить большее из чисел разностью большего и меньшего из чисел;
  5. Повторить алгоритм с шага 2.

uses crt;

var x,y:byte;

begin

clrscr;

write ('Введите первое число: '); read(x);

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

write ('NOD (',x,',',y,')=');

while x<>y do if x>y then x:=x-y else y:=y-x;

writeln (x);

readkey;

end.

Цикл с постусловием

Используется тогда, когда число повторений оператора цикла заранее не известно, а задается некоторое условие окончания цикла.

Repeat

<тело цикла>;

Until <условие>;

Проверка условия производится после очередного выполнения тела цикла. Это обеспечивает выполнение цикла хотя бы один раз.

Пример №2. Дано вещественное число A>1. Вывести наибольшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет меньше A, и саму эту сумму.

uses crt;

var a,sum:real;

    n:word;

begin

clrscr;

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

sum:=0; n:=0;

repeat

n:=n+1;

sum:=sum+1/n;

until sum>a;

write (‘N=’,n-1,'  S=',sum-1/n:6:4);

readkey;

end.

Пример №3. Вывести значения функции на отрезке [a;b] с шагом h (протабулировать функцию)

uses wincrt;

     var a,b,h,x,f:real;

begin

repeat

clrscr;

 write ('Введите левую границу  [a,b] ');readln (a);

 write ('Введите правую границу  [a,b] ');readln (b);

until a<b;

repeat

 clrscr;

 write ('Введите шаг');

 readln (h);

until h<b-a;

x:=a;

while x<=b do

begin

 f:=abs(3*x*x-9);

 writeln ('x=',x:8:4,' y=',f:8:4);

 x:=x+h;

end;

readkey;

end.

 

Список задач к занятию

1.      Протабулировать функцию на отрезке [a;b] с шагом h

2.      Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет больше A, и саму эту сумму.


 

Занятие №14. Решение задач на циклы.

Терминологический диктант

1.              Может ли идентификатор начинаться с латинской буквы?

2.              Выпишите возможные имена переменных в Pascal: 25x,slovo, d+4, x_1, мама, c%, str2,StDv3.

3.              Присвойте переменной bit значение 3,278458.

4.              Задайте тип переменной из пункта 3 в разделе описания переменных

5.              Что такое операторные скобки?

6.              Как записать комментарии на языке Pascal?

7.              Выведите значение переменной bit на экран с тремя знаками после запятой. Какой результат получим на экране?

8.              Введите с клавиатуры значения переменных a1 и a2

9.              Запишите на языке Pascal

10.          Каким служебным словом описывается целый тип данных с диапазоном 0..255?

11.          Чему равно значение f после выполнения следующих действий:

k:=10; vs:=k+1; f:=vs>13?

12.  Запишите число в обычной форме: 0.50871Е+3

13.  Какая функция вычисляет остаток от деления?

14.  Какая функция вычисляет квадратный корень от числа?

15.  Оператор ветвления в полной форме.

16.  Цикл с параметром. Общий вид

17.  Цикл с предусловием. Общий вид.

Задача для рассмотрения

Дано натуральное N. Выясните, сколько цифр оно содержит.

uses crt;

var n,a:longint;

      s:byte;

begin

clrscr;

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

read(n);

a := n; s:= 0 ;

While a>0 Do

Begin

s := s + 1;

a := a Div 10

End;

write ('Количество цифр в числе ',n, ' - ',s);

readkey;

end.

Список задач к занятию

  1. Даны десять чисел. Вывести их среднее арифметическое и произведение.
  2. Протабулировать функцию на отрезке [a;b] с шагом h

  1. Найти сумму цифр заданного натурального числа.

 

Занятие №15. Контрольная работа по теме «Циклы»

Контрольная работа №2

Вариант №1

1)       Дано натуральное число N и вещественное число A. Вычислить значение выражения

2)       Протабулировать функцию на отрезке [a;b] с шагом h

3)       Дано целое число . Вывести наименьшее целое K, при котором выполняется неравенство, и само значение 5K-2.

 

Контрольная работа №2

Вариант2

1)       Дано натуральное число N и вещественное число A. Вычислить значение выражения

2)       Протабулировать функцию на отрезке [a;b] с шагом h

3)       Дано целое число . Вывести наименьшее целое K, при котором выполняется неравенство, и само значение 2K+3.

 

 


 

Занятие №16 Генератор случайных чисел

Тип величины х

Диапазон возможных значений

Оператор

Вещественный

0≤x<1

x:=Random;

0≤x<A

x:=Random*A;

A≤x<B

x:=A+Random*(B-A);

Целый

0≤x≤A

x:=Random(A+1);

A≤x≤B

x:=A+Random(B-A+1);


Чтобы при каждом новом запуске программы с использовании функции Random генерировались разные случайные числа, надо в начале программы записать оператор Randomize;


 

Пример №1. Вывести на экран случайное число из диапазона [0;1)

uses crt;

var x:real;

begin

clrscr;

randomize;

x:=random;

write(x:6:3);

readkey;

end.

 

Пример №2. Вывести на экран случайное целое число из диапазона [1;3]

uses crt;

var x:integer;

begin

clrscr;

randomize;

x:=1+random(3);

write(x);

readkey;

end.


Структурированные типы данных. Массивы

Одномерный массив - это фиксированное количество элементов одного типа, объединенных одним именем, при­чем каждый элемент имеет свой уникальный номер и но­мера элементов идут подряд.

Описание массива:

<Имя переменной>: Array[n1..n2] Of <тип элементов>;

где n1 - номер первого элемента, n2 - номер послед­него элемента, в качестве типа элементов может исполь­зоваться любой тип данных, кроме файлового.

Для того чтобы обратиться к элементу этого масси­ва, необходимо указать имя массива и в квадратных скобках - номер элемента. Например, первый эле­мент массива А - А[1], а пятый - А[5].

Операции с массивами

1)      Ввод элементов массива (задание массива)

2)      Вывод элементов массива

3)      Выборка элементов массива, которые удовлетворяют заданным условиям

4)      Поиск максимального и минимального элементов массива

5)      Сортировка массивов

Способы задания массива

1)      с клавиатуры

Пример №3.

program vvod_vyivod;

uses crt;

const n=5;{размерность массива}

var A:array [1..n] of integer;

begin

   clrscr; {очистили экран}

   for i:=1 to n do read( A[i] ); {ввели n элементов массива}

   clrscr;            {очистили экран}

   for i:=1 to n do write(A[i], ' ' ); {вывели n элементов массива через пробел}

   readkey; {ожидание нажатия клавиши}

end.

2)      с помощью гене­ратора случайных чисел

Пример №4.

program Generator;

uses crt;

const n=5;

var A:array [1..n] of integer;

begin

   clrscr;

   randomize;

   for i:=1 to n do A[i]:=random(11);

   for i:=1 to n do write(A[i], ' ' );

   readkey;

end.

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

Пример №5. Найти сумму элементов, кратных 3.

uses crt;

const n=5;{размерность массива}

var A:array [1..n] of integer;

    s,i:integer;

begin

clrscr;

   for i:=1 to n do read( A[i] ); {ввели n элементов массива}

   clrscr;            {очистили экран}

   S:=0;

   for i:=1 to n do if A[i] mod 3=0 then s:=s+a[i];

   for i:=1 to n do write(A[i], ' ' ); {вывели n элементов массива через пробел}

   writeln; writeln ('S=',s);

readkey;

end.

Список задач к занятию

1)      Задать массив размерностью 50 элементов типа shortint. Заполнить его произвольными целыми числами из промежутка [–10; 10], используя генератор случайных чисел. Вывести полученный массив

2)      Задать массив размерностью 20 элементов типа word. Ввести элементы с клавиатуры и вывести на экран 5-й, 8-й, 13-й, 15-й и 20-й элементы массива

3)      Задать массив размерностью 25 элементов. Заполнить его произвольными числами из промежутка [–30; 25], используя генератор случайных чисел. Найти количество положительных элементов в массиве. Вывести исходный массив и результат.


 

Занятие №17.Поиск максимального и минимального элементов массива

Для получения максимального числа введем переменную M и ей присвоим значение первого элемента массива a1, а затем необходимо сравнить M с текущим элементом массива ai и если текущий элемент будет больше M, то значение M заменить на значение этого элемента. Блок-схема алгоритма на рисунке. Очень важно обратить внимание учащихся на начальное значение переменной M. Почему, например нельзя переменной M присвоить значение равное нулю? (Ответ: Для массива с отрицательными значениями элементов максимум не будет найден)

 

 

 

 

 

 

 

 

 

 

 

 

 


M:= A[i]

 
Ромб: A[i] > M                                                                                     

                                                                                     +

Блок-схема: данные: Вывод M                                                             +                                                      –

 

 

 

 

 

 

 

 

 

 

 

Блок-схема: знак завершения: Конец 

 

 


Программа нахождения максимального элемента массива

program Maximum;

const n=5;

var A:array [1..n] of integer;

    i,M : integer;

begin

   for i:=1 to n do read( A[i] );

   M:= A[1];

   for i:=2 to n do if A[i] > M then M:= A[i];

   write('Max=',M);

end.

Список задач к занятию

1)      Написать программу нахождения минимального элемента массива

2)      Целочисленный массив размера N задать с помощью генератора случайных чисел элементами из промежутка [-8;14]. Преобразовать его, прибавив к четным элементам максимальный элемент, а к нечётным – минимальный. Максимальный и минимальный элементы не изменять.

3)      Поменять местами минимальный и максимальный элементы массива размера 10, заданного с клавиатуры


Занятие №18. Массивы: алгоритмы сортировки.

Сортировка выбором (возрастание)

program Sort_vyibor;

uses crt;

const n=5;

var A:array [1..n] of real;

    i,j: integer;

    M:real;

begin

   clrscr;

   randomize;

   for i:=1 to n do begin A[i]:=5*random; write(A[i]:6:3,' '); end;

   writeln;

   for i := 1 to n - 1 do

     for j := i + 1 to n do

         if a[i] > a[j] then

           begin

             m:= a[i];

             a[i] := a[j];

             a[j] :=m; 

           end;

   for i:=1 to n do write(A[i]:6:3,' ');

readkey;

end.

Сортировка методом пузырька (возрастание)

program Sort_Puzyir;

uses crt;

const n=5;

var A:array [1..n] of real;

    i,j: integer;

    M:real;

begin

   clrscr;

   randomize;

   for i:=1 to n do begin A[i]:=5*random; write(A[i]:6:3,' '); end;

   writeln;

   for i:=n-1 downto 1 do

       for j:=1 to i do

        if A[j]>A[j+1] then begin

            M:= A[j];

            A[j]:= A[j+1];

            A[j+1]:=M;

        end;

   for i:=1 to n do write(A[i]:6:3,' ');

readkey;

end.

Список задач к занятию

  1. Написать любой алгоритм сортировки для случая убывания.
  2. Найти сумму номеров чётных элементов массива.
  3.  Дан целочисленный массив, заданный с клавиатуры. Заменить все его положительные элементы на сумму максимального и минимального элемента.
  4. Найти номер последнего отрицательного элемента массива

Занятие №19-20. Работа с двумерными массивами

Двумерные массивы можно представить в виде пря­моугольной таблицы. Например:

a11

a12

a13

a21

a22

a23

Положение каждого элемента определяется двумя числами: номером строки, в которой находится элемент, и номером столбца. Например, а12 − это элемент, сто­ящий в первой строке и во втором столбце.

Описание двумерного массива

Var <имя массива>: Array[1..n,1..m] Of <тип элементов>;

Здесь n – кол-во строк, m – кол-во столбцов

Ввод и вывод двумерных массивов

Двумерный массив можно задать с клавиатуры или генератором случайных чисел. Обращение к элементу: A[i,j], где i – номер строки, j – номер столбца.

program vvod_vyivod;

uses wincrt;

const n=3;  {кол-во строк}

      m=4;  {кол-во столбцов}

var A:array [1..n,1..m] of integer;

    i,j: integer;

begin

   for i:=1 to n do  {ввод массива}

     for j:=1 to m do

       begin

         write ('A[' ,i, ',' ,j, ']=');

         read( A[i,j]);

       end;

   clrscr;

   for i:=1 to n do {вывод массива}

     begin

         for j:=1 to m do write (A[i,j]:6);

         writeln;

     end;

end.

 

Пример №1. Найти сумму элементов двумерного массива, заданного с клавиатуры.

sum:=0;

   for i:=1 to n do  {сумма элементов}

     for j:=1 to m do sum:=sum+A[i,j];

Список задач к занятию

  1. Найти сумму отрицательных элементов двумерного массива, заданного ГСЧ из промежутка

 [-20;40]

  1. Дан двумерный массив, заданный с клавиатуры. Найти его максимальный элемент и номер строчки и столбца, где он находится.
  2. Найти количество отрицательных элементов в каждой строке двумерного массива
  3. Дан одномерный массив А, состоящий из чётного числа эле­ментов. Поменять местами его половины.
  4. Найти сумму элементов главной диагонали квадратного массива.
  5. Дан целочисленный квадратный массив. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали.

 

 


 

Занятие №21. Контрольная работа по теме «Массивы»

Контрольная работа по теме «Массивы». Карточка №1

1.      Дан одномерный массив из 30 целых чисел, заданный с помощью ГСЧ числами из промежутка [1;200]. Найти сумму  тех элементов массива, которые больше 50.

2.      Дан квадратный целый массив, заданный с  клавиатуры. Найти среднее арифметическое элементов главной диагонали.

Контрольная работа по теме «Массивы». Карточка №2

1.      Дан одномерный массив из 10 целых чисел, заданный с клавиатуры. Найти сумму квадратов элементов  массива, кратных трём.

2.      Дан квадратный целый массив, заданный с помощью ГСЧ числами из промежутка [5;10]. Найти сумму элементов массива, стоящих выше главной  диагонали.

Контрольная работа по теме «Массивы». Карточка №3

1.      Дан одномерный массив из 20 дробных чисел, заданный с помощью ГСЧ числами из промежутка [0,5;5,5]. Найти  сумму элементов, больших 2 и стоящих на четных местах.

2.      Дан квадратный целый массив, заданный с  клавиатуры. Найти количество нечетных элементов, расположенных ниже главной диагонали.

Контрольная работа по теме «Массивы». Карточка №4

1.      Дан одномерный массив из 20 целых чисел, заданный с клавиатуры. Найти  сумму элементов  массива, кратных 6 и стоящих на нечётных местах.

2.      Дан квадратный целый массив, заданный с помощью ГСЧ числами из промежутка [9;27]. Получить новый массив, разделив все элементы последней строки на сумму элементов главной диагонали.

Контрольная работа по теме «Массивы». Карточка №5

1.      Дан одномерный массив из 50 целых чисел, заданный с помощью ГСЧ числами из промежутка [10;100]. Найти  сумму элементов  массива, кратных 3 и стоящих на чётных местах.

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

Контрольная работа по теме «Массивы». Карточка №6

1.      Дан одномерный массив из 30 целых чисел, заданный с помощью ГСЧ числами из промежутка [5;18]. Найти номер минимального элемента в массиве.

2.      Дан квадратный целый массив, заданный с  клавиатуры. Найти количество четных элементов, расположенных выше главной диагонали.

Контрольная работа по теме «Массивы». Карточка №7

1.      Дан одномерный массив из 10 чисел, заданный с клавиатуры. Преобразовать массив, уменьшив каждый элемент в 2 раза и вывести его на экран в обратном порядке.

2.      Дан квадратный целый массив, заданный с помощью ГСЧ числами из промежутка [11;28]. Найти произведение тех элементов побочной диагонали, которые кратны 3.

Контрольная работа по теме «Массивы». Карточка №8

1.      Дан одномерный массив из 25 целых чисел, заданный с помощью ГСЧ числами из промежутка [7;98]. Найти сумму квадратов элементов массива, кратных 3 и не кратных 2.

2.      Дан квадратный целый массив, заданный с клавиатуры. Найти сумму элементов массива, стоящих на главной  диагонали и кратных 5.

 

 

Контрольная работа по теме «Массивы». Карточка №9

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

2.      Дан квадратный целый массив, заданный с помощью ГСЧ числами из промежутка [3;11]. Найти сумму чётных элементов массива, стоящих ниже главной  диагонали.

Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №1

1.      Что такое индекс в одномерном массиве?

a. Порядковый номер элемента массива

b.Наибольший номер элемента массива

c. Размерность массива

d.Имя массива

2.      Какое описание массива верно?

a. STAT: array [1..X] of  5.0..6.2;

b.STAT: array [10..1] of boolean;

c. STAT: array [1..5] of real;

d.STAT: array [10..8,3..3] of integer;

3.      Какой индекс имеет элемент массива EL[i,j]=H?

i=______  j=______

4.      Какое значение имеет элемент массива EL [2,3]?

5.      Найдите верное обозначение элемента массива.

a. A [1.2]

b.N [2..3]

c. M [2,4]

d.S (1,3)

6.      Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=5;

A[4]:=6;

A[3]:=A[4];

A[4]:=A[3];

a. A[3]=6 A[4]=6

b.A[3]=5 A[4]=6

c. A[3]=6 A[4]=5

d.A[3]=5 A[4]=5

7.      Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=2;

A[4]:=3;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

a. A[3]=0 A[4]=5

b.A[3]=5 A[4]=0

c. A[3]=3 A[4]=2

d.A[3]=5 A[4]=5

8.      Опишите алгоритм нахождения максимального элемента.

Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №2

1.   Можно ли в массиве изменять значение элементов массива?

a. Нельзя

b.Можно

c. Только в целочисленных массивах

d.Только в вещественных массивах

2.   Какое описание массива верно?

                                                                                                      а)      STAT: array [1..X] of  5.0..6.2;

                                                                                                      б)      STAT: array [1..5] of real;

                                                                                                     в)      STAT: array [10..8] of integer;

                                                                                                      г)      STAT: array [10..100] of  boolean, of real;

3.   Какой индекс имеет элемент массива EL[i,j]=V?

 

i=______  j=______

4.   Какое значение имеет элемент массива EL [3,2]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      A [1.2]

                                                                                                      б)      N [2,333]

                                                                                                     в)      M [2,4..6]

                                                                                                      г)      S (1..3)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=6;

A[4]:=5;

A[3]:=A[4];

A[4]:=A[3];

                                                                                                      а)      A[3]=6 A[4]=6

                                                                                                      б)      A[3]=5 A[4]=6

                                                                                                     в)      A[3]=6 A[4]=5

                                                                                                      г)      A[3]=5 A[4]=5

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=3;

A[4]:=2;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=3 A[4]=3

                                                                                                      б)      A[3]=2 A[4]=3

                                                                                                     в)      A[3]=3 A[4]=2

                                                                                                      г)      A[3]=2 A[4]=2

8.   Напишите определение массива и операции, возможные над массивами.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №3

1.   Укажите возможное значение индекса элемента массива, описанного как R[1..55]?

                                                                                                      а)      100

                                                                                                      б)      56

                                                                                                     в)      -55

                                                                                                      г)      44

2.   Какое описание массива верно?

                                                                                                      а)      STAT: array [1..X] of  5.0..6.2;

                                                                                                      б)      STAT: array [10..1] of boolean;

                                                                                                     в)      STAT: array [1..8] of real and integer;

                                                                                                      г)      STAT: array [1..14,1..3] of  boolean;

3.   Какой индекс имеет элемент массива EL[i,j]=Q?

 

i=______  j=______

4.   Какое значение имеет элемент массива EL [4,3]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      A [1.2]

                                                                                                      б)      N (2,3)

                                                                                                     в)      M [2,4..6]

                                                                                                      г)      S [1,3]

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=1;

A[4]:=7;

A[3]:=A[4];

A[4]:=A[3];

                                                                                                      а)      A[3]=1 A[4]=1

                                                                                                      б)      A[3]=1 A[4]=7

                                                                                                     в)      A[3]=7 A[4]=1

                                                                                                      г)      A[3]=7 A[4]=7

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=0;

A[4]:= -2;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=-2 A[4]=0

                                                                                                      б)      A[3]=0 A[4]=-2

                                                                                                     в)      A[3]=0 A[4]=0

                                                                                                      г)      A[3]=-2 A[4]=-2

8.   Напишите определение массива и  опишите способы заполнения массивов.

 

 

 

 

 

Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №4

1.   Сколько строк содержит массив P[1..10,1..4]?

                                                                                                      а)      10

                                                                                                      б)      4

                                                                                                     в)      14

                                                                                                      г)      40

2.   Какое описание массива верно?

                                                                                                      а)      STAT: array [1..5..10] of  integer;

                                                                                                      б)      STAT: array [10..100] of  real;

                                                                                                     в)      STAT: array [8..1] of byte;

                                                                                                      г)      STAT: array [1..14,1..3] of  Boolean or integer;

3.   Какой индекс имеет элемент массива EL[i,j]=S?

 

i=______  j=______

4.   Какое значение имеет элемент массива EL [3,1]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      A [7..2]

                                                                                                      б)      N [2,4]

                                                                                                     в)      M [2,4..6]

                                                                                                      г)      S (1,3)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= -1;

A[4]:=0;

A[3]:=A[4];

A[4]:=A[3];

                                                                                                      а)      A[3]=-1 A[4]=-1

                                                                                                      б)      A[3]=0 A[4]=-1

                                                                                                     в)      A[3]=0 A[4]=0

                                                                                                      г)      A[3]=-1 A[4]=0

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=3;

A[4]:= 5;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=5 A[4]=3

                                                                                                      б)      A[3]=3 A[4]=5

                                                                                                     в)      A[3]=5 A[4]=5

                                                                                                      г)      A[3]=3 A[4]=3

8.   Опишите алгоритм нахождения минимального элемента.

 


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №5

1.   Сколько столбцов содержит массив P[1..5,1..3]?

                                                                                                      а)      15

                                                                                                      б)      3

                                                                                                     в)      5

                                                                                                      г)      8

2.   Какое описание массива верно?

                                                                                                      а)      STAT: array [1;10] of  integer;

                                                                                                      б)      STAT: array [10..100] of  real,byte;

                                                                                                     в)      STAT: array [1..-1] of byte;

                                                                                                      г)      STAT: array [1..8,1..3] of  integer;

3.   Какой индекс имеет элемент массива EL[i,j]=D?

 

i=______  j=______

4.   Какое значение имеет элемент массива EL [3,4]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      M [5..2..4]

                                                                                                      б)      N [2,4]

                                                                                                     в)      M [2,4;6]

                                                                                                      г)      S (1,3)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 7;

A[4]:=8;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]=8 A[4]=8

                                                                                                      б)      A[3]=7 A[4]=7

                                                                                                     в)      A[3]=7 A[4]=8

                                                                                                      г)      A[3]=8 A[4]=7

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=-3;

A[4]:= 4;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=4 A[4]=4

                                                                                                      б)      A[3]=-3 A[4]=4

                                                                                                     в)      A[3]=4 A[4]=-3

                                                                                                      г)      A[3]=-3 A[4]=-3

8.   Опишите алгоритм нахождения максимального элемента.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №6

1.   Сколько элементов содержит массив P[1..5,1..3]?

                                                                                                      а)      15

                                                                                                      б)      3

                                                                                                     в)      5

                                                                                                      г)      8

2.   Какое описание массива верно?

                                                                                                      а)      Mas: array [1..10] of  byte;

                                                                                                      б)      Mas: array [10..100] of  real or integer;

                                                                                                     в)      Mas: array [1..-1] of integer;

                                                                                                      г)      Mas: array [1..8,3..1] of  integer;

3.   Какой индекс имеет элемент массива EL[i,j]=Z?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [1,5]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      A (5,32)

                                                                                                      б)      X [1..4]

                                                                                                     в)      P[1;3]

                                                                                                      г)      Q [1,3]

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 4;

A[4]:=6;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]=6 A[4]=6

                                                                                                      б)      A[3]=6 A[4]=4

                                                                                                     в)      A[3]=4 A[4]=6

                                                                                                      г)      A[3]=4 A[4]=4

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= –1;

A[4]:= 7;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=7 A[4]=7

                                                                                                      б)      A[3]= –1 A[4]= –7

                                                                                                     в)      A[3]=7 A[4]=1

                                                                                                      г)      A[3]=7 A[4]= –1

8.   Напишите определение массива и операции, возможные над массивами.

 

 

 

 

Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №7

1.   Сколько столбцов содержит массив X[1..7,1..25]?

                                                                                                      а)      1

                                                                                                      б)      32

                                                                                                     в)      7

                                                                                                      г)      25

2.   Какое описание массива верно?

                                                                                                      а)      STAT: array [1..5] of real;

                                                                                                      б)      STAT: array [10..8,3..3] of integer;

                                                                                                     в)      STAT: array [1..X] of  5.0..6.2;

                                                                                                      г)      STAT: array [10..1] of boolean;

3.   Какой индекс имеет элемент массива EL[i,j]=G?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [5,1]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      Mas1 [5..2..4]

                                                                                                      б)      Мама [2,4]

                                                                                                     в)      M [2,4]

                                                                                                      г)      Mas (1,3)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 9;

A[4]:=8;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]=9 A[4]=9

                                                                                                      б)      A[3]=8 A[4]=9

                                                                                                     в)      A[3]=9 A[4]=8

                                                                                                      г)      A[3]=8 A[4]=8

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=3;

A[4]:= –7;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]= –7 A[4]=3

                                                                                                      б)      A[3]= 3 A[4]=–7

                                                                                                     в)      A[3]= –7 A[4]= –3

                                                                                                      г)      A[3]= –7 A[4]= –7

8.   Напишите определение массива и  опишите способы заполнения массивов.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №8

1.   Сколько строк содержит массив M[1..8,1..9]?

                                                                                                      а)      9

                                                                                                      б)      8

                                                                                                     в)      17

                                                                                                      г)      1

2.   Какое описание массива верно?

                                                                                                      а)      X_1: array [10..100] of  boolean, of real;

                                                                                                      б)      X_2: array [1..X] of  5.0..6.2;

                                                                                                     в)      X_3: array [1..5] of real;

                                                                                                      г)      X_4: array [10..8] of integer;

3.   Какой индекс имеет элемент массива EL[i,j]=W?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [4,4]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      A [2..6]

                                                                                                      б)      b [2;6]

                                                                                                     в)      c [2,6]

                                                                                                      г)      D (2,6)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= –2;

A[4]:=3;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]= –2 A[4]= –3

                                                                                                      б)      A[3]=3 A[4]=3

                                                                                                     в)      A[3]= –2 A[4]= –2

                                                                                                      г)      A[3]= 3 A[4]=3

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=1;

A[4]:= 4;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=4 A[4]=4

                                                                                                      б)      A[3]=1 A[4]=1

                                                                                                     в)      A[3]= –4 A[4]=1

                                                                                                      г)      A[3]=4 A[4]=1

8.   Опишите алгоритм нахождения минимального элемента.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №9

1.   Сколько элементов содержит массив P[1..5,1..7]?

                                                                                                      а)      12

                                                                                                      б)      5

                                                                                                     в)      35

                                                                                                      г)      7

2.   Какое описание массива верно?

                                                                                                      а)      Mas: array [1..10] of  byte;

                                                                                                      б)      Mas: array [10..100] of  real or integer;

                                                                                                     в)      Mas: array [1..-1] of integer;

                                                                                                      г)      Mas: array [1..8,3..1] of  integer;

3.   Какой индекс имеет элемент массива EL[i,j]=Y?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [5,4]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      X_1 [4,7]

                                                                                                      б)      Y_2[2..7]

                                                                                                     в)      Z [2,4;7]

                                                                                                      г)      W (4,7)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= -2;

A[4]:=9;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]=9 A[4]=9

                                                                                                      б)      A[3]= –2 A[4]= –2

                                                                                                     в)      A[3]= –2 A[4]= –9

                                                                                                      г)      A[3]=9 A[4]= –2

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=0;

A[4]:=7;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=7 A[4]=0

                                                                                                      б)      A[3]= –7 A[4]=0

                                                                                                     в)      A[3]=7 A[4]=7

                                                                                                      г)      A[3]=0 A[4]=0

8.   Опишите алгоритм нахождения максимального элемента.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №10

1.   Укажите возможное значение индекса элемента массива, описанного как Massiv[5..99]?

                                                                                                      а)      100

                                                                                                      б)      4

                                                                                                     в)      -10

                                                                                                      г)      84

2.   Какое описание массива верно?

                                                                                                      а)      M: array [1..14,1..3] of  boolean;

                                                                                                      б)      B: array [10..1] of boolean;

                                                                                                     в)      S: array [1..8] of real and integer;

                                                                                                      г)      V: array [1..X] of  5.0..6.2;

3.   Какой индекс имеет элемент массива EL[i,j]=P?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [2,5]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      N [3..2]

                                                                                                      б)      P [2;4]

                                                                                                     в)      R [1,6)

                                                                                                      г)      F [3,15]

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 9;

A[4]:= –2;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]=9 A[4]= –2

                                                                                                      б)      A[3]= –2 A[4]=9

                                                                                                     в)      A[3]= –2 A[4]= –2

                                                                                                      г)      A[3]=9 A[4]=9

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 3;

A[4]:= 4;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=4 A[4]=4

                                                                                                      б)      A[3]=3 A[4]=4

                                                                                                     в)      A[3]=4 A[4]= 3

                                                                                                      г)      A[3]=3 A[4]=3

8.   Напишите определение массива и операции, возможные над массивами.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №11

1.   Укажите возможное значение индекса элемента массива, описанного как X[8..102]?

                                                                                                      а)      100

                                                                                                      б)      2

                                                                                                     в)      0

                                                                                                      г)      103

2.   Какое описание массива верно?

                                                                                                      а)      T: array [10..100] of  real;

                                                                                                      б)      A: array [1..5..10] of  integer;

                                                                                                     в)      K: array [1..14,1..3] of  Boolean or integer;

                                                                                                      г)      S: array [8..1] of byte;

3.   Какой индекс имеет элемент массива EL[i,j]=J?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [5,2]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      M [5..2]

                                                                                                      б)      O [6,3]

                                                                                                     в)      Mas (2;4]

                                                                                                      г)      S (1,3)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 11;

A[4]:=2;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]=2 A[4]=2

                                                                                                      б)      A[3]=11 A[4]=2

                                                                                                     в)      A[3]=11 A[4]=11

                                                                                                      г)      A[3]=2 A[4]=11

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=10;

A[4]:= 20;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=20 A[4]=20

                                                                                                      б)      A[3]=20 A[4]=10

                                                                                                     в)      A[3]=10 A[4]=20

                                                                                                      г)      A[3]=10 A[4]=10

8.   Напишите определение массива и  опишите способы заполнения массивов.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №12

1.   Сколько строк содержит массив В[1..7,1..5]?

                                                                                                      а)      35

                                                                                                      б)      7

                                                                                                     в)      5

                                                                                                      г)      12

2.   Какое описание массива верно?

                                                                                                      а)      X_1: array [1..-1] of byte;

                                                                                                      б)      W_2: array [10..100] of  real,byte;

                                                                                                     в)      W: array [1;10] of  integer;

                                                                                                      г)      P: array [1..8,1..3] of  integer;

3.   Какой индекс имеет элемент массива EL[i,j]=K?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [3,5]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      Pas_1  [12..4]

                                                                                                      б)      Pas_2  (12,4]

                                                                                                     в)      Pas_3  (12,4)

                                                                                                      г)      Pas_4 [12,4]

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 3;

A[4]:=15;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]=15 A[4]=15

                                                                                                      б)      A[3]=3 A[4]=15

                                                                                                     в)      A[3]=15 A[4]=3

                                                                                                      г)      A[3]=3 A[4]=3

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= –1;

A[4]:= 10;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=10 A[4]= –1

                                                                                                      б)      A[3]=10 A[4]=10

                                                                                                     в)      A[3]= –1 A[4]= –1

                                                                                                      г)      A[3]= –10 A[4]=1

8.   Опишите алгоритм нахождения минимального элемента.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №13

1.   Сколько элементов содержит массив A[1..5,1..3]?

                                                                                                      а)      5

                                                                                                      б)      8

                                                                                                     в)      15

                                                                                                      г)      3

2.   Какое описание массива верно?

                                                                                                      а)      MAX: array [1..8,1..3] of  integer;

                                                                                                      б)      MAX: array [10..100] of  real,byte;

                                                                                                     в)      MAX: array [1;10] of  integer;

                                                                                                      г)      MAX: array [1..-1] of byte;

3.   Какой индекс имеет элемент массива EL[i,j]=N?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [5,3]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      K [4,5]

                                                                                                      б)      L (5,4)

                                                                                                     в)      M [2..6..4]

                                                                                                      г)      N [4;3]

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=10;

A[4]:=15;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]=10 A[4]=10

                                                                                                      б)      A[3]= –10 A[4]= –15

                                                                                                     в)      A[3]=15 A[4]=15

                                                                                                      г)      A[3]=15 A[4]=10

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=13;

A[4]:= 4;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=4 A[4]=4

                                                                                                      б)      A[3]=4 A[4]=13

                                                                                                     в)      A[3]=13 A[4]=13

                                                                                                      г)      A[3]= –4 A[4]= –13

8.   Опишите алгоритм нахождения максимального элемента.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №14

1.   Сколько столбцов содержит массив O[1..15,1..10]?

                                                                                                      а)      25

                                                                                                      б)      150

                                                                                                     в)      10

                                                                                                      г)      15

2.   Какое описание массива верно?

                                                                                                      а)      E: array [1..-1] of integer;;

                                                                                                      б)      R: array [1..10] of  byte;

                                                                                                     в)      F: array [1..8,3..1] of  integer;

                                                                                                      г)      D: array [10..100] of  real or integer

3.   Какой индекс имеет элемент массива EL[i,j]=L?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [1,1]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      Mas_1 [4..9]

                                                                                                      б)      Mas_2  [9,4]

                                                                                                     в)      Mas_3  [2,4;9]

                                                                                                      г)      Mas_4  (4,9)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 15;

A[4]:=48;

A[4]:=A[3];

A[3]:=A[4];

                                                                                                      а)      A[3]=48 A[4]=15

                                                                                                      б)      A[3]=15 A[4]=48

                                                                                                     в)      A[3]=48 A[4]=48

                                                                                                      г)      A[3]=15 A[4]=15

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= –10;

A[4]:= 8;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=8 A[4]= –10

                                                                                                      б)      A[3]= –8 A[4]=10

                                                                                                     в)      A[3]=8 A[4]=8

                                                                                                      г)      A[3]= –10 A[4]= –10

8.   Напишите определение массива и операции, возможные над массивами.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №15

1.   Сколько элементов содержит массив M[1..11,1..9]?

                                                                                                      а)      20

                                                                                                      б)      99

                                                                                                     в)      11

                                                                                                      г)      9

2.   Какое описание массива верно?

                                                                                                      а)      L: array [10..1] of boolean;

                                                                                                      б)      F: array [1..X] of  5.0..6.2;

                                                                                                     в)      A: array [10..8,3..3] of integer;

                                                                                                      г)      D: array [1..5] of real;

3.   Какой индекс имеет элемент массива EL[i,j]=E?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [4,5]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      XoXo [7..5..1]

                                                                                                      б)      XaXa [7;1]

                                                                                                     в)      XeXe [7,1]

                                                                                                      г)      XiXi (7,1)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 16;

A[4]:= –19;

A[3]:=A[4];

A[4]:=A[3];

                                                                                                      а)      A[3]=16 A[4]=16

                                                                                                      б)      A[3]= –19 A[4]= –19

                                                                                                     в)      A[3]= –19 A[4]=16

                                                                                                      г)      A[3]=19 A[4]= –16

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:=23;

A[4]:= 4;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=4 A[4]=4

                                                                                                      б)      A[3]=4 A[4]=23

                                                                                                     в)      A[3]=23 A[4]=4

                                                                                                      г)      A[3]= –23 A[4]= –4

8.   Напишите определение массива и  опишите способы заполнения массивов.


Контрольная работа по теме «Одномерные и двумерные массивы»

Вариант №16

1.   Можно ли изменять значения элементов массива?

                                                                                                      а)      нет

                                                                                                      б)      только у целочисленных массивов

                                                                                                     в)      только у одномерных массивов

                                                                                                      г)      да

2.   Какое описание массива верно?

                                                                                                      а)      P: array [1..14,1..3] of  boolean;

                                                                                                      б)      O: array [1..8] of real and integer;

                                                                                                     в)      R: array [1..X] of  5.0..6.2;

                                                                                                      г)      A: array [10..1] of boolean;

3.   Какой индекс имеет элемент массива EL[i,j]=F?

 

i=______        j=______

4.   Какое значение имеет элемент массива EL [2,1]?

5.   Найдите верное обозначение элемента массива.

                                                                                                      а)      U [1,2]

                                                                                                      б)      UU (1;2]

                                                                                                     в)      V [1,2)

                                                                                                      г)      VV (1,2)

6.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= 7;

A[4]:=15;

A[3]:=A[4];

A[4]:=A[3];

                                                                                                      а)      A[3]=7 A[4]= –15

                                                                                                      б)      A[3]=15 A[4]=7

                                                                                                     в)      A[3]=7 A[4]=7

                                                                                                      г)      A[3]=15 A[4]=15

7.   Какие значения примут элементы массива A[3] и A[4] после выполнения последовательности операторов:

A[3]:= –8;

A[4]:= 19;

B:=A[3];

A[3]:=A[4];

A[4]:=B;

                                                                                                      а)      A[3]=19 A[4]= –8

                                                                                                      б)      A[3]=19 A[4]=8

                                                                                                     в)      A[3]= –8 A[4]= –19

                                                                                                      г)      A[3]= –19 A[4]= –8

8.   Опишите алгоритм нахождения минимального элемента.

 

 


 

Занятие №22.Управление текстовым режимом. Модуль CRT

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

Система координат

                                                                                                           x

 

 

 

                                                                    y

Таблица цветов

Константа

Число

Цвет

Процедуры

Black

0

Черный

TextColor, TextBackGround

Blue

1

Синий

TextColor, TextBackGround

Green

2

Зеленый

TextColor, TextBackGround

Cyan

3

Голубой

TextColor, TextBackGround

Red

4

Красный

TextColor, TextBackGround

Magenta

5

Фиолетовый

TextColor, TextBackGround

Brown

6

Коричневый

TextColor, TextBackGround

LightGray

7

Ярко-серый

TextColor, TextBackGround

DarkGray

8

Темно-серый

TextColor

LightBlue

9

Ярко-синий

TextColor

LightGreen

10

Ярко-зеленый

TextColor

LightCyan

11

Ярко-голубой

TextColor

LightRed

12

Ярко-красный

TextColor

LightMagenta

13

Ярко-фиолетовый

TextColor

Yellow

14

Желтый

TextColor

White

15

Белый

TextColor

Blink

128

Мерцание

TextColor (как слагаемое)

Процедуры управления текстовым режимом

Uses CRT – подключение модуля управления текстовым режимом.

ClrScr – производит очистку экрана.

TextMode – устанавливает текстовый режим.

TextColor(Color) – устанавливает цвет символов.

TextBackGround(Color) – устанавливает цвет фона (только 8 неярких цветов).

ReadKey – обеспечивает задержку изображения и выход из программы при нажатии любой клавиши

KeyPressed –  ждет нажатие клавиши.

Sound(A) – включение звукового сигнала частотой A Гц.

Delay(A) – установка (задержка) звучания на время A мс.

NoSound – отключение звукового сигнала.

GotoXY(x,y) – перемещает курсор в позицию, заданную координатами x, y.

InsLine – Вставка пустой строки.       

DelLine – Удаление строки в позиции  курсора.                    

ClrEol – Стирание символов от позиции курсора до конца строки.

Window(x1,y1, x2,y2)  - отображает на экране текстовое окно.

 

 

 

 

 

 

 

 

 


Список задач к занятию

  1. Установите цвет фона – синий.
  2. Выведите свою Фамилию, начиная с позиции (20,15) фиолетовым цветом.
  3. Выведите своё Имя, начиная с позиции (25,16) ярко-зелёным цветом.
  4. Выведите своё Отчество, начиная с позиции (30,17) ярко-голубым цветом.
  5. Сохраните файл под именем FIO_1.pas
  6. Если вы сидите вдвоём, то файла должно быть два: FIO_1.pas и FIO_2.pas
  7. Создайте новый файл. В нём создайте следующий текст, в котором каждая строчка окрашена в разные цвета и цвета фона:

********************************************

Listen to your heart when he's calling for you

Listen to your heart there's nothing eles you can do

I don't know where you're going and i don't know why,

But listen to your heart before

You tell him good-bye.

********************************************

  1. Сохраните файл под именем Listen.pas
  2. Откройте новый файл. Выведите в центр экрана таблицу цветов, в которой каждая строка окрашена в тот цвет, который она обозначает. Строку, обозначающую мерцание, сделайте мерцающей ярко-фиолетовым цветом. Должны получить следующее:

Таблица цветов

Black – 0

Blue – 1

Blink – 128+x

  1. Сохраните файл под именем Color.pas
  2. Создайте новый файл. Создайте программу, которая в случайно выбранной с помощью ГСЧ позиции на экране выводит случайно заданным цветом фона и случайно заданным цветом текста фразу «Крепитесь люди, скоро лето!!!»
  3. Сохраните файл под именем Leto.pas
  4. Создайте новый файл. Необходимо выводить на экран символ ‘*’ случайно заданным цветом до тех пор, пока не нажата какая-нибудь клавиша. Это достигается путем цикла while not keypressed do
  5. Сохраните файл под именем Zvezd.pas

 


 

Занятие №23-24. Работа в графическом режиме. Модуль  GraphABC

Uses GraphABC - подключение модуля графики.

Некоторые команды библиотеки GraphABC

Команда

Описание

Line(x1,y1,x2,y2)

Рисует отрезок из точки с координатами (x1,y1) в точку с координатами (x2,y2)

LineTo(x, y)

Рисует отрезок из текущей точки в точку с координатами (x, y) (соответствует команде сместиться_в с опущенным пером для исполнителя Чертежник)

Rectangle(x1,y1,x2,y2)

Рисует контур прямоугольника со сторонами параллельными сторонам экрана. Точки с координатами (x1, y1) и (x2, y2) определяют диагональные вершины прямоугольника.

FillRect(x1,y1,x2,y2);

Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.

Circle(x,y, radius);

Рисует окружность с центром в точке с координатами (x,y) и радиусом radius.

Ellipse(x1,y1,x2,y2);

Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).

TextOut (x, y, text)

Выводит Text на экран. Начало текста в точке с координатами (x, y)

SetPixel(x,y,color)

Закрашивает цветом color точку с координатами (x, y)

SetPenColor(color)

Задает цвет рисования линий. Параметр color – число в промежутке от 0 до 2563-1.

SetPenWidth(n)

Задает толщину рисования линий. Параметр n – число в промежутке от 1 до 50

SetPenStyle(ps)

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

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

Значение

Описание

psSolid

Сплошная линия

psDash

Штриховая линия

psDot

Пунктирная линия

psDashDot

Штрихпунктирная линия

psDashDotDot

Линия - штрих и два пунктира

psClear

Отсутствие линии

Arc(x,y,r,a1,a2)

Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).

FloodFill(x,y,color);

Заливает область одного цвета цветом color, начиная с точки (x,y).

SetBrushColor(color)

Устанавливает цвет кисти, задаваемый параметром color

SetBrushStyle(bs);

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

Стили кисти задаются следующими именованными константами:

Константа

Константа

bsSolid

bsClear

bsCross

dsDiagCross

bsHorizontal

bsVertical

bsBDiagonal

bsFDiagonal

SetFontColor(color);

Устанавливает цвет шрифта

SetFontSize(sz);

Устанавливает  размер шрифта в пунктах.

ClearWindow;

Очищает графическое окно белым цветом

ClearWindow(c);

Очищает графическое окно цветом (c).

SetWindowSize(w,h)

Устанавливает ширину и высоту графического окна.

Список задач к занятию

1.      Нарисовать картинку

Это дом моей мечты!!!

 

 

 

           

 

 

 

 

 

 

 

 

 

 

 

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

3.      Нарисовать разными цветами и типами линий все цифры почтового индекса

4.      Нарисовать  своё имя, используя разные фигуры, заливки и типы линий.

5.      Нарисовать елку с шарами


 

Занятие №25-26. Подпрограммы (процедуры и функции)

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

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

Подпрограммы-процедуры (Процедура пользователя)

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

Procedure имя_ процедуры [(список_формальных_параметров)];

Описательная часть

Begin

<тело процедуры>;

End;

имя_процедуры - идентификатор;

список_формальных_параметров     -     список     параметров,     которые передаются процедуре в виде: идентификатор 1[,идентификатор2, ...]:тип1; ...

Формальные параметры описываются в заголовке процедуры и определяют тип и место подстановки фак­тических параметров, формальные параметры делятся на два вида: параметры−переменные и параметры−значения.

Фактические параметры это параметры, кото­рые передаются процедуре при ее вызове.

Количество и типы формальных и фактичес­ких параметров должны в точности совпадать.

При вызове процедуры ее формальные параметры заменяются соответствующими фактическими.

Подпрограммы-функции (Функция пользователя)

Подпрограмма-функция предназначена для вычисления какого-либо параметра.

Function Имя[(Список формальныхпараметров)]: Тип результата;

Описательная часть

Begin

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

Имя функции:=значение

End;

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

Пример №1. Составить процедуру, которая меняет местами значения двух переменных

Uses CRT;

Procedure Swap (Var х, у:Integer);

Var z: Integer;

Begin

z:=x; x:=y; y:=z;

End;

Var a, b: Integer;

Begin

clrscr;

Write('Введите значения переменных а и b: ');

Readln(а, b);

Swap(a, b);   {обращение к процедуре}

Writeln('а= ', а, ' b= ',b); {вывод новых значений}

Readkey;

End.

 

Пример №2. Написать функцию для вычисления факториала чис­ла n (n!= 1•2•...•n).

Uses CRT;

Function factorial (n:Integer):Longint; {заголовок функции}

Var i: Integer; {описательная часть}

rez: Longint;

Begin         {тело функции}

rez:=1;

For i:=1 To n Do rez:=rez*i;

factorial:=rez;   {присваивание значения имени функции}

End;{конец функции}

Var n: Integer;

      f:longint;

Begin

clrscr;

Write('Введите значение n: ');

Readln(n);

f:=factorial(n);   {обращение к процедуре}

Writeln('n!= ',f); {вывод значения факториала}

Readkey;

End.

Список задач к занятию

1.      Написать процедуру, которая выполняет следующие действия: запрашивает целое число. Запрос для ввода выводится зеленым цве­том, вводимое число закрашивается желтым. Если это число четное и кратное 5, то это число выводится в центре экрана красным цветом на белом фоне. В ос­тальных случаях число выводится внизу экрана белым цветом на синем фоне.

2.      Написать процедуру подсчета и вывода суммы цифр введенного натурального числа. Подсчитать сумму цифр для двух чисел, введенных с клавиатуры. Результаты выводить в виде: Сумма цифр числа X равна S.

 

 

 


 

Занятие №27.Символьный тип данных

Ø  Данные символьного типа описываются с помощью идентификатора Char.

Ø  Значением переменной символьного типа может быть любой символ − каждому символу алфавита соответствует индивидуальный числовой код от 0 до 255.

Ø  ASCIмеждународная система кодирования символов. Символы с кодами от 0 до 127 составляют так называемую основную таблицу кодов ASCII. Эта часть идентична на всех IBM-совместимых компьютерах. Символы с кодами от 128 до 255 составляют так называемую национальную кодовую таблицу. Именно в ней располагаются, например, русские буквы.

Ø  Значения значений

-        ch:='*';

-        а:='3';

-        letter:='G';

-        kd:=#65 (символ 'А');

-        s:=#13 (код клавиши Enter).

Ø  К символьным данным применимы операции сравнения по ASCII-кодам

 

Пример №1. Вывести на экран последовательность всех малых букв латинского алфавита: abcd…xyz

uses crt;

var c:char;

begin

clrscr;

for c:='a' to 'z' do write(c);

readkey;

end.

Переменные символьного типа удобны для организации простейшего диалога с пользователем во время выполнения программы.

 

Пример №2. Организация диалога

Repeat

Writeln('Хотите продолжить работу (у/n)?');

Readln(ch);

Until Upcase (ch)='N';

 

Основные процедуры и функции для работы с символьным типом

  1. Upcase(ch) – преобразует букву ch в прописную (эта функция работает только с буквами английского алфавита, все другие символы не изменяются).
  2. ReadKey –  ввод одного символа с клавиатуры. Формат применения:

имя переменной:=ReadKey.

  1. Ord(C)ASCII–код символа С
  2. Chr(K) – возвращает символ по его коду
  3. Pred(C) – определение предыдущего символа
  4. Succ(C) – определение следующего символа.

Список задач к занятию

  1. Напишите программу, сообщающую для введенного с клавиатуры символа его код.
  2. Вывести на экран последовательность всех малых букв латинского алфавита в обратном порядке, цвет символов – малиновый: zyxdcba
  3. Написать программу вывода последовательности символов ААВАВС...АВ...YZ зеленого цвета.
  4. Напишите программу, которая общается с нами в форме диалога: вы вводите букву, она выводит предыдущую и следующую, а затем спрашивает о продолжении.

 


 

Занятие №28. Строковой тип данных

Тип-строка string - последовательность символов произвольной длины (до 255 символов). У типа-строки в квадратных скобках может быть указан его размер (от 1 до 255). Если размер не указан, то считается равным 255.

var

s:string[80]; m: string;

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

Фактически строка N символов представляет собой массив из N+1 символа: string[N]=array[0..N] of Char.

Нулевой символ предназначен для указания используемого количества символов строки и может изменяться от символа с кодом 0 до символа с кодом N. С ним можно работать как и с остальными символами строки, но не забывая о его основном предназначении.

Стандартные процедуры и функции для работы со строками

CONCAT(S1, S2, ... , SN) - функция типа STRING; возвращает строку, представляющую собой сцепление строк-параметров S1,S2,..,SN.

COPY(STIС) - функция типа STRING;  копирует из  строки  ST   С символов, начиная с символа с номером I.

DELETE(ST, I, С) - процедура удаляет С символов из строки ST, начиная с символа с номером I.

INSERT(SB, STI) - процедура вставляет подстроку SB  в строку ST, начиная с символа с номером I.

LENGTH(ST) - функция типа INTEGER; возвращает длину строки ST.

POS(SB, ST) - функция типа INTEGER; отыскивает в строке ST первое вхождение  подстроки  SB  и  возвращает  номер  позиции,  с  которой она начинается; если подстрока не найдена, возвращается ноль.

STR(X, ST)    -    процедура    преобразует   число    X    любого вещественного или целого типов в строку символов ST.

VAL (ST,X,CODE) - процедура преобразует строку символов ST в величину целого или вещественного типа и помещает результаты  в X.  Параметр CODE содержит ноль, если преобразование прошло успешно, в противном случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ, и в этом случае содержимое X не меняется;

val('5' ,х,i) - х получит значение 5, в i будет помещен 0;

val('498,05' ,х,i) - х не изменится, в i будет помещено 4.

Практическая работа у доски

Задание №1: Определить длину строки "Урок информатики".

Задание №2: Получить из слова "математика" слово "тематика".

Задание №3: Получить из слов "Язык", "Turbo", "Pascal" фразу "Язык Turbo Pascal".

Задание №4: Какова позиция буквы "о" в слове "Слон".

Задание №5: Получить из слова "Позитроника" слово "трон".

Задание №6: Получить из слов "Интер", "нет" слово "Интернет".

Задание №7: Преобразовать число 105 в строку, а "67" в число 67.

Задание №8: Преобразовать "a" в "A".

Пример №1. Дана строка. Заменить в ней все буквы ‘o’ на буквы ‘a’  и вывести новую строку.

uses crt;

var s:string;

    i:integer;

begin

clrscr;

write('Vvedite stroku: '); readln(s);

 

for i:=1 to length(s) do

  if (s[i]='o') or (s[i]='O') then s[i]:='a';

 

write ('Novaya stroka: ',s);

readkey; end.

Список задач к занятию

1)      Даны две строки, выяснить совпадают ли их длины.

2)      Дан текст. Заменить в нем все буквы ‘e’ на ‘x’,    ‘f’ на ‘m’,    ‘z’ на ‘a’.

3)      Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке.

4)      Дана строка. Вывести ASCII-коды ее первого и последнего символа.

5)      Напишите программу, которая в режиме диалога запрашивает две строки, выводит длину каждой из них, склеивает их в одну строку и выводит данную строку и её длину.

6)      Напишите подпрограмму-процедуру, которая запрашивает две строки и определяет, какая из них является подстрокой другой строки. Если ни одна не является подстрокой другой строки, то вывести сообщение: ‘Не является’


 

Занятие №29. Строковой тип данных

Самостоятельная работа

1.      Чем отличаются строковая и символьные величины?

2.      Если переменная А описана как строковая возможно ли использование в алгоритме и программе команды А:=’c’?

3.      Каково значение выражения: length (‘С днем рождения!’) (16)

4.      Что будет выведено в результате выполнения:

A:='ЭЛЕКТРОСТАНЦИЯ';

writeln (copy(A,2,3)+copy(A,12,3)); (лекция)

5.      Преобразуйте слово Информация в слово Униформа, используя функции для строковых величин.

s1:='информация'; delete(s1,1,1); delete(s1,7,3); insert('у',s1,1); insert('и',s1,3);

 

Список задач к занятию

1.      С клавиатуры введено слово. Определить, является ли оно палиндромом? (шалаш)

2.      В символьной строке удвоить каждый символ. Например, из строки “два” должна получиться строка “ддвваа”.

3.      Даны две строки: S1 и S2. Определить количество вхождений строки S2 в строку S1.

Решение задачи №1.

uses crt;

var s1:string;

i,n:integer;

flag:boolean;

begin

   clrscr;

   readln(s1);

    flag:=true;

    n:=length(s1) div 2;

    for i:=1 to n do

        if s1[i]<>s1[length(s1)-i+1] then flag:=false;

   if flag then write('Yes') else write('No');

   readkey;

 end.

Решение задачи №2.

uses crt;

var s1,s2:string;

i,n:integer;

flag:boolean;

begin

clrscr;

readln(s1);

i:=1;

while i<=length(s1) do

begin

insert(s1[i],s1,i);

i:=i+2;

end;

writeln(s1); readkey; end.

Решение задачи №3.

 

kol:=0;

while pos(s2,s1)<>0 do begin inc(kol);  delete(s1,pos(s2,s1),length(s2));  end;


Занятие №30. Перечисляемый и ограниченный тип данных

Ограниченный тип данных

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

Var a: 1..25; ch: 'a'..'z';

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

Переменная ограниченного типа сохраняет все свойства переменных базового типа.

Для чего применяется ограниченный тип данных? Использование ограниченного типа делает программу более наглядной и понятной. Например, если в программе переменная b может принимать только значения 3,4, 5, 6, 7, 8, то лучше описать ее следующим образом:

Var b:3..8; а не просто Vаг b:Integer;

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

Пример №1. Напишите программу, в результате выполнения которой переменной t присваивается значение true, если первая дата предшествует (в рамках одного года) второй дате, и значение false в противном случае.

Решение

Так как в условии задачи оговаривается, что обе даты должны находиться в рамках одного года, то дату достаточно задать указанием дня и месяца. Количество дней любого месяца года не может быть более 31, количество месяцев в году равно 12. Значение переменной t равно true, если номер первого месяца меньше второго, либо значение первого дня меньше второго при условии, что номера месяцев совпали.

Var  d1, d2: 1..31;

    m1, m2: 1..12;

    t: Boolean;

Uses crt;

Begin

clrscr;

Write('Введите первую дату (день, месяц)');

Readln(d1, m1);

Write('Введите вторую дату (день, месяц)');

Readln(d2, m2);

t:=(m1<m2) or ((m1=m2) and (d1<d2));

Writeln(t);

readkey;

End.

Перечисляемый тип данных

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

Например,

Var month:(january, february, march, april, may,june, july, august, september, october, november,  december);

Порядок элементов перечисляемого типа определяется порядком их следования в описании. Левый имеет минимальное значение (значение функции Ord для него равно 0), а правый − максимальное.

К переменным перечисляемого типа можно:

1.      Применять оператор присваивания: month:= january;

2.      Применять операции сравнения. Так, например, february<november.

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

Пример №2.

Var     Age: 0..150; {Целое число в интервале от 0 до 150}

Lat: A'.. 'Z'; {Заглавные буквы латинского алфавита}

Month: (January, February, March, April, May, June, July, August, September, October, November, December);

Spring: March..May; {Весенние месяцы}

Пример №3. Определить следующую дату, если заданы текущая дата. Текущая дата включает число, номер месяца и год. При выводе дата отображается в виде числа, названия месяца и года.

Type

   mounth = (jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,decem);

   day = 1..31;

   year = 1900..3000;

Var

   d : day;

   m : mounth;

   g : year;

   num : 1..12;

Begin

   Write('==>');

   Readln(d, num, g); { ввод даты - число, номер месяца, год }

   Case num of

       1 : m:= jan;

       2 : m:= feb;

       3 : m:= mar;

       4 : m:= apr;

       5 : m:= may;

       6 : m:= jun;

       7 : m:= jul;

       8 : m:= aug;

       9 : m:= sep;

       10 : m:= oct;

       11 : m:= nov;

       12: m:= decem;

   End;

   Case m of       { контроль на корректность количества дней в месяце}

   jan, mar, may, jul, aug, oct : If d = 31 then

                                  begin

                                       d := 1; m := succ(m)

                                  end

                                  else d := d + 1;

   apr, jun, sep, nov    : If d = 30 then

                              begin

                                  d := 1; m := succ(m)

                              end

                              else d := d + 1;

   decem                     : If d = 31 then

                              begin

                                  d := 1; m := jan; g := g + 1

                              end

                              else d := d + 1;

   feb                    : If (( d = 28) and ((g mod 4 <> 0) or (g mod 100 = 0))

                              and (g mod 400 <> 0)) or (d=29) then

                              begin

 

                            d := 1; m := succ(m);

                         end

                         else d := d + 1

    end; { case }

    Write('Следующая дата: ', d : 2); { вывод результата }

    Case m of { выбор названия месяца по номеру месяца}

       jan: write(' января ');

       feb: write(' февраля ');

       mar: write(' марта ');

       apr: write(' апреля ');

       may: write(' мая ');

       jun: write(' июня ');

       jul: write(' июля ');

       aug: write(' августа ');

       sep: write(' сентября ');

       oct: write(' октября ');

       nov: write(' ноября ');

       decem: write(' декабря ')

    end; { case }

    Writeln(g : 5,' года ');

readkey; End.

 

В современном календаре каждый год, номер которого делится на 4, является високосным,

за исключением тех номеров, которые делятся на 100 и не делятся на 400.

 


 

Занятие №31-32. Работа с типом Запись

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

type

имя_типа=rесоrd

имя_поля:тип;

……………………

end;

type

data=record

уear: Integer;

Month:1..12;

Day:1..31

end;

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

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

Доступ к полям записи осуществляется указанием имени переменной (константы) и имени поля.

Пример №1.

Var

Date: Data;

……………………

Date.year:=2006;

Date.Month:=5;

Date.Day:=25;

……………………

Для того чтобы не выписывать каждый раз имя записи при обращении к её полям, можно использовать оператор над записями with:

with имя_записи do оператор;

В этом случае внутри оператора можно указывать только поле записи.

Пример №2. Известно, что астрологи делят год на 12 периодов и каждый из них ставит в соответствии один из знаков зодиака:

    20.1-18.2-Водолей              19.2-20.3-Рыбы                     21.3-19.4-Овен

    20.4-20.5-Телец                   21.5-21.6-Близнецы              22.6-22.7-Рак

    23.7-22.8-Лев                       23.8-22.9-Дева                       23.9-22.10-Весы

    23.10-22.11-Скорпион        23.11-21.12-Стрелец             22.9-19.1-Козерог

Дата дана в виде dd. mm. Определить какой знак зодиака соответствует этой дате.


type

  data=record

   month:1..12;

   day:1..31

end;

 

var date:data;

begin

 write('Введите номер месяца рождения: '); readln(date.month);

 write('Введите число рождения: '); readln(date.day);

 case date.month of

   1:if date.day<=19 then writeln('Козерог') else writeln('Водолей');

   2:if date.day<=18 then writeln('Водолей') else writeln('Рыбы');

   3:if date.day<=20 then writeln('Рыбы') else writeln('Овен');

   4:if date.day<=19 then writeln('Овен') else writeln('Телец');

   5:if date.day<=20 then writeln('Телец') else writeln('Близнецы');

   6:if date.day<=21 then writeln('Близнецы') else writeln('Рак');

   7:if date.day<=22 then writeln('Рак') else writeln('Лев');

   8:if date.day<=22 then writeln('Лев') else writeln('Дева');

   9:if date.day<=22 then writeln('Дева') else writeln('Весы');

   10:if date.day<=22 then writeln('Весы') else writeln('Скорпион');

   11:if date.day<=22 then writeln('Скорпион') else writeln('Стрелец');

   12:if date.day<=21 then writeln('Стрелец') else writeln('Козерог')

   else writeln('Неверный ввод');

 end;

end.

Список задач к занятию

Создать массив записей по заданию. Количество записей вводится с клавиатуры. Максимальное количество записей: 30. Программа должна:

1.      Ввести данные

2.      Вывести их красиво, разными цветами.

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

Варианты данных:

1.      Гос. номер автомобиля, марка, дата выпуска, ФИО владельца. Ключевые поля: гос. номер, ФИО владельца.

2.      ФИО призывника, год рождения, месяц рождения, количество детей. Ключевые поля: ФИО призывника, год рождения.

3.      ФИО абонента, номер телефона, адрес, задолженность (руб.). Ключевые поля: номер телефона, задолженность.

4.      Порядковый номер, имя программы, признак (учебная или системная), размер (КБайт). Ключевые поля: имя программы, признак.

5.      Порядковый номер, ФИО, специальность, стаж, дата приема на работу. Ключевые поля: ФИО, стаж.

6.      Порядковый номер, ФИО, год рождения, диагноз, дата поступления. Ключевые поля: ФИО, диагноз.

7.      ФИО, марка автомобиля, гос. номер, цвет. Ключевые поля: ФИО, гос. номер.

8.      Название игры, размер, дата, автор. Ключевые поля: Название, автор.


 

Список задач к экзамену

Задачи на условный оператор IF

1.      Даны три вещественных числа х, у, z. Вычислить значения выраже­ний x+y+z и x*y*z и вывести максимальное из них.

2.      Даны три вещественных числа х, у, z. Найти максимальное из них.

3.      Дано вещественное число x.  Вычислить y(x), если

4.      Даны вещественные числа х и у. Если х и у отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0,5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку   [0,5; 2], то оба значения уменьшить в 10 раз; в осталь­ных случаях х и у оставить без изменения.

Задачи на оператор выбора CASE

1.      Дан номер месяца (1 – январь, 2  – февраль, ...). Вывести название соответствующего времени года ("зима", "весна" и т.д.).

2.      Дан номер месяца (1 – январь, 2  – февраль, ...). Вывести число дней в этом месяце для невисокосного года.

Задачи на цикл FOR

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

2.      Написать программу, которая вычисляет сумму первых n целых положительных чисел.

3.      Написать программу, которая вычисляет сумму первых n членов ряда 1+1/2+1/3+1/4+…

4.      Написать программу, которая вычисляет  факториал числа

5.      С клавиатуры вводятся 10 чисел. Найти наибольшее (наименьшее) из них.

6.      С клавиатуры вводятся натуральное число. Вывести на экран число звездочек, равное количеству  делителей этого числа

7.      Найти произведение всех двузначных чисел не превосходящих 20

Задачи на цикл While

1.      Составить таблицу значений функции  на промежутке с шагом 0,2 и тремя знаками после запятой.

2.      Составить таблицу значений функции  на промежутке [0..5] и с шагом 0,2.

3.      Вычислите НОД двух чисел, заданных с клавиатуры, с помощью алгоритма Евклида.

Задачи на цикл Repeat . . Until

1.      Найти наименьшее четырехзначное число, делящееся на 3, 2, 7.

2.      Найти наименьшее натуральное число, куб которого больше 2000.

3.      При каком наименьшем N  17n2+6n-3n3<0 (ответ 7).

Задачи на String

1.      Составить программу определяющую, какая из двух фамилий длиннее. Фамилии имеют разную длину.

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

3.      Дано название города. Определить, четно или нечетно количество символов в нем.

4.      Дано слово. Получить и вывести на экран буквосочетание, состоящее из его третьего и последнего символа.

5.      Составить программу которая запрашивает название футбольной команды и повторяет его на экране со словами: "Это чемпион!".

6.      Дано слово, состоящее из четного числа букв. Вывести на экран его первую половину.

7.      Составить программу, которая печатает заданное слово в обратном порядке.

8.      Дано предложение. Определить число пробелов в нем.

9.      Дано предложение. Определить порядковый номер первой встреченной буквы 'к'. Если такой буквы нет, сообщить об этом.

10.  Дано слово из четного числа букв. Поменять местами его половины.

11.  Дано предложение. Заменить в нем все вхождения буквосочетания "ах" на "ух".

12.  Дано слово. Проверить, является ли оно "перевертышем", т.е. читается одинаково как с начала, так и с конца.

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

Задачи на массивы

Одномерные массивы:

1.      Введите с клавиатуры 10 целочисленных элементов массива Х. Найдите сумму элементов массива, делящихся на 3.

2.      Найти сумму элементов вещественного массива А, состоящего из n элементов.

3.      Дан целочисленный массив В[1..14], заданный с помощью генератора случайных чисел числами из промежутка [12; 29]. Заменить все его элементы их квадратами.

4.      Дан целочисленный массив M[1..18]. Отсортировать его методом пузырька

Двумерные массивы:

1.      Дана квадратная матрица порядка N. Вычислить среднее арифметическое положительных элементов матрицы, стоящих выше главной диагонали.

2.      Дана квадратная матрица порядка N. Вывести строку матрицы, в которой элемент, стоящий на главной диагонали, максимален.

3.      Дана квадратная матрица порядка N. Найти произведение элементов побочной диагонали квадратной матрицы.

4.      Дана квадратная матрица порядка N. Найти максимальный и минимальный элементы матрицы и поменять их местами.

5.      Дана квадратная матрица порядка N. Найти количество четных элементов квадратной матрицы, расположенных ниже побочной диагонали.

Процедуры и функции пользователя.

Вычислить , где    и a, b вводятся с клавиатуры.

Задачи на модуль CRT

1.      Даны два целых положительных числа (вводятся с клавиатуры). Максимальное из этих чисел выводится в левом верхнем углу красным цветом, минимальное – в правом нижнем углу желтым цветом. Цвет фона - зеленый.

2.      В первой строке экрана поочередно вводятся 6 целых чисел. После ввода каждо­го числа в нижней части экрана выводится столбик из символов «*». Количество символов в столбике равно введенному числу. Столбики закрашиваются разны­ми цветами. Под каждым столбиком вводится число символов в нем. После ввода последнего числа первая строка экрана очищается от текста.

3.      Используя процедуру GotoXY вывести по углам экрана символ «*» разных цве­тов.

Задачи на модуль Graph

На усмотрение преподавателя


 

Список вопросов к экзамену

1.            Алгоритм. Формы записи алгоритмов. Блок-схема. Основные алгоритмические структуры.

2.            Трансляторы (компиляторы и интерпретаторы)

3.            Алфавит языка. Структура программы.

4.            Идентификаторы: метка, константы, переменные. Выражения.

5.            Операторы языка: простые операторы. Оператор присваивания. Простые типы данных.

6.            Операторы ввода/вывода: read, readln, write, writeln.

7.            Стандартные функции. Арифметические выражения.

8.            Структурированные операторы. Составной оператор. Условный оператор IF.

9.            Структурированные операторы. Условный оператор CASE.

10.        Структурированные операторы. Оператор цикла FOR.

11.        Структурированные операторы. Оператор цикла REPEAT.

12.        Структурированные операторы. Оператор цикла WHILE.

13.        Модуль CRT. Процедуры и функции управления текстовым режимом.

14.        Модуль GraphABC. Основные процедуры и функции управления графическим режимом.

15.        Структурированные типы данных. Строка типа String.

16.        Структурированные типы данных. Массивы. Одномерные массивы

17.        Структурированные типы данных. Массивы. Двумерные массивы.

18.        Структурированные типы данных. Массивы. Нахождение максимального элемента.

19.        Структурированные типы данных. Массивы. Сортировка массива

20.        Тип Запись


 

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

1.      Григорьев С.А.Программирование на языке Паскаль для математиков : Учебное пособие / Калинингр. ун-т. - Калининград, 1997. - 92 с.

2.      Златопольский Д.М. Сборник задач по программированию. – СПб.: БХВ-Петербург , 2007 г. – 240 с.

3.      Зуев Е.А. Turbo Pascal. Практическое программирование. - Приор,1997. - 336с.

4.      Немнюгин С. «Изучаем Turbo Pascal». Электронный учебник

5.      Рубанцев В. Занимательные уроки с Паскалем, или PascalABC.NET для начинающих

6.      Фаронов В.В. Turbo Pascal. – СПб.: БХВ-Петербург ,2004. – 1056 с.

 

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

Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Получите профессию

Секретарь-администратор

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 672 268 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

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

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 06.09.2015 1107
    • ZIP 334.9 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Горожанина Зиля Афсатаровна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Горожанина Зиля Афсатаровна
    Горожанина Зиля Афсатаровна
    • На сайте: 8 лет и 10 месяцев
    • Подписчики: 0
    • Всего просмотров: 14208
    • Всего материалов: 17

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Экскурсовод

Экскурсовод (гид)

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Информационные технологии в профессиональной деятельности: теория и методика преподавания в образовательной организации

Преподаватель информационных технологий

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 192 человека из 56 регионов
  • Этот курс уже прошли 977 человек

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в образовательной организации

Учитель информатики

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 495 человек из 73 регионов
  • Этот курс уже прошли 1 533 человека

Курс профессиональной переподготовки

Управление сервисами информационных технологий

Менеджер по управлению сервисами ИТ

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Сейчас обучается 26 человек из 19 регионов
  • Этот курс уже прошли 34 человека

Мини-курс

Управление техническими ресурсами и экономикой предприятия

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Особенности психологической коррекции детей с различными нарушениями психического развития

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 377 человек из 69 регионов
  • Этот курс уже прошли 304 человека

Мини-курс

Инновационные технологии в краеведческой и географической работе со школьниками: применение туристических приемов для эффективного обучения

6 ч.

780 руб. 390 руб.
Подать заявку О курсе