 
        
        - •230701 Прикладная информатика (по отраслям)
- •Содержание
- •Требования к минимуму содержания основной профессиональной образовательной программы по специальности 080802 Прикладная информатика (по отраслям)
- •Рабочая программа
- •Пояснительная записка
- •Тематический план учебной дисциплины
- •Содержание учебной дисциплины
- •Тема 1.4. Составление алгоритмов с помощью блок-схем
- •Тема 1.5. Методы и правила надежного программирования. Способы конструирования программ
- •Раздел IV. Процедуры и функции.
- •Тема 4.1. Подпрограммы
- •Тема 4.2. Параметры и аргументы, связь формальных и фактических параметров
- •Раздел V. Программирование рекурсивных алгоритмов
- •Тема 5.1. Рекурсивные процедуры и функции
- •Тема 5.2. Примеры рекурсивного программирования
- •Раздел VIII. Ввод и вывод информации: текстовые файлы
- •Тема 8.1. Файлы и их виды
- •Тема 8.2. Оперирование текстовыми файлами.
- •Раздел IX. Структурированный тип записи
- •Тема 9.1. Записи и их описание
- •Тема 9.2. Использование таблиц с разнотипными полями. Записи.
- •Раздел X. Модульное программирование
- •Тема 10.1. Методы работы с модулями. Стандартные модули языка Pascal.
- •Тема 10.2. Создание модульных программ
- •Критерии оценок
- •Литература
- •Теоретический курс Основные понятия языка Состав языка
- •Алфавит и лексемы
- •Константы
- •Имена, ключевые слова и знаки операций
- •Типы данных
- •Классификация типов
- •Стандартные типы данных Логические типы
- •Целые типы
- •Вещественные типы
- •Символьный тип
- •Порядковые типы
- •Приведение типов
- •Линейные программы
- •Переменные
- •Выражения
- •Структура программы
- •Оператор присваивания
- •Процедуры ввода-вывода
- •Ввод с клавиатуры
- •Вывод на экран
- •Операторы ветвления
- •Условный оператор if
- •Оператор варианта case
- •Операторы цикла
- •Цикл с предусловием while
- •Цикл с постусловием repeat
- •Цикл с параметром for
- •Рекомендации по использованию циклов
- •Процедуры передачи управления
- •Оператор перехода goto
- •Перечисляемый тип данных
- •Интервальный тип данных
- •Массивы
- •Двумерные массивы
- •Операции
- •Процедуры и функции для работы со строками
- •Множества
- •Операции над множествами
- •Текстовые файлы
- •Бестиповые файлы
- •Компонентные файлы
- •Прямой доступ
- •Совместимость типов
- •Совместимость по присваиванию
- •Подпрограммы
- •Процедуры
- •Функции
- •Глобальные и локальные переменные
- •Виды параметров подпрограмм
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Открытые массивы и строки
- •Параметры процедурного типа
- •Рекурсивные подпрограммы
- •Описание модулей
- •Использование модулей
- •Стандартные модули Паскаля
- •Модуль System
- •Модуль Crt
- •Модули Dos и WinDos
- •Модуль Graph
- •Модуль Strings
- •Задания для самостоятельной работы студентов
- •1. Знакомство с интегрированной средой программирования pascal
- •1. Общие положения
- •Начало работы
- •Интерфейс ide
- •Комбинации клавиш
- •2. Подготовка текста программы
- •5. Компиляция
- •5.1. Ошибки времени компиляции
- •6. Пробный запуск программы на выполнение
- •6.1. Ошибки времени выполнения программы
- •7. Запуск программы на исполнение
- •8. Завершение работы
- •9. Практическое задание
- •2. Организация работы программ линейной структуры
- •1. Управление режимами вывода данных на экран дисплея
- •1.1. Управление положением курсора на экране монитора
- •1.2. Стандартный модуль crt. Подключение модулей с помощью Uses. Процедура очистки экрана дисплея ClrScr. Функция ReadKey
- •1.3. Процедуры работы с цветом (TextColor,TextBackground)
- •2. Практическое задание – решение задач линейной структуры
- •3. Решение задач с условием
- •3. Составной оператор
- •Практическое задание – решение задач с условием
- •4. Решение задач на множественный выбор
- •5. Организация циклов с помощью оператора for
- •1.Особенности циклов
- •2. Оператор цикла с параметром (со счетчиком) for ... Do
- •3. Вложенные циклы
- •2.1. Структура вложенных циклов
- •6. Организация циклов с помощью оператора while
- •7. Организация циклов с помощью оператора repeat
- •8. Организация программ с использованием процедур
- •1. Общие положения
- •2. Описание процедуры, оператор процедуры
- •2.1. Формальные и фактические параметры
- •2.2. Параметры-значения и параметры-переменные
- •2.3. Область действия имен
- •2.4. Процедуры без параметров
- •3. Массив в процедуре
- •9. Организация программ с использованием функций
- •10. Организация программ с использованием рекурсий
- •1. Особенности рекурсии
- •11. Решение задач на обработку элементов одномерного массива
- •1. Стандартные операции с массивами
- •12. Решение задач на обработку элементов двумерного массива
- •1. Многомерные массивы
- •2. Ввод-вывод двумерного и многомерного массива
- •3. Стандартные (типовые) задачи на двумерных массивах
- •4. Практическое задание - решение задач с использованием массивов
- •13. Решение задач по обработке символьных данных
- •1. Таблица кодирования символов
- •Б азовая таблица кодировки ascii
- •2. Запись символов, специальные и управляющие символы
- •3. Операции отношения
- •4. Встроенные функции
- •14. Решение задач по обработке строковых данных
- •1. Внутреннее представление строки
- •2. Операции над строками
- •3. Строковые встроенные функции
- •4. Примеры использования процедур и функций
- •5. Практическое задание
- •Методические указания
- •15. Решение задач по обработке множественного типа
- •1. Описание множественного типа
- •2. Присваивание значений переменным множественного типа
- •3. Операции над множествами
- •3.6. Нахождение элемента во множестве
- •3.7. Приоритеты операций при работе с множествами
- •4. Практическое задание
- •16. Решение задач по обработке структурированного типа - запись
- •1. Описание записи
- •2. Обращение к элементу записи
- •3. Оператор присоединения
- •4. Практическое задание
- •Образцы контрольных работ
- •Контрольно-измерительные материалы
3. Оператор присоединения
Составными именами пользоваться неудобно. Они ведут к громоздким выражениям. Для их упрощения служит оператор присоединения With, который дает возможность записывать в программе только имена полей. Общий вид команды With такой:
With <имя записи> Do
Begin
Операторы, содержащие имена полей
End;
Задача 2
Используя тип массив записей, составить программу для учета и обработки данных о наличии на складе автомашин. Вывести на экран информацию о моделях и годах выпуска машин, цена которых меньше, чем 3000 долларов.
Пусть запись содержит такие поля: модель (marka), год выпуска (year) и цена машины (price).
Program Lab16_2;
Uses Crt;
Type avto = Record
marka : String [15];
year price : Integer
End;
Var al: Array [1.. n] Of avto;
i : Integer;
Begin
ClrScr;
For i: = 1 to n Do
With al [ I ] Do Begin
WriteLn ('Введите марку машины:');
ReadLn (marka):
WriteLn ('Введите год выпуска:');
ReadLn (year);
WriteLn(‘Цена:');
ReadLn (price);
End;
WriteLn;
WriteLn ('Фирма предлагает такие машины:');
For i: = 1 То n Do With al [ I ] Do
WriteLn (marka: 15, year: 10, price,'$');
WriteLn;
Write ('Информация о машинах, цена которых меньше 4000 $:');
For i: = 1 То n Do With al [i] Do
If price < 4000 Then WriteLn (marka: 15, year: 10);
ReadLn;
End.
4. Практическое задание
Методические указания
- Определить алгоритм решения задачи, записать намеченный алгоритм в виде блок-схемы программы. 
- Подобрать контрольный пример. 
- После чего приступить к написанию программы в ИСП. 
Задание
Постановка задачи. Придумать и описать структуру записи, составить программу для создания массива из шести-семи записей и обработки соответствующих данных согласно некоторому сюжету. В сюжете задать и описать критерий поиска некоторой информации. Результаты работы программы (все введенные и найденные в результате поиска данные) вывести на экран.
Примерами структур данных могут быть: адреса и телефоны друзей, характеристики компьютеров, автомобилей, аудиотехники, информация о странах (название, количество населения, площадь) и тому подобное.
Пример сюжета: создать и вывести на экран массив записей об автомобиле (название модели, год выпуска, цена, цвет), а также найти в массиве и вывести на экран названия моделей красного цвета, которые выпускались в 2009 году.
Образцы контрольных работ
Контрольная работа № 1. Вариант 1
Ответить на вопросы в письменной форме
- Как записывается и выполняется команда выбора? 
- Какая разница между условиями, записанными после слова while и repeat для одной и той же задачи? 
- Как организовать цикл с уменьшением счетчика? 
- Какого типа выражения допустимы в качестве начального и конечного значений? 
- Как необходимо записать несколько операторов, чтобы они выполнялись в цикле for? 
- Как описывается одномерный массив? 
- Как описывается двумерный массив? 
- Что можем использовать в качестве индекса? 
- Что фактически указывает тип индекса? 
- Какой тип может быть типом индекса? 
- Придумать задания под приведенные блок-схемы. 
 
Контрольная работа № 1. Вариант 2
Ответить на вопросы в письменной форме
- Как выполняется команда ветвления в неполной форме? 
- Какие логические операции используются в команде ветвления? 
- Как оформляется цикл while? 
- Когда завершается выполнение цикла while? 
- Как организовать выполнение нескольких операторов в цикле while? 
- Управляющие переменные какого типа допустимы в операторе for? 
- Как обращаться к элементам массива? 
- Чем однозначно определяется значение элемента массива? 
- Назовите простые типы используемые в массиве? 
- Как называем элемент массива? 
- Придумать задания под приведенные блок-схемы. 
Контрольная работа № 1. Вариант 3
Ответить на вопросы в письменной форме
- Как выполняется команда ветвления в полной форме? 
- Какие правила оформления команды ветвления существуют? 
- Какие алгоритмы называются циклическими? 
- Какой из операторов цикла является самым универсальным? 
- Для управления циклом Repeat какие функции удобно использовать? 
- Когда используется оператор цикла FOR? 
- Какого типа выражения допустимы в качестве начального и конечного значений? 
- Что такое массив? 
- Где должен быть описан, используемый в программе массив? 
- Какого типа должен быть индекс? 
- Придумать задания под приведенные блок-схемы. 
Контрольная работа № 2. Вариант 1
1. Чему будет равно значение переменной х после выполнения фрагмента программы?
x:=0;
for i:=1 to 5 do
x:=x+1;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для вычисления функции при заданном значении х
  x
– 0.5           при  x<0
         x
– 0.5           при  x<0
Z= x при 0 x < 4
sin x + cos x при x 4
Контрольная работа № 2. Вариант 2
1. Чему будет равно значение переменной f после выполнения фрагмента программы?
f:=2; x:=0;
for i:=1 to 5 do
begin
x:=x+1;
f:= f * x;
end;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для вычисления размера подоходного налога (N). Подоходный налог определяется: 1) зарплата (Z) меньше минимальной заработной платы (M) – не облагается; 2) если выше, то берется 13% от суммы, превышающей минимальную.
Контрольная работа № 2. Вариант 3
1. Чему будет равно значение переменной S после выполнения фрагмента программы?
x:=0; S:=0;
while x<= 2 do
begin
S:= S + x;
x:=x+2;
end;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для вывода на экран агрегатного состояния воды (лед, жидкость, пар) в зависимости от введенной температуры.
Контрольная работа № 2. Вариант 4
1. Чему будет равно значение переменной S после выполнения фрагмента программы?
S:=1; x:=0;
while x> 0 do
begin
S:= S * 2;
x:=x-1;
end;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для ввода с клавиатуры числа (в диапазоне от 1 до 999), обозначающего денежную единицу, и вывода результата с дописанным словом «рубль», «доллар» в правильной форме. Например, 12 рублей, 1 рубль, 3 рубля.
Контрольная работа № 2. Вариант 5
1. Чему будет равно значение переменной S после выполнения фрагмента программы?
x:=0; S:=0;
repeat
S:= S + x;
x:=x+2;
until x>2 do
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для определения, является ли треугольник с длинами сторон a, b, c прямоугольным.
Контрольная работа № 2. Вариант 6
1. Определить значение переменной у после выполнения следующих элементов программы:
Var
x,y : integer:
………………………
y:=0;
For x:=1 to 9 do y:=y+1;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для определения - существует ли треугольник с такими сторонами, если заданы три длины отрезков a, b, c.
Контрольная работа № 2. Вариант 7
1. Определить значение переменной у после выполнения следующих элементов программы
Var
x,y:integer:
………………………
y:=0;
For x:=5 downto 10 do y:=y+x;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для выдачи на экран названия времени года в зависимости от введенного номера месяца.
Контрольная работа № 2. Вариант 8
1. Определить значение переменной n после выполнения следующих элементов программы:
Var
x,y:integer:
………………………
y:=0;
x:=10;
while x>0 do
Begin
x:=x+2;
y:=y+x;
end;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для определения какая фигура имеет большую площадь, если заданы радиус круга R и сторона квадрата A.
Контрольная работа № 2. Вариант 9
1. Определить значение переменной x после выполнения следующих элементов программы :
Var
x:real;
y:integer:
………………………
x:=0;
y:=5;
repeat
y:=2*y;
x:=x+y
until y>5;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для вычисления значения функции у. Если х < 1, то у = -1; если х > 1, то у = х; если х = 1, то у = 1.
Контрольная работа № 2. Вариант 10
1. Определить значение переменной y после выполнения следующих элементов программы:
Var
y:real;
x:integer:
………………………
y:=0;
For x:=4 to 6 do y:=y+x;
y:=y/10;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для определения максимального и минимального значения из трех различных чисел.
Контрольная работа № 2. Вариант 11
1. Определить значение переменной у после выполнения следующих элементов программы:
Var
y:real;
k:integer:
………………………
y:=0;
For k:=2 to 6 do y:=y+k;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для ввода произвольного числа А; возведения числа А в квадрат, если число отрицательное; извлечение из А квадратного корня, если число положительное; оставить А без изменения, если А=0. Решение задачи выводить на экран с соответствующими комментариями.
Контрольная работа № 2. Вариант 12
1. Определить значение переменной у после выполнения следующих элементов программы:
Var
y:real;
k:integer:
………………………
y:=1;
For k:= 6 downto 3 do y:=y+k;
2. В зависимости от ввода длины в см. 100; 71. 12; 30. 0; 4. 45 и 2. 54 выводить на экран соответственно слова: метр, аршин, фут, вершок и дюйм. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal.
Контрольная работа № 2. Вариант 13
1. Определить значение переменной у после выполнения следующих элементов программы:
Var
y:real;
k:integer:
………………………
y:=1;
For k:=6 to 3 do y:=y+k;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для выполнения арифметических действий (+, -, /, *) над вводимыми аргументами (калькулятор).
Контрольная работа № 2. Вариант 14
1. Определить значение переменной у после выполнения следующих элементов программы:
Var
y:real;
k:integer:
………………………
y:=1;
For k:=1 to 3 do y:=y+k;
y:=y*10;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для определения по А-градусной мере угла, является ли он острым, тупым, прямым углом.
Контрольная работа № 2. Вариант 15
1. Определить значение переменной s после выполнения следующих элементов программы:
Var
s:real;
i:integer:
………………………
s:=0;
For i:=1 to 4 do
Begin
s:=s*10;
s:=s+i;
end;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для определения, являются ли значения целочисленных переменных M и N кратными. Если оба кратны 3, то вычислить их сумму, иначе вычислить их произведение.
Контрольная работа № 2. Вариант 16
1. Определить значение переменной s после выполнения следующих элементов программы:
Var
s:real;
n:integer:
………………………
s:=0;
For n:=6
downto 3 do
Begin
s:=s+1;
s:=s*2;
end;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для ввода двух целых чисел, замены первого нулем, если оно меньше или равно второму. Решение задачи выводить на экран с соответствующими комментариями.
Контрольная работа № 2. Вариант 17
1. Определить значение переменной s после выполнения следующих элементов программы:
Var
s:real;
i:integer:
………………………
s:=0;
i:=5;
while i> 2 do i:=i-1;
s:=s+i*i;
2. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для определения, можно ли составить треугольник из введенных длин 3-х отрезков. Если да, то проверить, является ли он равносторонним или равнобедренным. Решение задачи выводить на экран с соответствующими комментариями.
Контрольная работа № 2. Вариант 18
1. Определить значение переменной s после выполнения следующих элементов программы:
Var
s:real;
i:integer:
………………………
s:=0;
i:=2;
repeat
i:=2*i;
s:=s+i
until i>5;
2. Каждое из чисел а и b отлично от 0. Если они одинаковых знаков, то заменить меньшее из них большим; если же числа имеют разные знаки, присвоить каждому из них знак числа, меньшего по абсолютной величине. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal.
Контрольная работа № 2. Вариант 19
1. Определить значение переменной s после выполнения следующих элементов программы:
Var
s:real;
i:integer:
………………………
s:=0;
i:=1;
while i>1 do
Begin
s:=s+1/i;
i:=i-1;
end;
2. Даны треугольники со сторонами: a, b, c и k,l,f. Проверить, равны ли эти треугольники. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal.
Контрольная работа № 2. Вариант 20
1. Определить значение переменной s после выполнения следующих элементов программы:
Var
s:real;
i:integer:
………………………
s:=0;
i:=5;
repeat
i:=2*i;
s:=s+i
until i>5;
2. Самолет летит из пункта А в пункт В со средней скоростью V. Составить алгоритм решения задачи в форме блок-схемы, псевдокода, текста программы на Object Pascal для нахождения времени полета t1, если есть встречный ветер, скорость которого V1, и времени t2, если ветра нет. Расстояние между пунктами равно S.
Контрольная работа № 3.
Задание 1. Разработать программу, которая определяет площадь четырехугольника по заданным длинам сторон и диагонали. Площадь четырехугольника считать как площадь двух треугольников, определенных по формуле Герона. Вычисление площади треугольника оформить как пользовательскую процедуру. Исходные данные – длины сторон треугольника.
Задание 2. Разработать программу, которая определяет площадь четырехугольника по заданным длинам сторон и диагонали. Площадь четырехугольника считать как площадь двух треугольников, определенных по формуле Герона. Вычисление площади треугольника оформить как пользовательскую функцию. Исходные данные – длины сторон треугольника.
Задание 3. Разработать подпрограмму-функцию суммирования элементов массива размерности n, n 10.
Задание 4. Разработать программу, которая формирует строку, содержащую буквы латинского алфавита. Для решения задачи использовать процедуру, которая добавляет к строке символ, номер которого на единицу превышает номер последнего символа.
Задание 5. Известны даты рождения двух человек (год, номер месяца и число) и текущая дата. Определить, кто из них моложе.
