Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Рабочая программа'
Целью преподавания дисциплины «Общая теория связи» (ОТС) является изучение основных закономерностей обмена информацией на расстоянии, её обработку, э...полностью>>
'Документ'
закрепление и углубление теоретических и практических знаний по дисциплине "Организация и нормирование труда" и применение их для решения к...полностью>>
'Документ'
Рабочие документы аудитора. Информационное обеспечение аудита. Этапы проведения аудиторской проверки. Концептуальные основы и принципы аудита....полностью>>
'Закон'
Плательщиками подоходного налога с физических лиц (далее - налог) являются физические лица, признаваемые таковыми в соответствии с пунктом 6 статьи 1...полностью>>

Алгоритм и программа. Алгоритм и программа. Что такое программа? Что такое алгоритм?

Главная > Программа
Сохрани ссылку в одной из сетей:

PASCAL

Урок 1.

Алгоритм и программа.

Алгоритм и программа.

Что такое программа?

Что такое алгоритм?

С сегодняшнего дня наша главная задача – взглянуть на программу не сточки зрения пользователя ЭВМ, а с позиции программиста. Сегодня мы сделаем первый шаг к программированию.

Алгоритм – это совокупность чётко сформулированных правил для решения задач за конечное число шагов.

Теперь посмотрите внимательно на это определение. Подумайте, сталкивались ли вы когда-либо с подобным явлением – возникала ли у вас необходимость в чётко сформулированных правилах для решения какой-то задачи?

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

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

Алгоритм должен обладать некоторыми важными свойствами.

Свойства алгоритмов:

1. Точность и последовательность.

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

2. Понятность.

Алгоритм должен быть понятен его исполнителю, то есть тому, кто его исполняет. Алгоритм должен составляться на конкретного исполнителя.

3. Результативность.

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

Пример (нахождение большего из двух чисел):

Даны два числа А и В. Найти большее число.

Алгоритм:

- вычтем из первого числа второе (А-В);

- если получился положительный результат, то первое число больше второго;

- если получился отрицательный результат, то второе число больше первого.

Пусть А=67, В=43. Пусть А=-24, В=-12. Пусть А=35, В=35.

Как видно, в таком алгоритме не хватает команды: «если результат равен 0, то числа равны.

Для выполнения алгоритма как правило необходимы какие-то исходные данные: для повара – продукты, для токаря – детали.

Теперь давайте с вами пока закроем обсуждение объекта «алгоритм» и перейдём к другому нашему объекту – «программа». И сначала запишем одно из возможных определения этого понятия.

Программа – это алгоритм, записанный на языке исполнителя.

О чём нам говорит данное определение. Прежде всего, мы можем сказать, что программа – это также совокупность чётко сформулированных правил для решения задачи за конечное число шагов. Но чем она отличается от алгоритма?

Пример: приготовление пельменей – командный и программный режимы.

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

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

Компьютерные программы тоже состоят из отдельных команд. Самые простые – команды машинного языка:

- изобразить на экране точку;

- включить звук заданной высоты и громкости:

- сложить два числа и т.д.

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

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

К примеру, в нашем случае уместна была бы процедура «Окружность», которая являлась бы командой компьютеру выполнить программу рисования окружности по заданным параметрам. А какие параметры (или данные) необходимо здесь знать компьютеру? Расположение центра окружности и величина радиуса.

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

Программа ЭВМ состоит из отдельных команд. Самые простые – команды машинного языка. Из них состоят более сложные команды – процедуры.

Теперь мы можем дать новое определение слову «программа» с точки зрения программиста – человека, который создаёт программы для компьютера. Программа – это алгоритм, записанный с помощью процедур, т.е. команд, понятных и компьютеру и программисту.

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

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

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

1) Сведение сложного к простому.

2) Собственные процедуры.

3) Ветвления.

Урок 2.

Язык программирования Pascal.

Язык программирования Pascal.

Паскаль (Pascal) – алгоритмический язык программирования высокого уровня.

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

Алфавит языка Pascal:

1. Буквы латинского алфавита.

2. Цифры от 0 до 9.

3. Специальные символы:+ - * / _ ) ( : ; ‘ и др.

4. Буквы русского алфавита.

Структура программы (на языке Паскаль):

PROGRAM n; заголовок

VAR a1;...;a2; раздел описания

BEGIN

p1;...;p2 раздел операторов

END.

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

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

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

Операторы в программе отделяются друг от друга символом «;».

Оператор вывода WRITE.

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

«WRITE» с английского «пиши».

Общий вид:

1. WRITE(параметр)

2. WRITELN(параметр)

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

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

Примеры:

WRITE(2005) 2005

WRITE(2*2) 4

WRITE(‘Привет’) Привет

WRITE(‘Я’,’изучаю’,’Паскаль’) ЯизучаюПаскаль

WRITE(‘12’,’5+1’,5+1,’=’,120+21) 125+16=141

При составлении программы все операторы заключаются в логические скобки BEGIN и END.

Теперь попробуем создать первую программу на языке Паскаль.

Для создания программ созданы системы программирования, которые включают в себя средство для написания программ и средство для перевода текста программы на язык машинного кода и исполнения программы.

Такая система существует и для языка Паскаль. Мы рассмотрим систему программирования Borland Pascal версии 7.0.

Запустите систему.

Составим простейшую программу:

PROGRAM PR1;

BEGIN

WRITELN(‘Дважды два – четыре’);

WRITELN(‘2*2=4’);

WRITELN(‘Это всем известно’);

WRITE(‘ в целом мире’);

END.

Урок 3.

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

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

Для обозначения исходных данных и результатов вычислений употребляются переменные. В процессе вычислений переменная может принимать разные значения. Для задания значений переменным в Паскале существует ОПЕРАТОР ПРИСВАИВАНИЯ.

Общий вид:

ИМЯ ПЕРЕМЕННОЙ := ЗНАЧЕНИЕ ПЕРЕМЕННОЙ

:= - это знак присваивания.

Имя переменной – как правило, латинская буква.

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

Пример:

a:=6 (с этого момента компьютер будет помнить, что а=6)

а:=2*3+4 (а=10)

b:=a (b=10)

y:=a+b+1 (y=21).

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

Пример:

v:=-2+10;

h:=10*v;

s:=v+h;

WRITE(s);

END.

ВНИМАНИЕ! Все переменные в выражениях должны иметь какое-то значение (числовое), иначе результат не получится.

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

VAR__имя переменной 1, имя переменной 2 … имя переменной N : тип переменной;

Пример (набрать программу):

PROGRAM_PR2;

VAR a,b,y:INTEGER;

BEGIN

a:=10;

b:=5;

y:=a+b;

WRITE(‘y=’,y)

END.

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

INTEGER(целый) – описывает переменный целого типа (не дробные). при этом значение числа должно находиться в диапазоне от -32768 до 32767.

LONGINT(длинный целый) – диапазон от -2147483648 до 2147483647.

REAL(вещественный) – описывает дробные переменные.

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

Пример (набрать программу):

PROGRAM_PR3;

VAR_k,l:INTEGER; s:REAL;

BEGIN

k:=10;

l:=4;

s:=5*k*l;

WRITELN(‘Первое значение S=’,s);

k:=15;

s:=k/l;

WRITE(‘Второе значение S=’,s)

END.

{ответы: s=200 и s=3,75}

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

Например:

Верное написание

Неверное написание

x

velichina

summa1

polnaya_summa

ж

a*b

2ab

polnaya summa

Урок 4.

Арифметические выражения.

Арифметические выражения.

Основные арифметические действия: + - * /.

Основное правило составления арифметических выражений в Паскале: в первую очередь выполняются вычисления в скобках, при этом приоритет всегда имеют действия * и /, а затем + и -.

Основные математические функции:

SQR(x) – x2

SQRT(x) -

ABS(x) -

SIN(x), COS(x)

Урок 5.

Арифметические выражения.

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

задания 1-2 из сборника «ЗадачиПаскаль.doc».

Урок 6.

Арифметические выражения.

Разбор задачи, содержащей сложные арифметические выражения.

program ar;

var a,b,c,d,e,f:real;

begin

e:=2;

c:=sqrt(cos(e-1));

d:=c/(e*e);

b:=(d+2)/e;

a:=c*(d+b);

f:=a/(b*c/(d*e));

writeln(f)

end.

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

задание 3 из сборника «ЗадачиПаскаль.doc».

Урок 7.

Арифметические выражения.

PROGRAM Arifm;

VAR k:INTEGER; x,y,z:REAL;

BEGIN

k:=2;

x:=SQR(SQR(SQR((k+1)/(k-1))));

y:=SIN(SQRT(k*k*k+1))/SQR(COS(7/(2*k)));

z:=(1+SQR(SIN(SQRT(x+1))))/COS(1.2*y-4);

WRITELN('Z=',z:3:3)

END.

Ответ: Z=5.833.

В записи десятичной дроби в Паскале дробная часть отделяется от целой не запятой, а точкой.

Для удобного отображения дробного числа на экране в оператор WRITE после имени переменной добавляют параметр, определяющий количество знаков перед запятой и после неё (например, S:3:2).

Сообщения об ошибках:

1. Сотрите точку после END.

Unexpected end of file – неожиданный конец файла.

При этом курсор как правило помещается в то место, где обнаружена ошибка.

2. Сотрите ; после любого из операторов.

“;” expected – ждал точку с запятой.

3. Вместо WRITELN напишите WITELN.

Unknown identifier – неизвестное имя.

Урок 8.

Арифметические выражения.

Контрольная работа:

Задания из файла «Паскаль Арифметика 1.doc».

Урок 9.

Оператор ввода READ.

Оператор ввода READ.

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

Общий вид:

1. READ(список переменных);

2. READLN(список переменных);

Различие между этими двумя формами то же, что и в операторе WRITE.

Число переменных в списке может быть любым. Если переменных несколько, то они разделяются запятыми. При вводе переменных с клавиатуры после каждого значения необходимо нажимать клавишу ENTER.

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

PROGRAM RD;

VAR a,b,s:REAL;

BEGIN

WRITELN(‘Введите значения переменных a и b’);

READLN(a,b);

s:=a+b;

WRITELN(‘S=’,s:3:0)

END.

Добавив в программу оператор READLN без списка переменных в скобках, мы тем самым прекратим выполнение программы до нажатия клавиши ENTER. Т.е. компьютер будет ждать от нас ввода переменных и нажатия ENTER, но так как переменных вводить не надо, то нужно только нажать ENTER.

PROGRAM RD;

VAR a,b,s:REAL;

BEGIN

WRITELN(‘Введите значения переменных a и b’);

READLN(a,b);

s:=a+b;

WRITELN(‘S=’,s:3:0);

READLN

END.

Рассмотрим такой пример: Составить программу вычисления площади окружности радиуса R (значение радиуса пользователь вводит с клавиатуры).

PROGRAM Sokr;

VAR r,s:REAL;

BEGIN

WRITELN('Введите значение радиуса');

READLN(r);

s:=3.14*SQR(r);

WRITELN('Площадь окружности равна ',s:3:1);

READLN

END.

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

задание 4 из сборника «ЗадачиПаскаль.doc».

Урок 10.

Оператор ввода.

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

задания 5-7 из сборника «ЗадачиПаскаль.doc».

Урок 11.

Строковые переменные.

Строковые переменные.

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

Пример:

PROGRAM Stroka;

VAR a:STRING;

BEGIN

WRITELN(‘Введите слово’);

READLN(a);

WRITELN(‘Вы ввели слово ‘,a);

READLN

END.

Пример 2.

Составить программу, ведущую диалог с пользователем:

Компьютер: Привет! Как тебя зовут?

Пользователь: Вася

Компьютер: Очень приятно, Вася! А сколько тебе лет?

Пользователь: 15

Компьютер: Ого! Целых 15 лет! Ты уже совсем взрослый!

PROGRAM DIALOG;

VAR imya:STRING; vozrast:INTEGER;

BEGIN

WRITELN(‘Привет! Как тебя зовут?’);

READLN(imya);

WRITELN(‘Очень приятно, ‘,imya,’! А сколько тебе лет?’);

READLN(vozrast);

WRITELN(‘Ого! Целых ‘,vozrast,’ лет! Ты уже совсем взрослый!’);

READLN

END.

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

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

Решение:

PROGRAM cub;

VAR x,kor,kw,kub:REAL;

BEGIN

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

READLN(x);

kor:=SQRT(X);

kw:=SQR(X);

kub:=x*x*x;

WRITELN('Корень числа равен ',kor:5:1,', квадрат числа равен ',kw:5:1,', куб равен ',kub:5:1);

READLN

END.

Урок 12.

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

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

Предположим, нам необходимо составить программу, которая перемножала бы два числа, определяла, больше или меньше это произведение, чем 2000, и выводила сообщение на экран («Произведение большое» или «Произведение маленькое»).

Составим блок-схему алгоритма решения этой задачи:

Данный алгоритм имеет ветвление.

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

IF условие THEN оператор1 ELSE оператор2;

Например:

IF a>b THEN x:=a-b ELSE x:=a+b;

(если a>b тогда x=a-b иначе x=a+b).

Вернёмся к нашей задаче. Программа для её решения будет выглядеть так:

PROGRAM Uslov;

VAR a1,a2,y: REAL;

BEGIN

WRITELN(‘Введите первое число’);

READLN(a1);

WRITELN(‘Введите второе число’);

READLN(a2);

y:=a1*a2;

IF y>2000 THEN

WRITELN(‘Произведение большое’)

ELSE

WRITELN(‘Произведение маленькое’);

READLN

END.

Пример: составить программу, подсчитывающую и выводящую на экран значение переменной D, если известно, что ; учесть, что если a-1=0, то данная задача не решаема.

PROGRAM Delenie;

VAR a,b,d: REAL;

BEGIN

READLN(a,b);

IF a=1 THEN

WRITELN(‘Решений нет’)

ELSE

d:=a*b*b/(a-1);

WRITELN(‘D=’,d:3:2);

READLN

END.

Рассмотрим ещё раз схему: IF условие THEN оператор1 ELSE оператор2;

Под условием понимают два арифметических выражения, разделённых знаком сравнения.

Знаки сравнения:

Математика

>

<

=

Паскаль

>

<

=

>=

<=

< >

Условный оператор в некоторых случаях пишут в краткой форме:

IF условие THEN оператор;

Например:

s:=6;

IF s<0 THEN s:=s+10;

s:=s+1;

WRITELN(s);

Данный фрагмент программы выведет на экран 7, а не 16. Однако, если s:=-6, тогда будет s равно 5 (т.к. условие выполнится).

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

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

задание 9 из сборника «ЗадачиПаскаль.doc».



Скачать документ

Похожие документы:

  1. Программа по дисциплине «инженер программист»

    Программа
    3.Типовая структура и содержание базовых комплектов эксплуатационных документов на программы и данные для пользователей программных средств информационных систем.
  2. Программа-минимум кандидатского экзамена по специальности 13. 00. 02 «Теория и методика обучения и воспитания (информатика)» по педагогическим наукам (1)

    Программа-минимум
    Экзамен кандидатского минимума по специальности 13.00.02 –Теория и методика обучения и воспитания (информатика) является традиционной формой аттестации специальной и методической подготовки аспирантов и соискателей вуза, их научно-исследовательской
  3. Программа-минимум кандидатского экзамена по специальности 13. 00. 02 «Теория и методика обучения и воспитания (информатика)» по педагогическим наукам (2)

    Программа-минимум
    Экзамен кандидатского минимума по специальности 13.00.02 –Теория и методика обучения и воспитания (информатика) является традиционной формой аттестации специальной и методической подготовки аспирантов и соискателей вуза, их научно-исследовательской
  4. Программа С. И. Львовой. 2008 г. Учебники: С. И. Львова, В. В. Львов. Русский язык. 8 класс. 2008 г в 2-х частях уроки углублённого изучения предмета

    Урок
    3-4 Ответы на фронтальные вопросы по теме, составление плана, аргументация тезиса – стр. 4 Тире между подлежащим и сказуемым, Знаки препинания перед КАК Знаки препинания при обособленных членах Составление сложного плана А.
  5. Программа вступительных испытаний в магистратуру по направлению 010200. 68 Математика. Прикладная математика «Математический анализ»

    Программа
    Предел числовой последовательности. Основные свойства: единственность предела; ограниченность сходящейся последовательности; сходимость подпоследовательности сходящейся последовательности.
  6. Программа выставки ярмарки «Книги России»

    Программа
    13.00 – 14.00* На Детской площадке – церемония открытия кафе «Очень голодная гусеница». Гостеприимные хозяйки кафе прочтут малышам сказку Эрика Карла, поиграют с ними в чудесное превращение гусеницы в бабочку и помогут создать настоящие

Другие похожие документы..