
- •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
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. Известны даты рождения двух человек (год, номер месяца и число) и текущая дата. Определить, кто из них моложе.