Средства алгоритмического языка

  • Вид работы:
    Реферат
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    38,59 Кб
  • Опубликовано:
    2015-05-31
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Средства алгоритмического языка

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ

ИНСТИТУТ ТРАНСПОРТНОЙ ТЕХНИКИ И СИСТЕМ УПРАВЛЕНИЯ

Кафедра «Электропоезда и локомотивы»








РЕФЕРАТ

по дисциплине ИНФОРМАТИКА на тему:

«Средства алгоритмического языка»




Выполнила: студентка группы ТПЭ-111

Петришина О.А.




Москва - 2014

ВВЕДЕНИЕ

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

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

Язык БЕЙСИК, предназначенный для обучения программированию и получивший широкое распространение в виде различных диалектов, прежде всего, как язык для домашних микрокомпьютеров.

Бейсик (BASIC - сокращение от англ. Beginner's All-purpose Symbolic Instruction Code - универсальный код символических инструкций для начинающих; англ. basic - основной, базовый) - семейство высокоуровневых языков программирования. Был разработан в 1963 профессорами Дартмутского колледжа Томасом Куртцом (Thomas E. Kurtz, 1928-) и Джоном Кемени (John G. Kemeny, 1926-1993).

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

Несмотря на то, что язык уже использовался на нескольких миникомпьютерах, его настоящее распространение началось с его появления на микрокомпьютере Altair 8800. Многие языки программирования были слишком большими чтобы поместиться в небольшую память, которую пользователи таких машин могли себе позволить. Для машин с таким медленным носителем как бумажная лента (позднее - аудиокассета) и без подходящего текстового редактора такой небольшой язык как Бейсик был отличной находкой.

1. СРЕДСТВА АЛГОРИТМИЧЕСКОГО ЯЗЫКА БЭЙСИК

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

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

Б) Оператор ввода данных (input, let)

В) Оператор вывода данных (print)

Г) Операторы вычислений (+,-,/,*)

Д) Оператор проверки условия (if then else)

Е) Оператор повторяющихся вычислений (for-next, while-wend)

Ж) Оператор для образования массивов данных (dim)

З) Оператор создания файлов

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

И) Оператор графического изображения результатов (screen)

Й) Оператор средства ввода комментариев в текст программы

1.1     КОММЕНТАРИИ

Алгоритмический язык- это искусственный язык, предназначенный для записей алгоритмов

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

Существует три типа алгоритмов:

1) Линейный

Пример: Определить сумму двух чисел

rem primer 1=2=2=a+b«c»; c

Блок-схема


2) Разветвленный

Пример: Найти значение переменной

Y=   x^2 при x<=0

    SQR(x) при x>0

rem primer 2«x»; xx<=0 then y=x^2y= SQR(x)«y»; y

Блок-схема

) Циклический

Пример: Найти сумму числового ряда 1, 2, 3, 4, 5

rem primer 3=0i=1 to 5=s+ii«s=»; s


Любой алгоритм должен содержать 3 основных действия !

1-      Ввод исходных данных

2-      Постановку и решение задачи

-        Вывод результата

.2 ВВОД ИСХОДНЫХ ДАННЫХ (разные способы)

) Непосредственное присваивание: осуществляется с помощью оператора LET:

let/имя переменной/=/присваиваемое значение/

Для среды TB указание команды LET необязательно и его можно опустить.

Использование оператора присваивания (let a=3.84)- этот способ в основном применяется при программирование для ввода небольших чисел. (pi=3,1415)

Пример.

Команда программы                Результат

a=10                              Переменной a присвоено значение 10

tok=0                             Переменной tok присвоено значение 0

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

input/имя переменной/

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

Правило записи:

input «ввести a, b, c» ;a, b, c

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

Пример: ввод данных с помощью «INPUT»:

3) Присваивание значения для большого количества переменных осуществляется с помощью пары операторов READ-DATA(«образование блока данных»):

Правило записи:

read /имена переменных/

data /значение переменных/

Количество значений переменных должно соответствовать количеству переменных или быть больше ( т.е. на 10 переменных должно быть не менее 10 данных). Операторы READ и DATA могут быть расположены в разных местах программы. Применение такого вида присваивания целесообразно при количестве переменных более десяти и в том случае, если они не будут изменяться при выполнении вычислений.

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

Пример: ввод данных с помощью «read-data»

rem пример использованияdatea, b, c1.2, 3, 5«a=»; a, «b=»; b, «c=»; c

Дополнение к применению « read-data»

Имеется команда для восстановления блока данных restore(восстановить данные в блоке data)

Пример: применение restore

Присвоить a, b, c числа 3.8; 16.5; 18.0 и эти числа присвоить переменным

d, k, l…a, b, c d, k, l3.8, 16.5, 18.0 «a=»; a, «b=»; b, «c=»; c :(для записи неск. операторов) print

print «d=»; d, «k=»; k, «l=»; l

1.3     ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА

Часто при выполнении расчетов необходимо выполнять те или иные действия в зависимости от условий, поставленных задачей, т.е использовать разветвленный тип алгоритма. Для этого в алгоритмическом языке BASIC существует специальный оператор- оператор условного перехода IF.

Существуют три варианта написания оператора условного перехода:

1 короткий строчный:

if /условие/ then /действие, производимое при выполнении условия/

2        длинный строчный:

if /условие/ then /действие/ else /действие 2/,

где  действие 1- действие, производимое при выполнении условия;

действие 2- действие, производимое при невыполнении условия;

3        блочный

if /условие/ then

     …/действия, производимые при выполнении условия/

else

      …/ действия, производимые при невыполнении условия /

end if

При наличии нескольких взаимоисключающих условий в блочной конструкции оператора можно применить оператора IF можно применить оператор ELSEIF и добавить блок действий соответствующего условия.

if /условие1/ then

…/действия, производимые при выполнении условия 1/

elseif /условие2/ then

…/ действия, производимые при выполнении условия 2/

else

 …/ действия, производимые при невыполнении условия /

end if

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

Пример: применение оператора IF

   X^2   при x<0

Y=  0      при x=0,

   SQR(x) при x>0

rem Короткая строчная

input «Введите x» ;x

if x<0 then y=x^2x=0 then y=0x>0 then y=sqr(x)«y=» ;yДлинная строчная

input «Введите x» ;xx<0 then y=x^2 else if x=0 then y=0 else y=sqr(x)«y=» ;yБлочная

input «Введите x» ;xx<0 then =x^2 if x=0 then =0

else =sqr(x)if«y=» ;y

1.4 ОПЕРАТОРЫ ЦИКЛИЧЕСКИХ ВЫЧИСЛЕНИЙ

Переменная цикла- это переменная которая в процессе циклических вычислений многократно изменяется. Y=f(x)

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

Реализаций алгоритмов циклических вычислений несколько .

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

y=x^2,

где x=0, 2, …8.

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

Пример:

rem Цикл через if в конце

xn=0: xk=8: dx=2                                         

x=xn                                

5 y=x^2                                                                            

 print «x=»; x, «y=»;

 x=x+dx

 if x<=xk then 5                                 

end


Алгоритмы циклических вычислений с заранее известным числом повторений реализуются с помощью оператора FOR-NEXT (цикл «До»)

for/переменная цикла = начальное значение/ to /конечное значение/ step/шаг/

    … /тело цикла /

Рассмотрим предыдущий пример нахождения функции y=x^2 с использование оператора FOR-NEXT.

В данном примере, в строке с оператором  NEXT производятся два действия: изменяется значение переменной цикла и проверяется условие превышения ею конечного значения.                           

Циклический с заранее неизвестным количеством повторений реализуется с помощью оператора WHILE-WEND:

while /условие, при котором цикл должен выполняться/

   … /тело цикла /

wend

Такой тип циклических вычислений получил название цикл «ПОКА»,

т.е.

Пример нахождения функции y=x^2 с использованием оператора WHILE-WEND

Пример:

rem Цикл через

xn=0: xk=8: dx=2                                         

x=xn                                                                                       x<=xk

 y=x^2                                                           

 print «x=»; x, «y=»; y                           

 x=x+dx                               

end

1.5 ОПИСАТЕЛЬ МАСИВОВ

Числовые массивы- совокупность числовых данных, объединенных общим смысловым назначением.

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

Для объявления массива используется оператор DIM (от английского dimension-размер)

Описание:

Размер массива- количество элементов или чисел которые входят в массив

Оперативная память

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

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

Массивы принято делить на одномерные и многомерные, в частности, двумерные, или матрицы.

ОРГАНИЗАЦИЯ ПОДПРОГРАММ-ПРОЦЕДУР

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

Применение процедур позволяет снять все ограничения на применение подпрограмм и других программ. Для этого вводятся понятия фактические и формальные переменные.

Фактические переменные- это переменные, которые используются в основной(главной) программе.

Формальные переменные -это переменные, которые используются при написание подпрограмм-процедур.

Правило записи:

call /имя процедуры/ (/имя фактических переменных/)

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

sub /имя процедуры/ (/список формальных параметров/)

  …/программа-процедура/

end sub

При передачи в процедуру массивов, в команде CALLуказывается только имя массива, а в команде SUB- объявляется имя массива и в скобках указывается размерность массива. Так при передачи двумерного массива А(5,5) в процедуру в операторе CALL необходимо указать А(), а в операторе SUB- В(2).

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

Пример. Дан массив A() , найти в нем максимум и минимум значения чисел.

rem «размер n»; nA(n)i=1 to n(i)=-50+int(100*rnd(1))max min (A(), max, min, n)«max=» ; max, «min=»; minmax_min (B(1), m, mn, k)=B(1): min=B(1)i=1 to kB(i)>m thenif B(i)<min then=B(i)ifisub

1.7 ОПЕРАТОР ПЕЧАТИ

basic программирование алгоритмический

В алгоритмическом языке BASIC для вывода полученных результатов применяется оператор PRINT в различных формах.

print /имена переменных, выводимых на экран/

Пример:

а=48.486«a=»; a

При выводе большого количества данных, в операторе PRINT целесообразно применять комментарии.

print «/комментарии/» /имена переменных, выводимых на экран/

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

print using «/комментарии и формат переменной/» , / список переменных/

Числовые значения могут выводиться в двух формах: десятичного числа с фиксированной запятой и экспоненциальной форме.

Для отображения формата числа в операторе используются специальные символы:

«-»- для знакоместа знака десятичного числа

«#»- для знакомест десятичного числа

«^»- для знакоместа показателя степени экспоненциального числа.

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

print #/номер канала/, /список выводимых переменных/

2. ОСНОВНЫЕ АЛГОРИТМЯ И ПРОГРАММЫ

.1 ЗАПОЛНЕНИЕ ЧИСЛОВОГО МАССИВА, ПЕЧАТЬ МАССИВА

Двумерные массивы задаются количеством строк и количеством столбцов. Для записи элементов массивов можно применить операторы присваивания READ-DATA или INPUT. При занесении значений элементов одномерного массива оператор присваивания ставится внутри операторов цикла с количеством шагов равных количеству элементов массива. При занесении значений элементов двумерного массива оператор присваивания ставится внутри вложенного цикла и общее количество шагов циклов должно также равняться числу элементов массива .

Пример. Заполнить одномерный массив А(10) произвольными числами.

remA(12)i=1 to 12

  input A(i)i

Пример. Заполнить массив A(5x5) произвольными числами

remB(5,5)i=1 to 5j=1 to 5B(i,j)ji1, 2, 3, 4, 5 6, 7, 8, 9, 10

data 11, 12, 13, 14, 15

data 16, 17, 18, 19, 20

end

.2 ПОИСК МАКСИМАЛЬНОГО И МИНИМАЛЬНОГО ПО МОДУЛЮ ЧИСЕЛ

Достаточно часто при решении задач с массивами чисел встречается необходимость определить максимальный и минимальные элемент массива. Для этого используется циклический алгоритм решения. Начальным условием нахождения максимума и минимума в массиве является присваивание этим переменным значения одного из элементов массива, обычно это первый элемент: А(1) или А(1,1).

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

Рассмотрим пример нахождения максимального и минимального элементов в одномерной матрице А(10), с произвольными числами.

remA(10)i=1 to 10A(i)i=A(1):min=A(1)i=1 to 10A(i)>max then max=A(i)A(i)<min then min=A(i)i «Min»; min«Max»; max

.3 ПРЕОБРАЗОВАНИЕ ОДНОМЕРНОГО МАССИВА С ПРОИЗВОЛЬНЫМ КОЛИЧЕСТВОМ ЭЛЕМЕНТОВ В ДВУМЕРНЫЙ (КВАДРАТНАЯ ИЛИ ПРЯМОУГОЛЬНАЯ МАТРИЦА)

Пример:

Дан одномерный массив с 52 элементами, создать из него квадратную матрицу.

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

dim A(52)

rem генерация чиселi=1 to 52 (i)=-50+int(rnd(1)*100) i

rem вычисление количества строк кв. матрицы

m=int(sqr(52)):print «m=»; m описание квадратной матрицы

dim A1(m,m):n=1

rem заполнение квадратной матрицы элементами из А()

for i=1 to mj=1 to m(i;j)=A(n)=n+1j i

rem «печать» матрицы А1(,)

for i=1 to mj=1 to mA(i,j) ;ji

Похожие работы на - Средства алгоритмического языка

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!