Андрей Александрович Тюгашев - Основы программирования. Часть I
Название: | Основы программирования. Часть I | |
Автор: | Андрей Александрович Тюгашев | |
Жанр: | Учебники и пособия: прочее, Учебники и самоучители по компьютеру, Программирование: прочее | |
Изадано в серии: | неизвестно | |
Издательство: | Университет ИТМО | |
Год издания: | 2016 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Основы программирования. Часть I"
Учебное пособие содержит теоретический материал и лабораторный практикум для изучения дисциплины «Основы программирования». Представлен панорамный взгляд на предметную область, с представлением не только традиционной императивной, но и функциональной, и логической парадигм программирования, исторической ретроспективы и связи с другими областями информатики. Приводится сравнение программирования на языках высокого и низкого уровней (ассемблер). Несмотря на обзорный характер, после прочтения и прохождения входящего в книгу лабораторного практикума студент будет способен писать программы средней сложности на языках С/С++. Книга содержит и специальные главы, посвященные жизненному циклу программных средств современной ИТ-индустрии, проблеме ошибок в программах и методах верификации программного обеспечения, стилю программирования. Учебное пособие адресовано студентам, обучающимся в ИТМО на кафедре КОТ по направлению 09.03.02 «Информационные системы и технологии»; преподавателям, ведущим теоретические и лабораторные занятия по курсу «Основы программирования». В то же время издание может представлять интерес для школьников, студентов средних специальных заведений и широкого круга читателей, заинтересованных в освоении основ программирования. Рекомендовано к печати Ученым советом факультета КТиУ 08.12.2015 г., протокол №10.
Читаем онлайн "Основы программирования. Часть I". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (35) »
Язык ассемблера (автокод) .......................................................................... 122
4
Сумма нечетных на ассемблере ............................................................... 135
Макросы в ассемблере .............................................................................. 139
Введение в объектно-ориентированное программирование на примере С++............. 142
Достоинства и недостатки ООП .................................................................... 157
Список литературы ......................................................................................... 159
5
Введение
Данное пособие — не учебник по одному из популярных языков
программирования. Прочитав его, Вы не станете профессионалом в C# или
Java, использующим полученные навыки для поиска наиболее выгодных
предложений на рынке труда. Книга не предназначена также для обучения
методологии программирования на уровне, превышающем начальный. В
ней нет описаний методов написания эффективных алгоритмов,
построения пользовательских интерфейсов, доступа к базам данных и пр.,
хотя косвенно эти темы в ней освещаются. Цель – освещение базовых
принципов современного программирования, с примерами на языках Си и
С++ и небольшим введением в функциональное (Лисп), логическое
(Пролог) и визуальное программирование.
В настоящее время насчитывается около восьми
программирования, причем одни не похожи на другие.
тысяч
языков
Во введении можно долго рассуждать о об исторической ретроспективе
предмета, о его связи со смежными дисциплинами, значимости для жизни
современного общества и т. д. Все эти аспекты важны, но, как
представляется автору, в самом начале лучше погрузить читателя в суть
того, что ему предстоит изучать. Получить представление о предмете
может помочь набор примеров — семантически эквивалентных программ
(подробнее о том, что такое синтаксис и семантика, будет рассказано
далее), которые делают одно и то же, будучи исполненными на ЭВМ,
оснащенной соответствующими средствами. Выглядят программы на этих
языках по-разному. Следуя примеру Лоуренса Теслера [1, стр. 76],
используем для иллюстрации не банальный пример «Здравствуй, мир!», а
программу,
имеющую
(условно)
прикладное
значение —
подсчитывающую сумму нечетных чисел, входящих в последовательность
целых чисел. Итак, перейдем к примерам.
Программа на языке BASIC:
10 DIM T(100)
20 INPUT N
30 FOR I=1 TO N
40 INPUT T(I)
50 NEXT I
60 GOSUB 110
70 PRINT "СУММА НЕЧЕТНЫХ=" S
80 GOTO 200
110 REM подпрограмма
120 S=0
130 FOR I=1 TO N
6
140 IF NOT ODD(T(I)) THEN GOTO 160
150 S=S+T(I)
160 NEXT I
170 RETURN
200 END
Программа на языке COBOL:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUMERIC-VARIABLES USAGE IS COMPUTATIONAL.
02 NUMBERS PICTURE 9999 OCCURS 100 TIMES INDEXED BY I.
02 N PICTURE 999.
02 SUM PICTURE 99999.
02 HALFC PICTURE 9999.
02 MODC PICTURE 9.
PROCEDURE DIVISION.
EXAMPLE
MOVE
MOVE
MOVE
MOVE
23 TO NUMBERS (1)
34 TO NUMBERS (2)
7 TO NUMBERS (3)
9 TO NUMBERS (4)
MOVE 11 TO NUMBERS (5)
MOVE 5 TO N
PERFORM SUMNECH.
SUMNECH
MOVE 0 TO SUM
PERFORM ANALIS-1 VARYING I FROM 1 BY 1 UNTIL I>N
ANALIS-1
DIVIDE 2 INTO NUMBERS (I) GIVING HALFC REMAINDER MODC
IF MODC IS EQUAL TO 1 ADD NUMBERS(I) TO SUM.
Программа на языке APL:
∇ СУМ←СУМНЕЧЕТ ЧИСЛА
∇ СУМ←+(2|ЧИСЛА)/ЧИСЛА
вызов: СУМНЕЧЕТ 2 3 3 4 7 9
7
Программа на языке Форт:
: СУМНЕЧЕТ
0 SWAP 0
DO
SWAP DUP 2 MOD
IF +
ELSE DROP
THEN
LOOP
Вызов: 2 3 3 4 7 9 СУМНЕЧЕТ
Программа на языке Лисп:
(DEFUN СУМНЕЧЕТ(ЧИСЛА)
(COND
((NULL ЧИСЛА) 0)
((ODD (CAR ЧИСЛА)) (+ (CAR ЧИСЛА)(СУМНЕЧЕТ(CDR ЧИСЛА))))
(T (СУМНЕЧЕТ (CDR ЧИСЛА))))))
Программа на языке ассемблера микропроцессора Motorola 68000:
СУМНЕЧЕТ MOVE.L
(A7)+,A2 Адрес возврата из стека в A2
MOVE.L
(A7)+,A1 Адрес первого числа => A1
MOVE.W
(A7)+,D1 Заслать n в D1
CLR.W D2
Обнулить D2
JMP
СЧЕТЧИК Перейти в конец цикла n=0?
ЦИКЛ
BTST
0,1(A1) Если число по адресу А1 четное…
BEQ.S СЛЕД
…перейти к метке СЛЕД
ADD.W (A1),D2 …иначе прибавить число к D2
СЛЕД
ADDQ.W
#2,A1 Взять в А1 адрес следующего числа
СЧЕТЧИК DBF
D1,ЦИКЛ Уменьшить D1,пока не -1 => на ЦИКЛ
MOVE.W
D2,-(A7) Занести сумму нечетных в стек
JMP
(A2)
Перейти по адресу возврата
Программа на языке Пролог:
sumnech([X|Xs],S):-odd(X),sumnech(Xs,S1),S is S1+X.
sumnech([X|Xs],S):-sumnech(Xs,S),\+ odd(X).
sumnech([],0).
odd(X):-integer(X),X rem 2 =:= 1.
8
Программа на визуальном
разработки HiAsm (рис. 1).
языке
программирования
российской
Рис. 1
Автор надеется: читатель не без интереса просмотрел приведенные
программы и обратил внимание на то, что они заметно различаются по
длине, стилю и внешнему виду вообще…
Целью настоящей книги является дать читателю представление о
«ландшафте» предметной области, относящейся к программированию
ЭВМ, описать --">
- 1
- 2
- 3
- 4
- . . .
- последняя (35) »
Книги схожие с «Основы программирования. Часть I» по жанру, серии, автору или названию:
Александр Николаевич Варгин - Как решать задачи по физике, и почему их надо решать. Часть 1. Механика Ньютона Жанр: Физика Год издания: 2009 |
Коллектив авторов - Лекции по математике для физико-математических школ. Часть 2 Жанр: Математика Год издания: 2008 |
Георгий Витольдович Войткевич, Владимир Александрович Вронский - Основы учения о биосфере Жанр: Учебники и пособия: прочее Год издания: 1989 |
Коллектив авторов - История этических учений Жанр: Учебники и пособия: прочее Год издания: 2003 |