Разработка элективного курса для учащихся "Основы программирования на Паскаль.АВС"
компьютерная программа (7 класс)
Элективный вводный курс для учащихся 7 класса
Скачать:
Вложение | Размер |
---|---|
Разработка элективного вводного курса | 255 КБ |
Предварительный просмотр:
Разработка курса для учащихся
«Основы программирования
на Паскаль АВС»
Составитель Чамзрын Ш.В.
Кызыл * 2019г
Паскаль – это один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является основой для ряда других языков. Этот язык отличается простотой и стройностью, качествами, которые обеспечивают Паскалю популярность уже на протяжении нескольких лет. Язык программирования Паскаль обосновал и разработал профессор Никлаус Вирт из Швейцарии в 1970 году.
В настоящее время удобной в учебном процессе является система про-граммирования Pascal ABC (Паскаль АВС). Система предназначена для обучения программированию на языке Паскаль и ориентирована на школьников и студентов младших курсов. Кроме того, в пакете имеется Электронный задачник.
Эта система призвана осуществить переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программи-рованию.
Введение. Установка Паскаль АВС
Все авторские права программного комплекса Pascal ABC 3.0 & Programming Taskbook 4.5 Mini Edition (называемого в дальнейшем системой PABC-PT ME) при-надлежат только авторам: С.С. Михалковичу и М.Э. Абрамяну.
Система PABC-PT ME является бесплатной и распространяется свободно при условии, что настоящий дистрибутив не изменен. Ни одно частное лицо или ор-ганизация не может брать плату за распространение системы PABC-PT ME.
Скачать программный комплекс можно в интернете совершенно бесплатно и установить на свой компьютер.
- скачанном пакете для установки запустите файл PABCInstall и в появившемся окне нажмите кнопку "Установка".
После установки автоматически запускается программа регистрации и настройки PABCSetup. В дальнейшем эту программу можно запустить повторно с помощью команды "PABC Setup - Регистрация и настройка" пункта "Pascal ABC" в группе "Программы" главного меню Windows.
ТЕМА 1. Знакомство с системой программирования
Паскаль АВС
Для каждого пользователя рекомендуется создать отдельную папку, например, KURS, а в ней папки для файлов.
Для запуска Паскаль АВС необходимо запустить ярлык Pascal ABC. На экране появится среда программирования Паскаль АВС (оболочка). Среда программирования – это пакет взаимосвязанных файлов, которые позволяют набирать, редактировать, запускать и отлаживать программы.
После запуска ярлыка на рабочем столе открывается окно:
Запустить | Остановить | |||
Создать но- | ||||
программу | программу | |||
вый файл | на выпол- | |||
нение | ||||
Первая строка экрана – меню интегрированной среды, следующая строка – панель инструментов, нижняя строка экрана – строка подсказки и состояния интегрированной среды. Между ними расположено окно редактирования – рабочее поле, в котором можно открывать несколько вкладок для разных программ.
Окно редактирования предназначено для ввода и редактирования текста программы. Место ввода информации обозначено курсором. В верхней левой части окна редактирования выводится служебное имя редактируемого файла, например: Programm1.pas
- Найдите строку Меню (сверху) и строку-подсказку (снизу).
- Поочередно войдите в указанные ниже разделы Меню (активизируйте Меню мышью).
- Найдите следующие команды:
В меню Файл
Новый – создать новый фал
Oткрыть – открыть файл
Сохранить – сохранить файл
Сохранить как… – сохранить под новым именем
Выход – выйти из Паскаля
В меню Правка
Отменить – отменить изменение
Восстановить – вернуть изменение
В меню Программа
Выполнить – выполнить программу
Остановить – остановить программу.
Первые шаги
Наберем простейшую программу, соответствующую условию задачи:
Ввести в компьютер два целых числа, найти их сумму, результат вывести на экран с поясняющим текстом.
(Внимание! Две косые черты (//) отделяют комментарии, их набирать не нужно)
program raschet; | // название программы | |
uses crt; | // подключаемые модули | |
var x, y, s:integer; | // объявление имен переменных и их типа | |
begin | // начало исполнительной части | |
writeln(’Введите два целых числа’); // написать на экране текст | ||
readln(x,y); | // | прочитать данные с клавиатуры и |
// | запомнить их в переменных | |
s:=x+y; | // | выполнить расчет и запомнить его в |
// | переменной | |
writeln(‘Сумма чисел =’,s); | // написать на экране текст и значение | |
// | переменной | |
end. | // конец программы |
- Просмотрите текст файла, обратите внимание на стуктуру программы. Структура простейших программ выглядит следующим образом:
program ...; заголовок программы и ее имя
var ...; блок объявления переменных и их типа
begin начало исполнительной части программы
...; предложения, обеспечивающие
...; выполнение
...; программы
end. конец программы (точка обязательна)
Программа на Паскале составляется из отдельных законченных элементов, называемых предложениями. В Паскале текст программы обычно начинается особым предложением – заголовком следующего вида:
program proba;
где proba – имя текущей программы.
Заголовок необязателен.
- качестве имени программы можно применять комбинацию английских букв и цифр, следует писать в одно слово и нельзя применять служебные слова языка.
Каждое предложение языка должно отделяться от следующего за ним точкой с запятой ( ; ).
Исключение составляют комментарии. Они не отделяются точкой с запятой.
Обычно каждое предложение записывается с новой строки для наглядности
- более легкого понимания текста. Для этих же целей используют отступы и выравнивания.
Комментарии предназначены для пояснения задачи и для временного исключения из текста программы некоторых операторов. В тексте они выделяются фигурными скобками { } или отделяются двумя косыми чертами //. Комментарии игнорируются компьютером при выполнении, однако при выводе текста программы – печатаются.
- Паскале имеется особая группа слов, таких как, например: begin, for, end, program и другие, за которыми закреплены специальные смысловые значения. Такие слова называются служебными (зарезервированными) и должны употребляться в строгом соответствии с заложенным в них смыслом.
Существует и другая группа имен, имеющих стандартно определенный смысл, например, integer, writeln и другие. Их так и называют – стандартные или предопределенные имена.
Под именем программы располагается ее декларативная часть, здесь компьютеру сообщается обо всех именах констант и переменных, определяемых прог-раммистом, и о той роли, которую эти имена должны исполнять в программе.
За декларативной частью следует исполнительная часть программы, обрамляемая словами - ограничителями (логическими скобками): begin и end. Между указанной парой слов и размещаются предложения, выполняющие в программе те или иные действия. Исполнительную часть программы называют телом программы.
5. Запустите набранную программу на выполнение. Если после запуска программы внизу окна появляется красная строчка с сообщением (рисунок см. ниже), то в строке, где находится курсор или в предыдущей (но не всегда, это зависит от ошибки!), внимательно просмотрите всю строчку, найдите и исправьте ошибку. Если сами не справитесь, позовите учителя.
Пример ошибки, обнаруженной Паскаль АВС:
- После исправления всех ошибок и появления в новом окне начала работы программы, введите нужные данные (если в программе подразумевается ввод нескольких переменных, то это следует делать через Enter или пробел!), получите результат работы и проверьте его на правильность. Так как текст программы и ее работа показываются в разных окнах (если подключен модуль
Crt), можно сопоставить программные строки и ее выполнение.
Пример работы программы
- Сохраните набранную программу в своей папке.
- Разберитесь с работой программы и измените ее так, чтобы она вычисляла не сумму, а разность чисел. Проверьте правильность работы измененной программы. Сохраните программу под новым именем в своей папке.
Набор следующей программы.
- Активизируйте пункт Файл и создайте новый файл (Новый).
- Наберите текст программы (см.ниже). При наборе текста программы соблюдайте позиционирование (отступы) строк. Это не влияет на работу программы, но облегчает поиск ошибок.
- В следующей программе подсчитывается доход клиента за 1 год в зависимости от банковского процента и от величины денежного вклада.
- Запустите программу на выполнение. Введите следующие данные:
Введите величину вклада в рублях: 1000 Введите величину банковского процента. 10
- результате должен получиться ответ:
Ваш доход =100 рублей
- Снова запустите программу и введите другие разумные исходные данные. Привыкайте понимать сообщения об ошибках!
- Вернитесь в текст, сотрите знак " ; " в любом месте программы и запустите ее на выполнение. Проанализируйте сообщение об ошибке (красная строчка с сообщением).
- Исправьте ошибку, затем сотрите точку после последнего End в программе. Эта ошибка часто встречается у начинающих. Запустите программу и посмотрите, как реагирует Паскаль на подобную ошибку.
- Сотрите любую букву, например, в слове writeln. Посмотрите, как реагирует Паскаль на подобную ошибку.
- Сотрите в блоке var объявленную переменную и посмотрите, как отреагирует компьютер на запуск программы с такой ошибкой. Запоминайте сообщения компьютера.
- Исправьте ваши ошибки и сохраните программу.
- Напишем программу, соответствующую следующей задаче:
Запросить имя пользователя и его возраст. Определить год рождения (текущий год запросить с клавиатуры), вывести его на экран и попрощаться по имени.
program vozrast;
uses crt;
var voz, gr, tg:integer; {для возраста, года рождения, текущего года: целые числа}
im:string; {для имени: буквы, слова}
begin
clrscr;
write( 'Как тебя зовут? ' );
readln(im);
write('Сколько тебе лет? ');
readln(voz);
write('Какой сейчас год? ');
readln(tg);
gr:=tg-voz;
writeln('Ты родился в ',gr,' году');
writeln('До свидания, ',im);
end.
Запомните:
тип integer для хранения целых чисел
тип real для хранения любых чисел, в том числе дробных тип string для хранения слов и букв
clrscr очистить экран
write написать на экране и оставить курсор в текущей строке writeln написать на экране и перейти на следующую строку
readln прочитать данные с клавиатуры и поместить их в переменную Упражнения
Выполните задания с Begin1° по Begin8°, с Begin31° по Begin34° по электронному задачнику (стр.11). Открыть его можно в режиме Помощь – Электронный задачник РТ. Задачник откроется отдельным файлом в формате pdf.
ТЕМА 2. Типы переменных. Простые числовые операции и функции
Операторы ввода-вывода данных.
- Паскале используется несколько типов представления числовых значений, на начальном этапе будут рассмотрены лишь некоторые из них:
integer – целые числа в интервале от -2147483648 до 2147483647
real – вещественные (реальные) – целые и дробные положительные и отрицательные числа
Описания констант в декларативной части производится перед переменными, и предусматривают определенную форму записи чисел (дополнительно тип константы не оговаривается): если константа записана с точкой, тип константы считается real. При записи значения константы используется знак равенства.
Пример описания констант:
const
c1=3.14159265; // с1 имеет тип real
с2=2; // c2 имеет тип integer
Переменная – это вид объектов в программе, предназначенный для хранения информации во время выполнения программы. По правилам Паскаля каждая переменная должна быть объявлена, т.е. описана в декларативной части программы.
Переменная не имеет какого-либо конкретного значения до тех пор, пока компьютеру не будет дано точное предписание, поместить что-либо определенное в соответствующую ячейку памяти.
На Паскале такого рода предписание обычно выражается предложением назначения, имеющим вид:
имя_переменной:=выражение_или_значение
например: a:=25; или rt:=a+b;
Выполнение такого предложения начинается вычислением выражения, стоящего справа от символа назначения (:=). Полученное значение потом помещается в переменную (присваивается ей), указанную слева от =:
Описание переменных следует за описанием констант. В описании переменных после двоеточия указывается тип переменной:
var a,d,c : integer;
b,f : real;
- Паскале возможны следующие действия (группы операций записаны в поряд-ке приоритета):
- Операция возведения в степень (в стандартном Паскале отсутствует) – функ-ция i:=power(x,y), где i - результат, x - основание, y - степень;
- умножение ( * ), деление ( / ), деление целочисленное (div), получение остатка от целочисленного деления (mod);
- сложение ( + ), вычитание ( - ).
- пределах одной группы приоритета порядок выполнения операций, если нет скобок, определяется последовательностью записи.
Если хотя бы одна из переменных, используемых в операциях умножения, сложения, вычитания относится к типу real, результат операции будет типа real.
Результат операции деления всегда типа real. Результат операций div и mod - integer.
Пример записи математической операции:
y=(а:b+c2-d)*c
- программе на Паскале это будет выглядеть так: y:=(a/b+sqr(c)-d)*c;
Примечание. Квадрат числа sqr(c) можно (и проще!) записать как с*с
Oбратите внимание на использование знака операции присваивания :=
При проведении математических операций следует учитывать, что вещественные числа (real) представляются с некоторым приближением.
Некоторые стандартные математические функции
При использовании стандартных функций необходимо контролировать тип аргумента (возможные типы указаны в скобках).
a:=random(x) – случайное число (если аргумент не указан, то результат real – число в интервале от 0 до 1, если x целое число от 0 до 65535, то результат случайное це-лое число в интервале от 0 до х-1;
a:=abs(x) – модуль (абсолютная величина) x (real или integer);
a:=int(x) – целая часть числа x (число real, результат integer), округление не проводится, дробная часть отсекается;
a:=frac(x) – дробная часть числа x (число и результат real),
a:=round(x) – целое число, полученное в результате округления числа x по правилам математики
a:=sqr(x) – квадрат числа x (real, integer);
a:=sqrt(x) – квадратный корень из числа x (real, x>0); a:=sin(x) – синус x (x задается в радианах, real); a:=cos(x) – косинус x (x задается в радианах, real); a:=arctan(x) – арктангенс x (real);
а:=power(x,y) – степень числа
pi – число пи.
Наберите следующую программу и разберитесь в ее работе:
Вычислить сумму цифр трехзначного числа a, введенного с клавиатуры. В программе каждая цифра определяется как количество сотен, десятков и единиц с помощью арифметических операций.
program summa;
uses crt;
var a, s, d, e, o : integer;
begin
writeln('Сумма цифр трехзначного числа'); write('Введите целое трехзначное число '); readln(a);
clrscr;
{первый способ}
s:= trunc(a/100); {количество сотен}
d:= trunc((a-s*100)/10); {количество десятков}
e:=a-s*100-d*10; {количество единиц}
writeln('Сумма цифр трехзначного числа=', s+d+e);
{второй способ}
s:=a div 100; {количество сотен}
o:=a mod 100;
d:=o div 10; {количество десятков}
e:=a-s*100-d*10; {количество единиц}
writeln('Сумма цифр трехзначного числа=', s+d+e); end.
Упражнения.
Выполните задания с Begin9° по Begin30° по электронному задачнику (стр.11). Открыть его можно в режиме Помощь – Электронный задачник РТ.
Задачи для самостоятельного решения
1. Написать программу вычисления расстояния между двумя точками с координатами x1, y1, x2, y2. Использовать теорему Пифагора. Результат вывести на экран с поясняющим текстом.
- Составить программу, чтобы компьютер запросил имя пользователя и его год рождения, затем подсчитал количество лет, дней и минут, прожитых, примерно, этим человеком. Результаты вывести на экран.
- Составить программу, чтобы компьютер по закону Ома для участка цепи, запрашивая с клавиатуры значения напряжения на концах участка и его сопротивления, определял и выводил на экран значение силы тока (I=U/R).
- Составить программу для того, чтобы компьютер, используя генератор случайных чисел, записал на экране случайное число, значение которого лежит в пределах от 0 до 1.
- Составить программу для того, чтобы компьютер, используя генератор случайных чисел, записал на экране случайное число, значение которого лежит в пределах от 5 до 6.
- Составить программу для того, чтобы компьютер, используя генератор случайных чисел, записал на экране случайное число, значение которого лежит в пределах от 5 до 10.
- Составить программу для того, чтобы компьютер, используя генератор случайных чисел, записал на экране случайное число, значение которого лежит в пределах от 5 до 6 и имеет 2 знака в дробной части.
ТЕМА 3. Условный оператор (ветвление)
Условный оператор If в зависимости от значения некоторого условия выполняет либо оператор, стоящий после Then (условие выполняется), либо оператор, стоящий после Еlse (условие не выполняется).
Структура условного оператора:
If условие Then группа операторов [Else группа операторов];
Перед Else знак " ; " никогда не ставится. В квадратных скобках указана необязательная часть.
- качестве условия может быть использовано любое выражение логического типа.
Условия можно объединять с помощью Or – Или и с помощью And – И. Если условий несколько, то каждое из них необходимо заключить в скобки:
If (a>2) and (b<2) Then
Наберите и отладьте программу trеug1
Программа должна запросить три стороны треугольника и по ним определить тип треугольника. Определение типа производится сравнением сторон. После отладки проверьте ее при работе со сторонами
а) 2, 2, 2; ответ должен быть "равносторонний"
б) 4, 4, 8; ответ должен быть "равнобедренный"
в) 4, 3, 5 ответ должен быть "разносторонний".
program treug1;
uses crt;
var a,b,c:integer;
d:string;
begin
clrscr;
write('Введи три стороны треугольника ');
readln (a,b,c);
if (a=b) or (b=c) or (a=c) then d:='треугольник равнобедренный'; if (a=b) and (b=c) then d:='треугольник равносторонний';
if (a<>c) and (a<>b) and (b<>c) then d:='треугольник разносторонний'; writeln (d);
end.
Счетчики
Для подсчета любых данных, ситуаций, событий, удобно использовать счетчики. Счетчиком можно назвать расчетную строку, в которой слева и справа используется одинаковая переменная.
Например, k:=k+… или m:=m*… или d:=d-… и т.д., где вместо многоточия (…) записывается число или переменная.
Строку типа k:=k+1 можно назвать счетчиком количества. Работает она так: число, лежащее в ячейке k увеличить на 1 и снова записать в ту же ячейку.
Вот фрагмент программы, показывающий работу такого счетчика:
readln(a,b,c);
if a>0 then p:=p+1 else o:=o+1;
if b>0 then p:=p+1 else o:=o+1;
if c>0 then p:=p+1 else o:=o+1;
writeln(‘положительных чисел - ’,p, ‘ отрицательных чисел или 0 - ’,o ); так же часто используется счетчик суммы: s:=s+a
Применение счетчиков такого типа будет рассмотрено позднее, в работе циклов.
Работа с символьными переменными
- Паскаль АВС используется несколько типов символьных переменных, в этой теме будут рассмотрены два: char и string:
char: значения переменной – отдельный символ (один);
string: цепочка символов (несколько букв, символов, слов).
Например: var a:char; b:string;
Символьные переменные можно объединять (складывать): f:='ab';
d:='cd';
s:=f+d; или s:='ab'+'cd';
результатом операции будет значение переменной s, равное 'abcd'.
- работе с символьными переменными могут использоваться операции отношения:
=, <>, >, <, >=, <=, в которых проводится посимвольное сравнение кодов (номеров) символов. Если коды первых символов равны, то сравниваются коды следующих символов.
- Наберите и отладьте программу imena (определение полного имени по короткому). После отладки проверьте ее при работе с именами Саша, Коля и Витя.
program imena;
uses crt;
var ik, ip : string;
begin
clrscr;
write('Введите имя ');
readln (ik);
ip := 'Я такого не знаю';
if ik = 'Саша' then ip := 'Александр';
if ik = 'Коля' then ip := 'Николай';
if ik = 'Петя' then ip := 'Петр';
writeln (ip);
end.
- Написать программу нахождения максимальной из двух величин a и b, запрошенных с клавиатуры. Используется дополнительная переменная m, которой присваивается значение большего из чисел a и b.
program r1;
uses crt;
var a, b, m:real;
begin
writeln('Максимум двух чисел');
write('Введи первое число ');
readln(a);
write('Введи второе число ');
readln(b);
if a>=b then m:=a else m:= b;
clrscr;
writeln('a =',a,' b =',b);
writeln('max =',m);
end.
Задачи для самостоятельного решения
Составить программу, чтобы компьютер запросил имя пользователя и его год рождения, затем подсчитал возраст человека, в зависимости от возраста разработайте ботайте вариант диалога с пользователем (еще не учишься, учишься в таком-то классе (использовать формулу!), уже не учишься).
- Написать программу вычисления у в зависимости от значения х
y = 1/x при х < 0 y = 2*x2 при других х
- Написать программу вычисления у в зависимости от значения х
y = 1/ x2 при х > 0 y = x/6 при других х
- Запросить с клавиатуры координаты точки (X, Y) и горизонтального отрезка пря-мой (Xn, Xk, Yn) и определить, лежит точка на отрезке прямой или нет. Сообще-ние об этом вывести на экран.
Подсказка. Если координата Y точки не равна координате Y прямой, то НЕ ле-жит, если координата Х точки не находится в пределах между Хn начала и Хk конца прямой, то точка НЕ лежит на прямой.
- Написать программу вычисления подоходного налога по формулам:
а) при сумме менее 2500 рублей налог не взимается, б) от 2500 до 10000 руб, берется 13% от суммы,
в) при сумме более 10000 руб берется 1300 рублей плюс 15% от суммы превы-шающей 10000 рублей.
Указание: программу проверить при суммах 1000, 8000 и 12000 руб. Ответы долж-ны быть соответственно 0, 1040 и 1600 руб.
- Запросить с клавиатуры 3 стороны треугольника и по ним определить, является ли он прямоугольным, сообщение вывести на экран.
Подсказка. Для каждой стороны применить теорему Пифагора и проверить, вы-полняется ли она. Если выполняется, то треугольник является прямоугольным. Переменные должны быть целыми числовыми. Функция квадрата - sqr(x), корня квадратного - sqrt(x). Программу проверить при сторонах 3, 4, 5 - прямоуголь-ный, а 4, 5, 6 - не прямоугольный.
- Запросить радиус круга R и сторона квадрата А. Определить, поместится ли круг в квадрате. Круг поместится в квадрате, если диаметр круга меньше или равен стороне квадрата.
- Запросить радиус круга R и сторона квадрата А. Определить, поместится ли квадрат в круге. Квадрат поместится в круге, если диагональ квадрата меньше или равна диаметру окружности.
- Написать программу для определения подходящего возраста для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется соответственно как удвоенный возраст девушки минус 14. Данные для проверки работы программы задать самостоятельно.
10. Написать программу, контролирующую знание закона Ома. Обучаемый вводит формулу закона Ома в символьную переменную, которая далее сравнивается с правильным ответом, хранящимся в другой символьной переменной.
11. Написать программу вычисления значения функции у
у = x2, если -2 <= x <= 2, у = 4 в остальных случаях.
12. Задать с помощью условного оператора следующие действия:
а) меньшее из двух значений переменных вещественного типа х и у заменить 0, а в случае их равенства заменить нулями оба;
б) наибольшее их трех различных значений переменных x, y, z уменьшить на 0,3.
13. Найти сопротивление цепи из двух соединенных проводников. Сопротивления проводников и тип соединения запрашивать с клавиатуры. При последовательном соединении проводников R = R1 + R2, при параллельном соединении проводников R = R1 * R2/(R1 + R2)
Упражнения
Выполните задания с If1 по If15 по электронному задачнику (стр.20). Открыть его можно в режиме Помощь – Электронный задачник РТ
По теме: методические разработки, презентации и конспекты
Учебно-методическая разработка элективного курса "Задачи на проценты"
Данный курс предназначен для учащихся 9 -11 классов. В нем разобраны основные типы задач на проценты и способы их решения. Этот курс может оказать помощь для подготовки и сдаче ГИА и ЕГЭ....
Разработка элективного курса «Основы систем счисления».
Цель курса: научить учащихся проводить арифметические операции над двоичными числами по алгоритмам машинной арифметики....
Разработка элективного курса для 9 класса "business english"
Основы делового общения в устных и письменных формах в типичных ситуациях: знакомство, разговор по телефону, устройство на работу, деловая встреча, командировка, заказ билета и номера в гостиниц...
рабочая программа для элективных курсов по информатике "Программирование в среде LabVIEW"
содержит краткое тематическое планирование, конспекты уроков, лабораторные работы...
Элективный курс "Алгоритмизация и программирование"
Курс «Алгоритмизация и программирование» развивает алгоритмическое, операциональное мышление обучающегося. Умение разбить задачу на подзадачи, умение воспользоваться готовым алгоритмом более простой з...
Рабочая программа элективного курса "Основы языка программирования Python
Рабочая программа элективного курса "Основы языка программирования Pytho...